From af7fb590e267eb74efdf62ecceb980c1ce7f3eb8 Mon Sep 17 00:00:00 2001 From: jean-claude Date: Mon, 21 Sep 2015 09:40:03 +0200 Subject: [PATCH] A directory for the extended version have been added --- mpi-energy2-extension/.DS_Store | Bin 0 -> 6148 bytes mpi-energy2-extension/Heter_paper.dvi.gz | Bin 0 -> 22121 bytes mpi-energy2-extension/Heter_paper.pdf.gz | Bin 0 -> 333621 bytes mpi-energy2-extension/Heter_paper.tex | 730 +++ mpi-energy2-extension/IEEEabrv.bib | 447 ++ mpi-energy2-extension/IEEEtran.bst | 2417 +++++++++ mpi-energy2-extension/IEEEtran.cls | 4733 +++++++++++++++++ mpi-energy2-extension/IEEEtran/.gitignore | 12 + mpi-energy2-extension/IEEEtran/IEEEabrv.bib | 447 ++ .../IEEEtran/IEEEexample.bib | 1190 +++++ mpi-energy2-extension/IEEEtran/IEEEfull.bib | 419 ++ mpi-energy2-extension/IEEEtran/IEEEtran.bst | 2417 +++++++++ mpi-energy2-extension/IEEEtran/IEEEtran.cls | 4733 +++++++++++++++++ mpi-energy2-extension/IEEEtran/IEEEtranS.bst | 2607 +++++++++ .../IEEEtran/IEEEtran_HOWTO.pdf | Bin 0 -> 705216 bytes .../IEEEtran/IEEEtran_bst_HOWTO.pdf | Bin 0 -> 305669 bytes mpi-energy2-extension/IEEEtran/README | 144 + mpi-energy2-extension/IEEEtran/bare_adv.tex | 1100 ++++ mpi-energy2-extension/IEEEtran/bare_conf.tex | 601 +++ mpi-energy2-extension/IEEEtran/bare_jrnl.tex | 745 +++ .../IEEEtran/bare_jrnl_compsoc.tex | 844 +++ mpi-energy2-extension/IEEEtran/changelog.txt | 762 +++ .../edas.paper-1570085255.pdf.gz | Bin 0 -> 308692 bytes mpi-energy2-extension/fig/commtasks.pdf | Bin 0 -> 12588 bytes mpi-energy2-extension/fig/dist.eps | 949 ++++ mpi-energy2-extension/fig/dist_mc.eps | 923 ++++ mpi-energy2-extension/fig/dist_pow.eps | 906 ++++ mpi-energy2-extension/fig/edp_dist.eps | 975 ++++ mpi-energy2-extension/fig/edp_eng.eps | 931 ++++ mpi-energy2-extension/fig/edp_per.eps | 897 ++++ mpi-energy2-extension/fig/eng_con.eps | 1015 ++++ mpi-energy2-extension/fig/eng_pow.eps | 932 ++++ mpi-energy2-extension/fig/eng_s.eps | 949 ++++ mpi-energy2-extension/fig/eng_s_mc.eps | 923 ++++ mpi-energy2-extension/fig/grid5000.pdf | Bin 0 -> 29146 bytes .../fig/heter-eps-converted-to.pdf | Bin 0 -> 7119 bytes mpi-energy2-extension/fig/heter.eps | 689 +++ mpi-energy2-extension/fig/homo.pdf | Bin 0 -> 6975 bytes mpi-energy2-extension/fig/init_freq.pdf | Bin 0 -> 71016 bytes mpi-energy2-extension/fig/per_d.eps | 897 ++++ mpi-energy2-extension/fig/per_d_mc.eps | 879 +++ mpi-energy2-extension/fig/per_pow.eps | 828 +++ .../fig/power_consumption.pdf | Bin 0 -> 32395 bytes mpi-energy2-extension/fig/three_scenarios.pdf | Bin 0 -> 14475 bytes mpi-energy2-extension/fig/time.eps | 989 ++++ mpi-energy2-extension/my_reference.bib | 830 +++ 46 files changed, 38860 insertions(+) create mode 100644 mpi-energy2-extension/.DS_Store create mode 100644 mpi-energy2-extension/Heter_paper.dvi.gz create mode 100644 mpi-energy2-extension/Heter_paper.pdf.gz create mode 100644 mpi-energy2-extension/Heter_paper.tex create mode 100644 mpi-energy2-extension/IEEEabrv.bib create mode 100644 mpi-energy2-extension/IEEEtran.bst create mode 100644 mpi-energy2-extension/IEEEtran.cls create mode 100644 mpi-energy2-extension/IEEEtran/.gitignore create mode 100644 mpi-energy2-extension/IEEEtran/IEEEabrv.bib create mode 100644 mpi-energy2-extension/IEEEtran/IEEEexample.bib create mode 100644 mpi-energy2-extension/IEEEtran/IEEEfull.bib create mode 100644 mpi-energy2-extension/IEEEtran/IEEEtran.bst create mode 100644 mpi-energy2-extension/IEEEtran/IEEEtran.cls create mode 100644 mpi-energy2-extension/IEEEtran/IEEEtranS.bst create mode 100644 mpi-energy2-extension/IEEEtran/IEEEtran_HOWTO.pdf create mode 100644 mpi-energy2-extension/IEEEtran/IEEEtran_bst_HOWTO.pdf create mode 100644 mpi-energy2-extension/IEEEtran/README create mode 100644 mpi-energy2-extension/IEEEtran/bare_adv.tex create mode 100644 mpi-energy2-extension/IEEEtran/bare_conf.tex create mode 100644 mpi-energy2-extension/IEEEtran/bare_jrnl.tex create mode 100644 mpi-energy2-extension/IEEEtran/bare_jrnl_compsoc.tex create mode 100644 mpi-energy2-extension/IEEEtran/changelog.txt create mode 100644 mpi-energy2-extension/edas.paper-1570085255.pdf.gz create mode 100644 mpi-energy2-extension/fig/commtasks.pdf create mode 100644 mpi-energy2-extension/fig/dist.eps create mode 100644 mpi-energy2-extension/fig/dist_mc.eps create mode 100644 mpi-energy2-extension/fig/dist_pow.eps create mode 100644 mpi-energy2-extension/fig/edp_dist.eps create mode 100644 mpi-energy2-extension/fig/edp_eng.eps create mode 100644 mpi-energy2-extension/fig/edp_per.eps create mode 100644 mpi-energy2-extension/fig/eng_con.eps create mode 100644 mpi-energy2-extension/fig/eng_pow.eps create mode 100644 mpi-energy2-extension/fig/eng_s.eps create mode 100644 mpi-energy2-extension/fig/eng_s_mc.eps create mode 100644 mpi-energy2-extension/fig/grid5000.pdf create mode 100644 mpi-energy2-extension/fig/heter-eps-converted-to.pdf create mode 100644 mpi-energy2-extension/fig/heter.eps create mode 100644 mpi-energy2-extension/fig/homo.pdf create mode 100644 mpi-energy2-extension/fig/init_freq.pdf create mode 100644 mpi-energy2-extension/fig/per_d.eps create mode 100644 mpi-energy2-extension/fig/per_d_mc.eps create mode 100644 mpi-energy2-extension/fig/per_pow.eps create mode 100644 mpi-energy2-extension/fig/power_consumption.pdf create mode 100644 mpi-energy2-extension/fig/three_scenarios.pdf create mode 100644 mpi-energy2-extension/fig/time.eps create mode 100644 mpi-energy2-extension/my_reference.bib diff --git a/mpi-energy2-extension/.DS_Store b/mpi-energy2-extension/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..39a930789452051f1aa4b83c8e653fc84d4aa721 GIT binary patch literal 6148 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 z zd`JHbg!EoqEn}ihPPU8p?T08`xy@X0*z5H*rvU}?EDBi3$7RqsiCS)Pg!p`87?$GTqD#dl zA9g`E{7(79c~SVW2Kfvig;`ks35bIddP91=DbnWhhVpXVnOL z*BG(e77_h9d3i63*tRE0%~=0^)Fo{8D(bJWv{l%MH5x42Aqg4Z*UoKpb&vElN75 zkfloUS&IatI|kk2F^}eoC>pp`%OV&Z2?j@!#f5h;RcXYLF{da(3Zl5kiMXjb@i_@P z@eGVPiSsu?%rfH|A=!b{RW3q~9pc1F+TziI^smlzztGWfO>if;*3_b)8fHqHJnFSh zSq&hL8Lf-DRQ?5%1l~vngsN#a+@<4L% z4ZZW7BE|~NksH9Ij5i7f604HM2NEyJ5{bzKle+0@U8E@BFXBm%3`r&S5x17~z9uCX z>b^1YJN-CI%6^4>+ep388O{11BZ$%QXL`!W0&`!eUvpI$yl1LMLD95 z#Jye^jCt${MPU|V!{rwWRnIl*85butK;r9sdZi$4PeLjl&0~a@5-jiL{5(=W%8<9X zVbjgT@vg5}9r%FO#%<}i|J@L|gM5g}&c)FdXt%yFw|P;NhvVn%rt$Hjrk19w`!)FD zZHi3m=^>QqbuFg1h{J*ZJ;$ePfLtj{S=)L0OUZ^3?MvUIvq%M0$t zu{Ep>U@j3f(#HE7*UOIEaYAgYSgk*Ncm9uF(6{PYc-GwN5O0cUP-tS+v}L8~hWC*FO+iBd z>u7Txt$?Je1VtG~ZE<}t5&Sz!d%V_>tfN9KLmI%gwB1aWuJmsSFwO9#)h^246;NvI zgsnUW8Wm1jbP!ELUAGGfcJ=BNnMOt034pl4INDN{o*Bq>X|C^4A3sFjIXqlEJ}enG z-w$0k8#*NM*W_2zcZ1?(aF|ukkI%do2+s}V~HwOnd|F-VhtSs>3 z`XaYO@e+DErTdL0vtdm1x zwQE=%Jhq_mvSem|m8KZuajrE{{3WW!Jh~k~yGMR7*sy?J&803k0;rAvOGh0rq zrG7Wu$i&_b@FB4M4Zqg@9}lFNbJe2|bIV|hw=>3>5jn+_C5sE@uRv*HuRsd}-c-4< zU3n6U-pXcj;)yclkV+Ak3Qr;d+*L}@H-a`J)JPFpW`KkavJVJz;S}aAC!Lps%a8tk z4x}&&5+NpsbWxnhAp=at0`Nonpu{=&gL)jy`E~Yc{;;{(gL))P2O%8Q0+KEKFl7F) zyUU-R{UN=m!3gr;v;%vj$^v$E+(~7BonqG^gJ^b6VmKvniPa$ktO#c#oYVsDcX1q3 zc`V$RLC0jFKD;p0GvxOq_G)2{M!jJJR7s;X_H6%&j8FDzfgouDxL<{OjOd5OSTtds|1Z!oic6)5np}(39=4`u-1Z#BW8JlNb!pz9TE{8mWu!e{QEe7o2 zsP+3eq!SdM*S>PNzk zyZ^ZeSbO&104L3O9&j#@L=hifRu}IN z-^@Dk{O?tdNPa0pkzbT=iWF?dD4$$aU#HZl59945q(tMf4ziMsT>(W(2bO83NKzuj z%cZ2XwR9Q{u&OvgZ$q_g>|&(ri2X*1LI83@Hoed@xf~Kf{>*khb_VKiay-I@PH=@x zkDy+NSI-hwwkciBDDF+9wgnax_~9YXJI$l%Hs3Yk*2&im(Hl-tI0qVzznoTE;76bElU5=$ zY`}Ph^k4FgZOVjk)1KKOd9y*zOuxcMM-H3mESqX4Yd+rUw7FKo@>#GwL4C$a(JH>b zD@WgZKO|r1wr^a}buIcB{YX7UTtOGNZ{|&{&S?I6};1_cxT%ebT+!Zw)+83_j7}OEh$LtG~#ep1Ocn zm|hM)HmX&fU&gkV4z}IztX`}98@)Pul#Pw2vG8=8X8PX=-R0P7G}zjeI#F#qwPfow zB67`CbFN3Cxb9T=@Gxl`;0CoXPitrKf3kTWI7GSX+l5lr+}&@7_6~y{p8>;`S^Vew z#{gQ`Z|?w1aQng9db0qP#`sH9TNhfKv2hFK<{V8<(Xv`_he9;r+j7lI+F0*aXk@Zg zE(Z(g1UAh(5ZA-b2j4HEoJaNy(L;`%6zt(s<*)ZaK64hYy2T7}yy8 zyMJnE!Jc$HYQ5{#V`z)6Bnbt;Cs<7x+*q--q3m+#c1)xk1-A@cnBx+Pm55DwS}oHf z0E8mekT@o2n0IHvitzl)JNp zcJb34PN0~+2++h+jd^;SuHx%eacHG1VqAT@II+c2MpsA#GVOYI z_%ij|eVT6P($*#=)4Ghxv;B_#N?xR!BrbxDmgMQ}5kGv|-SrKG)99`({ho8k{Cp>? zN6Qg5(V$*U1i0vEpw6RDlEh zQ0y}`!5*3PN&4*27#3&koeErrq@YXFsGbID{Zq=-LW~AuEyqOvzUJ2U@!oIF-5reU zwLxS_`Ss!HwXxLd#j_NR_q=@4q%XnKZb+H=4Y-W@M-P(HD^3#o7%7T`w1SdsfZysx zBvTV`B#^j2`W01cCA@vC(PgNp8?)nH&!PImpc@7^18l>%6G0M;mf41h)!nhaK0gFY zOS62Z1QhYG7VC;VtG70uB^n-Y0}K3{ZPCxrB^_&$2LM{JHvAwXG@-#+v_0?{G5}cK z*W9pS(saAO42lV4Z|4AY1 zss_;nKH&iv5YehO|7pG9PuK*TBU!_QW6bDXdnoy23jk)W{jUgJHJ@n!x_E2YLK_yp za3qjrYV~k4Cib%x$d#0!*Jr760!Pv5xTm{p=^o+hfRjw-n*D1zCxi|B4pdDblaj#- zfih)>Nu#BDdApRvq*51Qn)!r<=BmevH6EPCTv!m|NDx5LR-T0K3Bed72QgCbg`RHu zaS&#VE1t~};V{ck*{dvFZB)#0>fMHyj;dDc^!$t&rBSTxVEOp)cq67Bg0S6g>v*|M zgJX-f+_T+(C(QmaXAAfmFBGiWZR1;S`T&NJHx)poS#ZNqP86fSSVJ-FL{WbZKFv># z&0qiRbQ`2B;t_%Z!oYfRo^tVHQu56~*?%d?e2orvyog6`v^0nAun7ftX=yRIXt}uJ8pO_BYiSnZ_w#-yCH)?+%)4npvr1MnVI?agPk6g1 zqZQZh#VI<<4KtV|m%dY&pafL|8pM@!(O!DDq?o;9?Mhf(y(7YYQZI_{QXA^NslS8Xk$g`a2OfgBz2Bo|cS# zLvQ5eybIC$Ws62I*j7rTN?qkfxvFiQ@pxEHcv|LOLY`^N3mH^QBZNevbg5{!eista z;Ztqc8VkD=7)1zV`hYsr=MWaVWMmU*?5?6_#1NTGYmgiq5C=EuIGPZbi(_=marH&|;1b2-jM(N9Zp@ z+xioP9l)RYKT3p^n#I5DOCQ;zu;JFID~MP z$B>tbtPDR!3k#kRhXLSv1u?mS=xshXC=`y8Ad2e1{*0?QE2SRoRPD95T42c**dMZv z2H4lkiT9#Zsk7;g2vnYUOGQFpDydO`o9_%(h->&h(ORR`9Y?wHqSp>{PoE7pdX8i| zo`@}N25>xPZo+~K5Zg87u9yoTBf(MkrZ`$Pv`$ieDgzZsc9TuZ-xi}HS4Gu)T%8#V zw=cwV-ATh1e@I_5&>JJXg8-m#A^6@Qo+g%LxIjeu)iUT z9LzkjhC3h>LHZQ#PmH48+|7?MGg692KMyvNkuo?Ju)5#YdE*}eDK8-{tlx{V4+Oz>3V=PN#p9pC zw5(2K2hF7sgtFagX(MWVEp z2o~9Hs|c88rc=p0^XEjb{0XjU3OqGuFoJPPe)eAQ-ndKpO%Aa`Yo1vhJ@M{Oc5Cru zCbN-Kg6VG&Vd+yu17?Y|D6nMT(SEFknYXSZODofv8g3<0v5$-%XaN9_bft|62MET! zwv-?N&*!Hla%yf&on-M)TpxJh?C~M4QMq5D?NXgIfHTd}CQ<<5y}Zixt{Znl)TuKV ziurTNE;RWwS+Z8x$Su4rMonh&WKqB5Q0;lj?h%`PDf|~%^#|0Z-0cW!&WNJ8Lc{Ho zGg%=QgQFOz`NKEYxU>Ze>lq>Cq1Gmi4d|3sbsd2lFynSQtD6Tt_?spkfCA|yV7bDu zh@+`fgr!Vje-R&Fu(;d=EsBXUJH?Q%aOKV{)}rpV6;Oq~*hplqe|Ysvhb2ZGG@IlO zgMYS$y4G7A#g$|nf^d$1Gr{qmF5sNvMmY~XIM1{U7+%q+=E|>CP+T0%I3E;nWSzXT ziwD}G^qZ;r$18OKy145l1*3psl$h!ItKKIE93BJ70^=cP+Ny z2et`lcB(#OA1ZcnWu#kenVmxM5|oEKgQ8C6<{uysnOp4LGbW=SOQi`CNr7Y|;LSf= z8zkrgqOk6P>zB6MU%%GxjVgw76wQ+D%iU$h8{*OcmZ-)Fu^xw7TRQB*;Ep#muqExp zTl*lo+>r0?dxH^1X`sU0EB|J=dG#GJhTcCm`;w6rWmq!4xgNu(p39AP6`Ou`Zml4(DcBV$D)_4#xIQ$z`V-ZwLEWf=BzEX z(BT>^2uH%KDmki>lsF*Zmj(CzN(Yl3s6Yh<0gbADZMuZp_Q8dL*y!XMci_CPLWE3h z8r|0rFhU_cbDdM5k6hgEwQDV??H?)Xqxjg9K&44YUkKIdo*mhdM6*TOqGkdQ_u#uv zGjsy6Ex`{?ggs3)Z?@ zv8I)4n$e_tOv7aogSwDtm*3LUD7e>tGZH?~*BZrX1qc8lCFELqRGqmxm9{X~1(diB zg3lnGm373LmzV`=bPF3?%sDrRyQk=NDmib6)Y#o4glc`D?w1|d`D#%KtKxIuL_fFJM*Wp9x4oluWqbn(V7aveFSqf9Dj<} z68qDU4B^ZFYmPyfL%^A~dPjmOYh2~-JlefZpe{z zWma%%@78a=-5{4E#xCpQ!^wjux>%aQsvufdT_ywM&=e^;gUdYwgxpT{3ngQ{Sle`_ z7y01?@7w6kW6x-ibqjCM`Fn9rHJ{ z@8D%ed_xk-o?A{8cdQ}?#vi9-GDqYWH|h22-NhdWy4pQ2o?W78J4R&G;d5u;FFE-S z&oA6hwK<&qoAV#9_n&}oJ*6wLKs#E3KVCw6dg?xYH;-S!xA2NFcFQ2R?iGG2mE=X> zl(D~_z=$u4wflfoKEkMDjqZ-#p~F4LWv?_Vn@aFtnVN69`sbyi3c$t6@J{U>^yHtK;%-jGWdILO8v&%!%umq;JjJd{v({f zwlP;@;k7y_aV3{^XFLpxzLxJed9)E=oH_$*%9oX(gzeq=eu73C9t3u=CrrB!1NKf} z!it!isz224RU_uz+ZM)Sj=3JS59CO6?I?qVL|7cCHP0ex(ZpkNa?AeN|Fs6|4QZHz z5xlXupL)Z0)QVsay^5p|`&Dr89js~F?)^JvC_7Rn?5H)&*iMsNav|7pW~p%V#zqoz z-gqf71U($}!RSwkl8`DyH@7w1{9(x{|8XsXp@Uik)i5IETQvRnkvk$+{k9Wt^zzn3 zr3Zjz_nqM!rpgf|pg|aYq@!-Qmry{hO8hvrHM21tJHjj)28t|h9Dn|rZjnHp3QYdt zY}&m1n%kdtE4I=gMd*`&m?tyQe!{J$Jjlw+_d}7y08d4z!1c=;y1a!U%2X+9YzBY> z8mxI-Vm{U91j>~yZ4CLT`tvA!J$<1#64WF;{LbG6gsfeyn{F@9u^iKrPki(ZTCm#Y zn%zLg=^{vk9FiSA=`iF}tJ;a&(i9!t4_tC~xn3T}+;+%)SvyaQMMmW!enN$*MmC#& zx?sV{jXx+wIlCCM`+5bJtxZTC^i<=bvHEb{PGN|=)|vGZk9VlG$K8k_V1KdJiRL0_ zJUz8Ti`Ka8t`wn{VX;TQ;yOMfkjhLR_{0$p&T&@rsC-hS>%qOF%XFA5+qrsich@ zOcJap7^Ouc@Z=>RMr0I;Jgs;`x81eFrB ztzeR4{bD|x`-APpFkmR7hVlpvd3(FjkZKj{xAMrZyB@^?u;cxj8qkL~kI;OY1kOGA zmW{^aUBDG4YD*itoDf4aB*o&#!7DY_Kj^#%G9S>d>nsp&U>bo~ozAzOK(D7c2|89M zkxc(sw7{4163tz9ObMtf{UOi_iE=K2_#mT4Z3)(cw}SW>g~_KFI-#}n5>{EJ6dP{0 zqvLo8e*@z5g`1I-PxCej@60>(ZY6(xt_hXbJ7`DCiHTrW!Fmw**$yz^;d*WV8@dZ{ zoBF&xA46dlDrLE#fn5S&%I$KpR5@Qwz_)nRX=;vYK(xuc$58~FU;8M1iUi_u(6M!T47xr!7u*zervQvXoD3%k;2p8k5ZHytnUhNg;$rMzt@#LKT0Aq z(ggfc-3t5ZK{LkOE_qp0+YtHpF?Q3jP85ewZ?rZSVhv;xt-qN;o}eoF?B+H0(~JDB!A{lI*j8=lqmx$cqI9IRV7Z{*N@ChREio|EwN#&5wySAL;aSuyqV83 z5bB3BY7Jy9WMRa>1B+Jvk3D90drz;&6Fww^7WaQ}LH>uYURW4eSpM5CNbXI?&Gy8b zH>e)#7;O^+`(sk2hj@u>jl3k|Mr5;7Wm1oPQqB`$BveJt*x6M(HY@^xh(sGntrVyL zu(@r1J%@z1v&--}U%!#I-rYRN*ZTwvkw{F!{XwzC;ifz~bkoO5?`J-l+1=XQuTM>T z21yO9adT%ECP|V*#AuXI3Ap(6v&C1JI~S#6Gh~xjb-uEjZ zEi}{9S-`nM;jSbFi`=6qgPul9wTL`_jp`%{TBepBkO-rm6<;rSXMLR&Sb#_!EY5)# za>}%YqfO!!I{Y?t!YY&)5?&~It8C{;GW8yGr3mtAWRH;*(140Kradh9+-n@oHV|L)LgDa;z5iCJf;cxCt zaFp$DT-~oAs*^a8EhB6>;)e^tBuCO?<&&QxQ5hDN@hkR5>d?H*%6Q87p!B=0TN{tQ zU_hGfnI0!d?Ro$MO9nS~fNDn{CgvMvWba8#m{kp{nokaAw~Q|{RjEI@Uq$_^gB}@^ z!k0e;>|win&K^cL1kA`>*_<7$PB4gpnUWbJNR9|VfO^_N0z@tyu+Kvp$v~g8y%^!d z`43||rPlVz$^nQmp*?wq>$s#T+%dwh{0pb>_=|m<0}x^4tr=3C z!gwKa7lJ7ETH`oGAGCSIN>BDEccOE=2jCCs!hMCkh(mZ|M4Z{D12GfC zpbT3YL;6tBo-jjm7MH)7yHG>(Co^)eGCs}}YNWxZ(~857$6uj;1c1o~*WCKEtZlRcQf+h(O0(hhM25EE(mdp@v3&9!xIg2TrX8foRcBj11HG(ciALi~3;(qY@g&7Q16H$1?fH`Deifx7Q zS0yihRZDt$-%cp7o|!4#fe#Lph3SjJ};of^g%KA_F^kK}6k zfAtB9_4nqvzc&NHj_ff(@DsohyR!$;Q%D757%@WJc0oD{Z9Y7s6sq6wgs=myllefL z^Ct6V`&a)yC(~)X=fAfHO1y?B6uRF-9HIz+eCHxagIBNOcfosfB6}@1783y%3wS%S_m7EZhNN35GvXdVrb6f{F`zAn|WtK30lRk z;U^J0n?)YI=^L5jG^CUWvVw6U55SmmD-s-Ja7V?8E>I}g$LNNF9hoct`wqMT03Z&T zyrco_x0LI|sF9HSJ4xLfOs3xOcqT;195bm*l--l5i%ftt$~93>85pNe94dF)NWNKa zW6>9CZ5}yF4IaP$gdQTBW`y6_oRIU2S&aOM5_LS8^*@2kruXD!br8pPPo!DBT)g_W ze4%)1(yC^;G<V3O!H2 z_97;63d6NzRch-?bd1gcSnk>g4fkz^8me}{4Om%}Yqb8p<4F8yn5Z%|)W~G!2EA7XTuq*F8BNVWFAC>{;F})uX;N43(zx7W2|tGkcT=u?$&G9gAs^ z|K-|!bjkZTD@ae2;4?A*iH1g?j+2=$EdAIj{f^jAK%q;3?Z^P=rDc~`gVv-lXxD#@ z@-_3x#nz_^v#t`!?8Q!g9+PGD_;-v}@}!}Ts_KTi8!bN8{U86;3WJiGQvp$xre|fX zw8tD%s^A%%WHb@b385ZM7eWAv3GYQaOE%I@ma|kX;#E;iV8V12_aNKf=Ul99GYFdY zJ$Kmcf`=);owHF@ee#WzhnKGnD6$b=kQ*06Gmp`shv-tn^)|&EsQ@U+~d;7u((>RWC3 z79C?B>IH{8b=;19DT4h&6E@(@*#k0{Cs{%l&8LcX z@t++DAL3x4Ztfct_Yg}+)R*uS-vm9N?YGEX&~kuoOx(k$SpgY4aSC%61u#bNa`(C0 z2EZ&ryL^-s`^^d8b-moIee{J_R}UzX-vp@F!Cr<{s;<(Lt2KL}?{+pTaIAF!LCO{f zu_4lLS%t11Wbq@pJG?*ls-S@Hl}u}-0d{IJhI>AF1KqHF4GoO{qEZPYhle8 z$dNod8)-ro?vlP^*i=LM>d|u5Ou|Q88^U6)Xn~j@nboBfXTtCgTTs_;Fg0-<^z}Hy zh5>7(39@c4J))eK6kc{<0LH996nR!(ZA!BmfI@`EEAQX*Rg19``YiUO6$DZNcB1$s zfxkt$TB`i}DfI%@g}9wG;vno#*W19edmS<|?liE`%o)`Sj~jAQ(TcAm83T3R01X(~ zUFxmGJ??A1+-zzWC?@q3-Z z0LK;Af~ZQJF&0bIgwqknF$D@bg<8hbv^&9^VmK7ROoix527*_I3+=uo8^~k7KD{`k zH4Zj&dVo7uc7|(vh{r_bA1POappOTW^Ob-W!J}w?2}MEsm5yv=TS}JiA;QS=FZbjXY*c&QJ^9lgA}f7!3m=??z-oCtQ>U6{07^E-1{Mqu-t>bc6q5cgCxLQ(PbXhFhrnGH6=H z%#wYF4W`leG?yAix<^P8MhaH!t#|X{3~Dh&=a%5NR=nPY5anj?zd{v;DzMT*8c!uS zsx^W{r!i$93kayVK@{eOdjDJylbSrLXnr0m6S9hPm%e1I@h&{E`&FXLi@2LAH2a`NVLY2S@;F~+B}osg#;0fnD4|5=`yN>^PQ27OYQ8kf3ucff8!nQ zEs@@3K;tBTYH&0I2*LUe9A95%-j>sfL_36btY1W;v_U?;WLIM1?x?Jk1J_$>b=jxr z2YfvnR1YAqF)uqvERBU@JM=LFN$i({>f|Sj;S%?|0gv9`j}MCL5A+L~Er3p%s6~C@ zT8O;ZdC`pZ9}oQM_tH|PytUmq0P3-HBh26irwg$O2%2?oSx`R_%r4>)1P!Nxc{i0a zT9%pfrMK(WdN>(gfBIA zcV(*}t)+FS3Gxjn+qqaR0qguVw6_|9!0J+95v`LNJ!z=LLS#YklX8OLHAkW(*ckMg~)!WVtM zdn5>3g}=6k;qWJ%EW0Nm9b(9 z+gUPxs51e@>M?JR#eCrl^BzB|H6|Yi^^b(4{^fF}9duZ^>?5qV-n3mz+8MMHB4=w9 zElxkOM*B@VU)lZO_hxa)iS;XwuBnpTOG3|@j=|ITOy^^s%c`StrWrG>_#3|ZTJ{?N zvQwfH=aWu1dcP|8#7|$s{u5i32FhC*3}3ngcJXSyAKxrVJa%{B2dLBNE#~W|D8v9y zK(N2N{#fdx?`C}vwU~GcH zdcF6;go1U-eEs-*Lia^jJ1)zNq}5dKTYrDU6bms7AztMYC|M=?^aZ2=ud1Zo0OH z;dV>U`>=LVVJr6KVCitTI(i4O!p@(kQ^m`>&Dnlioj{Hnn{E)M^bWFm|8rB>;|wb= z9h1p(8{UAo8V8c16Lc0Iri-WVXVm4(CsVL=FFT1{)&YpbBJ?(A76`~BpV>4T3))@V z*$QBbQPXSA=_oshv5I-!oK0;iEng>sEC+x;hm7up^2>i`X3odDNxSu@FK+IX?&`*y z=lcB1#_SUoyue!9g1we>UGS3n7bXWbfX{WikV2k|Us9enG!fNTv$)V+nEbrXvUL`_ z0dCO91{iW%JEuvn3s=vO?+$Ral4DDe0_62hV|g|jhk75AR~NvaEEnBDeZSt?Q{CX+ zXRTW(8FznD{x8=4DM+}WS=dC|wr$(CZQHhO+qP}nwr$(pZ}WV66fyJfnAsQSrlM9> zU1VeyS7hZA&edbDbE6j&a#jbgOD_zjbq5l_9wkM*hZ;))s6KfX=Vx z{LVG?0gVVu$fIw>BQ>UfPu^nNT#GvLl*Gme(kRLAv)|WW0<`hHPNlsPQtC3BX>GFv z*RV2Hlt_F&$e^TfMoqlwTY{+_URYVmD;@(pD4ylGibtu4lO;3+v0QCgAZzn|%t;fG zqNEN1jE;_87t+04`bvv2kNC2u=cA&g^UV2EWX|FUGR#`aZHXMKkNVn0Rp(fS{r(Y!nze7);hV~YO(WN2m`FHgbo`0d0UVzNL*VOn_8H9VECGZ}Ck^U_E{Z$8&t>5bs8jr8X;~sn)WOQkI ztl9Whn1l9jOV@APwZ$i-nu3#^4ppaiXFqurbAo>f^SW2RtHbNfpV6MQ{=fOH$@u?2 zT(7y4r3oto1H=E6*2}^0|D^RYF)*e^bJpM}mGej>3 zBOAm22+>y8+na%p`yoTtnpuWULq9aomspm^0k9y4;?3 z{%ZCKh#u^ju1c$jLaB%%S~VoS^XvE3Ph0b+G<8iG*7$SVZ}<0`ed}-U2u)uZm$+tM zVQTmHNndT_L+SeURrOF#Yv$h#iug^E$_MMrNd?R+@ld8nBN+E=G7x)U|Yu@W{^6q z4JJ5zB{sZ^zT~s%SGAV$%9ko?D&~GWN>oNure$h8ruu3?+opQ;idK$#2Q7_LEyl(t za{XyEMEYf<4T`p3MOXnncyumgAWLU~)e@3W_l1AE4^>qzD$R)FSZKqBRYYi0ffI`f zod;IyRIt27g>ZLE_|(~@Fg#>iR55nax!Um%`|8hnrlVkbT)4J6cReen*s7-$-AdoI z#vfZ9WsA5>G22Gf)-llbz;az?X!$P-{o@@>52z&%5CZ@W?RwnwwC}Y=O8d0&)rQ2r z7h@1iFUleHmSAJd3;#$izgiZ1npmeD)Aj@AcqvG&*G713?4F{UZG=508bP1EgC~G) z6ur6dUiz#aY~B{b6hmp40}(xx&9`p+Y{x7JrC7E&(^la8)jHVbN4qm`V{&Y*MX{p{ zt-x%#(tf$4vrL2aLMg?vm5ngQgrjWs#)K$G%!7$=KGHH3Wk# zC2-b^Esz=omjvCSfGIAVNwD9rnym#wkDxNaoB}~@bU|BWy^0SuyZ>gH6xTKAB&2Z- zXuym)6J|DNa_nAOcPq*yY*K%aE1SDEP}*?TJpJGCXNDti?gd+88Dwd8j(PjOVevx~ zm)R%QA{!nW4~(Ajeg=c=#O_2!8;&kvLzy`NP__kg2HFJMdXivOgD|tV z&F}oi0O6{xAhD8(;YBkfGPe$g@XFvkZw7HvX{LWCc-!lC$nI*pKdFtD!L< z436F}&Q9qx1dnVb?pC~XTk@MRTV(c+ zM`c?UE$Z4667S3y>97#Bo6?qsYF$-!R-kK73OyRx#!RrAd7&+61jJeiv}cxJo;kGd zPg|04nJFG0v$U*1YIXS|zC)Bxx5JhS)rwgI<02B;O%Q9}kkjxJI&>^+Mk>aTvV!P5 zgz>G2q;he^KG7L*L)(m77OL3wY}k|^u&lyjL9=0Qy^pyv;lJ+7)23L7wKm7a2xK)k zW@D|}J%$qj**iXcNXIm!IhIyp?+&Zx^$~Er0@w#|+GK0?1z|ldclf+}@{jUcf0pyP zC(Ga^)_(=c0fqSsO3kbF3wQQyBq-P7shGB44Y9KzQdN|VP=o^Fn#&;^PZ08b6Dm#> z`%E4XHMLE+2*GQWvi1d#Ty2vmcGwl*E!j$SA>3(})SJ+?=EHl~)NgZY4KfX<*fu%~ z%s`Ya`*4>SCcJ`}FL11z=0?EeUc~kbWSnl-OHrvSiS6Ly@5tX8T%&3n6;0~RjZlY3 zA8naI&0&jwHpSh>$rgVr;IHYfkSzx85UjA*4hB7dOB5hBzGjn?xW`ObL}=CqxtX^E z24dIA&EPDuFa*WUSyVI?v#kKqK>KigvSV#UpExhd%Udw0#;(fSWy@TYLtro}NJO_G zwc<3HdMf@7n80!lAh!Y17P&p$fn*LSE=kki_wUFzPEgXPs|e=WOdTYFW2{(zZ~J7Z8)yzvGE?Y$ zv1F3N9);?}*xq4`K-=GekIXw)+Q;K*DU6Mb2X@i@7~aDqp@@jERyCb5GZHha2UBbY zUPY&t+@U{UUItk~W0pfervYxk;d^3hRA8*D`owV@jnIPJ4OknWuzcVPDm4ffBqCe5 zaW8TO;T7|K$kZK*NdJP{CR?#7fanEDKfKRB{eo;yzE9cveNKI*?zWS1Wm}OfqWhZm z0|sOHCfX%wiTehFN)e&Z3mh@F$u~fjTa?SZZ8xBVBHE&c8&JwDStKn;Bw^vukLtlt z+xQI%_Bgm&-1T|&bl~6Cy;WDvW&U(jc!NV>-`KPQ{^D-4M2IR0?Te@7T#(^XgiYWT z^MBG%`6KmlguYI;VO0XN3zF0NJNob!zRs7F?e?Q~7~&7)aayboEO1z|nglo5(uG;M z&#xIEK54A7IXCGwhz*0k{I!mHu4TB~2Bi2dNUG5m@GA zp4pMMEbsnp4<@m8q-}SGgUNa2)aG8G>%lF%o_+ZT?(-$(Cw+vIhIEUP@}3!-or9@cqxVyq-O1iB^(+?*U$#$I z*(_0m&kh?Wz*s5bY(IdMhWLys{K|Na4bWowe_jzR9(&tCim z?(_NOEqD- z!V$F_90%PTcYK2W5od+G9PPS(@CqZ@csbUwUwziD9n%SipG5Q))4$e znGb7O6KUlQNcPC^3P2r7qm?B#|1+oeHvdxA>S<}Snn>wKOLs4-kj}W)YM#ZBBWEC*k z&OiJF?sFyOGkvj{mcJ!)!t2-0L(=+1#Jtz+Vq+NY6bZ`n7K$;5fT*)!p%s zIYKhwHO4oC!%1+-brwxQVMo-cN~4C;BrHwF781t9I!S~sRF}2s!DSaCaJ2ysR21Mo z#@p-^-4JW7U4mW&0hrTLI;&VRhLk7hvmq1>n1;R8p3--J1vVx;at1yARWW681~?{wjI4cuy+rkdUZf@x% zRlXzE~gA#URqF~mV*czB$|EY-jpaBOt1&K%(?%4JS-dTwr^6?Rf)_>HZ`;S_z z2SgM)KCW{2;4gcc&nc_*)YLVs$>Su;&+Qz4H}aV?#}vuTwhswKNy(y=__BMc+FV9Z z%I7=s;474oGXiXBEYBRS>=N(9C+$*wnMqYJ5PBc6Wl=2*F-b>GiRRI~!W%9IwMGjn zzQ+n=Y9wW8 z|Fz!MbIV`)8ZUVpi>IHM2&$#3tQ_O&MzQo7CRBIFySwNp6d$J?;H8yx&IJ;I?N4v| zTZ6xM)34jeN4yihksmlzxYbz_gU|Ue_IBgD&M@V>#fW0pWX|9 zz2NhIU%rLo_YFiMScz=t9p4BrKDhfuUC-KwuKfPKL9qg>$_m^I#=?EWiPAAL7p~tR z8MNV4gl;kXJ*`7_I2hSRJT*Z4d3J$ReP^RNQZ!r}!t@IoxQih$De; z^V{Hd43ZwZNqv533MLkkOwYJ(&+FhNR$@yC%t2&J!3cLkB;V-VM5Nfr%BR64aw?)l zG8mp|38zOOsdEVvnmWyvO{_j3ih$NP!;wA?Q6&ma@Op|0pUBCG=-IIOfl#Txr7aOR z!7dy$f_3IBU>?BA%3$#VB`UaaR;8B^WHjwJ(&)o@1uK&BW?H2x0^ntcXDc#kM3E3? zgtacPF}Zs9A=GY$0-T{FlQI|8XK5Q3y=%Z#?~7q8A0LgA*=zDGjlak zkUeiHZqe&Xt2Oe2z1uL>Ri+?_0ompN(-?7duK`YgO*&+{Y+cMUGAU+K<#0X+>m?W-XEyH|W5)8u_h$l~lK5OobuM z*LS34tmKqtWu)g6=0zGcr6#A|-$jI0^pb;J0If>u|Ux3MZ$_v$pXV+T*u0j5i6h~-m(0+hrl=_O)TF__lQwo+e>cA<3Xqf9DCnjb#6pXxKogQ)CL0a>#b z&`#b2zrWF}EJ7M*LmQ-lJ)!Em3<#m>pVAv-+$o;uc*zkvS6RLksaFmrqkkkwA@s9A zkg*1ly%=~7@Om&gTvu!_^(dNvo9MRlwYBfD5c)Bin~*Nd?OmGn!vdy&`8FxgC`S_V zMC1rST*(Cbd*%mMo3%J01RxAVAr*@Kf7&L6%Ys0|on3W+}OYGrbOWL$zU9H$C zOJf;RTPYwJ2~W_Vm?7Rev{I1JM6AleP(;jNuxCDFgm4L?M{kzF>R>MN3igB+>pP{5 zR1E;K_q28Gj17^diVW`%D*BANJHm-=z!!#BylYz&I6W>W z;=4#~B{gpb2g%T+P)S@2ku1|SISgnV`-hJwULX$*ENs*9pk0>6cE^?o2&i(9LGcm< zMWmAKg3sabD%fv@`@m2hKszTW+9dxN5hQg?qZL-pu<3(@SwFND#=E*>;39Gnams{| z@CXh;5`L#>z7ETnhaW;-r5HGXtW1Fpt-`FO(=||YWo994h#Vy#iO$0>Av`E(;jd6^ zn5v#oF_#H3V&7(oL=rt^Vn=jFpmmZ*U*pxbMRG@jL0L&qf!8;gUvS)9HT*U@x#x~| z6OTWIxZb;+F;!ND$zr)RH$?%zJ&DYZor$fE+>)kz{JraFKdJX($@MboU1MJ>Mfw*L zmd1!~5hyAgX{uH*orjLf03{5?owy#3akqaDo&XXm(x~sXl`4EAoKJ*ur_U9oL`nxZ zfu{)NUt+HEc`4j!ZsT)0L@9UXS_#@Iq)B33u9gak0@?2k&il%^ z;wWJkI9Bd`jL=Y^F?{J^8NAPed|9ELqlIPA-xwrDgE#%GepRo%@LTj zX5BV7lOcOn9W$}xfQ!P2e;y~e3|u>h$s($5`Swy|WI{lP8fSha0;rJMHu*t#1; z&XryFRH z;99~iMQVc-V<1&pTBxqWwl6}GAako!|5hPr7mLb{1l%AwySLxQKMO zOZ%cLO=z^_o;2ZyzW8B&qTG%r*=9GQHsKpyakTyTkgJL)31DoM#AG4IOTVETTJN^F z4m~DTE>1a4fdKL-KPCpJK<1Y3DPwvmv#^XcL$$EU9jB#F)FXO>IDq@J zd3^6Wu^ZaQ#*M~}1!(^lze?0Q6?>RB(In)eBw_|M)CgI`&d#gS%U`4gJe+p$1ZMXz zwFUeqA?hgPc@y{Em0(~)etB~qu7C770I0C~F>veX!2oxaz+;psBGtgy%;2TRD2!Qf zceZzEtF}-O7+JXl)cWxSyno##WVm=Ff5T(B{90F1^f(2gv>wBD>M|C~yBOKiiT;YV z9;yx?{CY?$6NmoJ)I|G%(E1@CVw%);_!8$$ANDSLn7w(;P0qDB^d70hU1zf+n#r+~ z^S>`R^6l<)1oD-B2$e%A#Q{Jjpn#y33}QR-y97ET=DGkvXKNH;>Sys{d(Fecrl+Bh z1iqWZ56{sc9xDPkvyATc(D{H4 zSX`^e2?U~y0{7u~P3dOwfuo#@leuo^7#0q4Z0Gb9u-k;;KX87tGu~5A+o_~N)4)t* znHd>FiKQ7qPZeMTC+XoEQrsD#Ip3e3b+78|5gWosxL`1|7MB1Aq^rUIxnLqD$>4~B zx=e;|Q4>MB2i>qMg;R4&FwY%tpa*c{b@j9JRxa^SfW&!?`?Q38`D@}^rKYf2-CY#C z2gB>7@!H++a5_Ge?{$JfbDruPd~nydT3Iv5$fS~P&*E9^)D}0h*6H;ut2*Mn%x^8?^Pj)Dp-#>0BvAi9$jNYN3A zqPQb43>hs!GC^Q`9)TR1K&)v0rU7C!$rYlc^r_+nOJt_1xNsoH&4by~Rdg}If&4UF zef0CP)E!fD(Qq|5FGpT5<6R!|o?sJWjVywT@$aQYMRUSjNl|zc6DC^GW`@rVyyzz1zmpV zqk7*NB%4${JFax$6VaYrkjSlBn{ZSZgaD_-#nOY&tJ30f8Jl4(;2^H@UCTb7#7gobX7q;{Ic%ahzZwH)*Hf>uXxE52XgaruFtQOs+LPw#WHeg zjzU=kgD0YNLts?)iSVh{Lk>>z%Br(`WVU{!+vm)RD~>G_t+pfYyfG*2{R4QU+>a;I z&rk32Twa#tJf*B5(7Vj8PQczVI&gE{RM`U*%cSJwGlC79C1jBHzX-f%Ufv27O+*^e z+r%;+1^)4uH7*s473_TNa zRo$V~6iKS5qvMUdcYubg{oQf#_l4KVD*ha)ygKR1P<^bA-|N6VKdw96H}h|v9rnS# zpMNgjXnP&If}Pl>CbIvBN^oIibtyj(<|9DdAriJ6ZG!bTW*-JWX}>+7I@t(`%D-i8 zb&`bwDYg)QH}Rk!cSm_3@M-i^KbA9=M(u!XOI(Y@ zNj!=RNdjhSRuC3uLlECb5u}rnBSOMKPdCo5u49Q0gvXjE;_A_s4N|Uz&?s*_AiFzp zJ&Zv*bWFSpX!ZWuUkC6^j*+x3^GUbIXR)afbJNB5Tax7e?6J{B6fsWni~|isZJO?62F-y=7taM;o$Ed^ixF!J>2O^@1GOdgEB8Q{K zkioT51s3G1g8xiT2MNXz?>iFf=g|f=%R%xTNJ1eVWZ*vZ9S}+>%>L*2s|cFpOu6p~ z&J{F-n)JMBf%Xoc`JaukJ~LW=(+_9!$%NeraGvX7k(ZwGqFWc#;PC{=JK-otB?r@h zI|-W1&dm^mLIy?58t?^!j`zV=5#Vnnoi)1w2JE|f)JdV}1W1V^S`LNSe!O9CrV4m` z(mnFZf)wQ>bXLGGyI36C5Oe0=2Soh z=Uc|^CDF+7FJa0LZSiZ~BY){fW9gMMlc$pa)N;Iq(N4q7nIq_MP!nu2_;t7xIX>Yt z65j4*5KRK?5zL+Eekgp`N*V_)X zpMmLQzOelG-im9k2cL_{_lz@I?9EujRnXVj^|aro)S%t53<$IBQKvHFO(E7h(Q{8^ zL>QfIg3)OYVsZ44zw8ZB6WuvlzZ@FHo!D)|Wu)G-KQQ#j&gqILjoDTx6NNzENJq!# zdSQ|v_tUxZ)4ZLL=eMA>rjh=UQQTxf9GbmG%lZnIlHr+TwIe|B}roXr2e zhqtNk=Q_i>$0cW)8t;DK>rHl4gst)Ewi3IIO(GniuEkTQFjA<@td;Peub_Mhz z`_a32Jfp*kE>?}suQl0Xuu;&`(lGB%4dD8)%q68nhU##Qs%LZ~lj3d9EfY5;7O$)* z;)va!jk~*HR#T3bN8~X&)gZO6aaMfwv#S^T8I;&!+(RWzX6WFY$Mvien-H$fmiVX9 zX?jij7vw$~FfEL$kisa5AzLos_64>m=s5}1RadOww7)qexfFlI+`O0NQE9GO_>vRW zMlq= z{kkj*=)Z9Q+yCkSCU%bhfddl%4+rptre6{bAtbRN2}xNJH(ta`c>x&1uP8Or8l&y> zy>Zx<(h2PMWSWPa*I43f*ZRDj#as+53tCm%j_i4cyznI zF|>LysERhdFJ$*>U!Kv(!n>1ryCUT*5%2o2=vH)(Zqa85cuz^_Dnkl$oM&#M^9hF4 z*-{H@|8vEr@dsXC1)^=3Tc#S4$e=|(=)en9iCJyw(y;>4`n?X-7m((UkiQ$Uz!Sry z*1+u$pvxz^Pk{G4VPd@c8tI+@KRKp+Vr0B}w*-4tUYedbFS#e?FR^D$%q}Spwa*@1 zHE!ciRA}TtKN^4@z%c@n`p-V0Xt#0E zr4~0NcI)MdjE)US>#P#X>{7RE7F#v$+GUd4Qa5kqc1?lz>_tPzo0qq}_g|0x{bo4k z=h+!{=6yb9a0L>U192;s7>$$1SFbPLbQ(Glh~5|kxfk1bhQ zn+{FJHmrfKg1r^w7tjA}_oE8@z^^%a_i?{=rwHK*%TTU`^V`?@Kh5fPVP2p@clxj3 z!-?IBZZL(cJeT+I|GxT}Uv!yQo)MMg1hK=yeO3UZBy$ZpBUQ-MDO9awgVNSX$w-U; z^7)d8CqO1?JTWpk(3yx(z5tfOOLE{w_(*2cS`fAD#HGQMcp!!r_|v<7Ej^ znTYXu>PLQw{^{P>wjhZ40PhCN9dx6}6T;Up!DQ?U61vcDj~!~L-zXOh#DN8Z!Lb&o zKY$#EZT?&U+l;I?tTIdoH(K0y4m1_9t;F7miaS8+&25m@Him6bOTb&-1Zdt17GEIn z9AAiE$kwFgMBc{d3X-J+s{!#FU!;2k<>qa%>PmvZDrp5w6_7{x#rTEA8H4{qBBxZ4 zh9bqERBc#OV4@bh3fvAeJjH+D&$K@1jQ0(!j;0lYBuuMEwk*modT+!$I}q;;&=>^G zxNjmP4M%}KxD)|Qd}%X$b#KJNGg_Ttd=b2Jyl1kwewxq#vK$HRi|q^Y4`Lmt3>bc+ zeslc-E6>^(_04|g{cycgyjy3Ycl05>7HuyaU*K~f(vMj`pmt#E2frWGA9+7ee{lRJ zR2pSv)XrG8W$%vtMrec0bJ5M{(swF4MZXMRo?V`o`?LPUYZ%^$wSe6iqAUEtzUUs@ zFmQ$K1)PI?@}?P}$_0oIxb@)a!_K#Uuzdsgf$&F-8>Ak8ynhgXvwypPV+J22GNFyl zl?)#n2+a^YyPol#VepJ+{u%HY!rE|Mn@Mj#wS~e0sd{g4A9_al#xpyQcVJ9(Dmb;9 z)Sn{9ikbm zUcj6KZSo7;oX#;#Yk=**s~6VJ2>P&DGPz@* zgIW8g%%1PuOkc>pfuuRU6SsGivKdI88NRV<2*P)iCY_y_+Y9#_up8!HRF&wh+hysK#eBx zS+co=@(oQk5X&Ix0mHacJfMp?H&8=@xf`&(;aysu$-V%hJ0d^N- zLVE`WzY%FCvTfA8kWiBO#d;@1vlo!FBN<`0-VmCDJ9SM^)gmOr4YKD8awLGd4L~c_ zkTX3%wHyR0biz3T`z6_j^-5+onY3yaj$VjhJ5EaTPR4W|Or*w=k_Bh5m3$U+t zY=KymjAB>tkc+YgVADPfP`I|CODy8pt$;i9d39gDUUSx5L@T+3;h7*T7a;9}i zLb-VuueOCltA}+Bc+$e;c0n*%oFR9+nc*CuJ{tN>AV>{lCF@^+e_Ol|O0K}GwK-`t zq-b2K0fOQnIRNP_+<_(Ihq8AEDijOo$_^SXZ7Y|wI9=Za!X^N+lPVFKY?#s-KOG!<6uP}2jv+#EA zfu!+^Lv~Us_t{?yPhTZlcTbe-KhbvnJ^lVU#eOs6W(Dpgx~aCl%N(s9|3{mA2+`!K zY)xolp_tIpUW1g{=82M}nm8x9k3^;7JDl{%K`KjVw5uYYuPBebqL%HyS;6B*W)l?J zv#>}LvFY9Owe%ci{&1dG2xyRDGL8KfM-vfGIs6PQpTSfkK(zR*tXm;hlv?n4m!WwN z8zV+Z+O!IA5j9zaf!`xpqgNb}Xo&WKaE*5pF!}I|qm!;}eEw zn&+GUoNc~h4r9jSc8ns|cDI0H>)M=$N|xHKQt{R)54(W0g@UkPdvGC!n5eySn8fGr?$Yoda<{ zc8Uk_2?MbU+Nt+8!jpuP))SF`=9aG|*+?30F+Zk0k>pI6nGkpv1v(b7fEia3(gwDc zOQK?QGv#6eO+&>bY|b^vSa2Ylmvw=Vs%7c)QODR36xJFx1=@3Ot1S-5t6m^YKPjA= zoRXxVwm|V?C>d!A`n@KUhdFE1m{m_sNv+cDWgazkp2%&0rtj8rB&#l66km2fZ?S0pTB zn{>ty>r$mkDkmX#77dA(a=kH?y~kZ1fBCWZy5A7!{jBN5+&l4F-gBVr{M;1yKH|;z zylyc|XHMN8S0)!e82X&v>x~~a);-przr(ZFbQV6A_0G%xId5o3xr$VEAMQK>wWC}v zyylU5N@kol1XG_?9ZvLSMms2l%GD)Mvq*ARy5Qu3;MPg${PHZiZL_(Lu2A;f9xqU;Xlim+Qd0-x6Kyb!{29p) z&7DI(DQZKsqh3ZSq0v%Nu}tU;urkzc{|qb%oT94J>9*NSrcPSsT>siqPvOt$=xyR< zdBIAAKVuG|IwX^zbu2HhRdgsf$|I`EP{>itQJ6>=D!)*Np?Z&&B}ZilSt<{x>W(qi z2uQdb3&>jWY^YIJ&Z zUv6K0vBX=Qn8~J*S!FRek`ay3G}m&d))}s9RU?%%+?|lbfhOL|j!ia_z?(ZbIVkl) zD`(=P$&^iWY%hmS{oe#0(O-8@{)(p-?SxN<~RUNuR$YB`KvGEyUjKW}Ec+ zeVNv#jfPrV$Ke{^_quMc9d%73_ZQb#-*>z|&lconZG`KPX{3YM@$x^mkWQtLy*gb& z{R6X%?vchyn2!GUG~(nN*_c)@U$efBrA=BJ)#{^dlKvapH~a{hB)_m{XJ> z#iHIIn?!bsdWE+}|48kJ%0uK}b2QnL|G;F*Xf?NlndRIEc1nC*_QC z4xEz^$P-{BoGPFb*x8YCwZc1T?<@=h5a7jsfsC;arX3*ODAy#nNO-B>&{0boNe_xy zkYZA~k{Fki^m-6aIx0fM`epxnsjcDvns3j^$m{9hG9OzE?tYIMS}k~XyIsDY?R7e@ zKWM4({3K2PcU4Z`3!$|IO!yp6fX?f+nM`6>Dmg>^&G85R7F@!7vq?e;{uNa&P)dn+ z^w|D!JeE9`k%)XU2|4*GQVoKmP_Jl(v;v7q1>d0~6M87#IwiruicU`zhc%Cp>37U$ zyux945<{b$QiQI{^2meE8gZuy$OZ&ZDHGHxpiveVHM&rqeuW~{sZ?fC+9ORa+h9=3 zv>1dKX+q**D}2{xyW$%S_3Fiue~r^+gx-p_n+FcIXW8%1T8}fm*G2TraQ=Cg-1-9> z%3VG*6YJZn>fX!q3R7{c)PPDoK?0q6q%waC6-%^T!e~yvU}BzbiB_7THPx(c)^54g z)NTQ^dHatz3mbi>`mgPuqU@A#*?1FNX5O6Fo(s+OI_15|r1i^&Sp()S=jN!Xj^><{ zo#-5xXS8=S&%s{ZUh!|}C-N-0ovx)L(Ah^%jFE65?`DUkpaWp@Kvud!ri1vo3f^bsVa0&4?5>9=J5DFfw- z3}9sK1y9fEqE&3hGiD}r=G-=p$Ev*yv z3T@chG}@=yD}a6L4XaE9Jz2l;kGOxUEy|PSOL9<*g7*hIJ=~=s)aTb7(*I(=zpD7l z<({c@fvVe=XeI4s6$(L=#~ew|Qt?c?oirvXi8(4GD5YG8SOOn&J@Dg>m@}FWrFJ4T zZJKE5S&h6P0xICX{>IBcC=s|uCM2!CA{`Tj>9^8I?qs|=JefqkGr8RK05+QYzw7R@ zV$R=fo#_PGW-M_}*+q-tt%AV{deQvTdZ4|GKGf|9+LRF}~k- zdhOnFm*;_DSAx^a17k}HR$l1Jm&0l*XS~{Em&i8iotn2x1wr*o%@N~0%a|QuC&?$z zXPJUVo|XYws~QD&PIZwruC}aQ$=8_P3d`(oYRN%XYs`*@BhNe4dnY*;OyRZyI#qf#dnU_Ggf|Ib9t?Ar(waVtlNiqCWN$%yjL_0Y5^hLvm7HNV%T4B*IbEmM86KTE5?(rhnoa__P~o&cE2U%lXz4j>~vh#`+HYV9H7Sv)FRZkAHPE zWE*mvn?Y)u(VDGG(M{8`uAZ!z)){Y`&{C$K@8YB+ls=v^VA_y5C$eoU9@ETjSKK(z zxW7@fU9^$i$hl#MtE^knDczlfHwnpQZz8VBW+mR*{@BG_=e}RssqN(^oy|-vP?Wq` zTVaXTAv@I&i^|2kTp&v=(L~!b96OWb)tWE{tPhKJ=LbQc#2Z(PcQ(|@%1bSwRngEn zlSZX$0ib6<-_niTNZlX-U@r^WoF1j*aIFQxWD_VTH;0a3Aer)!0qUAVfWI@c*#}D` zt7L&S`XEA5WzxmWq{BM3R7f9XUp5KOV@@Ctv7sJb{S=-p%fE-=YqN8`PP)uv4Xm^N zdwT`v?^JXW`5Gx+{F+8PX3q+*?|N*$|F-$$zaQ*B{j%%!(d;N|n>KvtlE!}l_g}*F z@Khh7ZNKj-YOJuZUP~%(gU5ju=L6!`W$O+5LH@ABni4bTxur@a;S@iW>61~-rco`) zQgT+QJHZjpv{HO3t?D{~Z8B4BzfwNkS4MKe<;;}Em1d@&?qN39kF!biT@0Ga;Zn`* zbrVePwG6A_2Ow-A{$qh5D=F2u5tj>GlZ@nM?=Q1zMUGI4kS?$KNWTSUX zbF-s?)eEZL^Gq9K|FiaRuKnw2Gk$FIR!A2@qLJc1k8D-edoiv^hsb{27A zEj!AA%tzsnfj#~at^~;JNn-}+2W4zzU83%Hfp=BmFlSF})B2NGPTnzhjL$>=PtbZCJw8sX~`HJejPlogh}%OwfdEYJMNY z0iAB{4GGJii4Y(l3WjBdj+jx~bH=XDw=q#Yrqb2NYHg>_;#F+EQdg^=C-PD))9Q*wQ&w;p64{)2$G})tp848PPISb}^JWk>KF%1- z5RWPI)?wnyNXcsn*<}>ttgY;=l&NAJ71MlHWrJ|ZB$G#C+z2_>RNNF}Gw@y5dgH-1 z$A+GyNVh@14NVS}IW=@BRF*J~VNO6Oob3m6D76A{IHbbRENW*B@RtQsTNFjweKLMG zi2&=nZBXnoOiL&duUV+vT(1t}=<3acUdBl<)8XPnlt0qE)f_`|rxyErp~1ZHPBkHM+UK%kDg$?W*X?;UJ6F%Qx>dtayJ1 z!Nc&pk^O;mt(MS#mK3hI+2OQKbvnGs<_=Ze9do^{j@DH}IXMMWRCT?@ZpZuId*u49 zxI_|MUY*cxcp_Lyc4mswOrs^#Dc`9hX>kfej1=4%-Gs?fn;}Oj0~O)j)kr!3dTS*p zEE-ES>ur`FY**o@0)NdWAt%B9AIluQW@JCKrByIyLxRU(e!R)1f2w&H~ z$aY)#th#NFW#cdV4JYnB+mA!WoT$|O@tHdE`*xdK&%4$2{2!>ujDi8B&$i38VF@5V z)vgW=q3`Mr61_9@k!crlT3)$`3av=lCUqyFAyy$bv7s%JpCm&`nW4c*oymqrVXn+b zs|_6$r5^M{NCXt-`;ocXK7Xg~WBY;&Gt?q`_(;Ec{A8SeEpTHWM)(qYi9KOR381>? zmh9G!O!+xBj2bjJ17SBtDoDr(}*?#%IR7gnA)qex^zYTWDZAbS`(K)|i zPl5a6?m5^XMCs8xAirDy2BE~KJRvP(=W(>!5r$N7XCqzXvr zVyp>o0$nOJl2ze-Fq2>_P!CLZ@D%t{*PJ0#r2N8Pg*vdu_2Hd94EIDYcy&Yi#vW&U zYon7Ly-3L?<4Z7?B{$wp$WHx7dZS-cxKrq=sgL{V1*0Qi5a|)(o)(xKv09v$gKp5-!2Ii)!ima(P9NDVq6nl7Yk(G1}!97ID%92ff3LrMev+99SFo;~^@rxT+t z(G5Vc4DHbkN#1F!Q4LV86MHCztXnko2!^pPGQR;3)9YK1{1 zz0LluswplyA*?rJCTbzb3U!6B6oWX4U0V*&p`;?jVfIQIQrq}t4KZ!_B@H=4^NJdR zE+!tTA%fy#`jHG56CY_1!ErJ8|5a_#`H!@Wl?aB52~-5b#RLn*a3Rq%@;~h}dWc}S znSV4x1;pFP|7k~R`L6=(Kb=xK1BRrA)X(gosv+nz^-CMF+VLZPax?t!zpt> z9E{H9DRN{S_X-@Ka?gFCt}VazDQ$?1n;AlBLCC4)w5bLsn-n+14B11ODf}oyn<;gq z4?{j6>+ zljG5%6bNl=gAjQY>OvWH1%yN5w4k3u2}2j$Cb$8qL4NcGNO*M{#Nbzi&K0%!;FUjs z>^Qds%wgu81Sm9MIs=*v$^aHHgYpY1b4g`e9peIDvtpj=x*Y;#g??8Q+=HQ!= zDB+h9P1<f{yi5!OgqUV-lx(vALA>LT_CN~x~jbOA0}p)2)*D27YCQf)2E(vCx~ zoXjlY74ZUE6|mSb#)v5=y4hAd;*njNv}UgZbiH!R1FvL^`wk{bQEg-fQwMyqqAO= zH$f^-M?13@6V^-o0qDvWP|uWGi9L(3mGDWN-{qOZg0M@RN7eH#6(yyxSaDh+>=TGRj^i|$8_=jLg0d0E=dc@gVxL=Nd6 z%#+tG3YudSB;E0hv;A0Lx6Dhp1^oUz!Gvd5+Cr~@xhZUhRql$K9ZTw5hrD(4i;q+w zzLzyvm^v>q?`=!79*L?iJ~~!S_V8_Sn_E7va#yx|R;I(uIx#l8;m2l{>`Rj(BCQkf zp`;sy#N`)yn7#Q~3HP$t%`K!!zxP1Aqz>z4fj=jaryI@2H*~Uay#k4`zn0M~#)`zCK zCLnL?z;O%G^1!yVLRub}2`C}AmOX&l$Y$8ae@W^T{S?id+q~>=kDjqGBPW`_>co1yyD_G@&D@DS zvJ(FZF)=qfJFs#66ODhK-*Sl4w=kxECa|9QsX6{mF*nAFFw*k|dl|0cDQ+1uhWTu6iF{rcn$pd| z<(5PDdrW2cpGAq=)0bA{OR*8;x%}ehLKo4#%|_cYUnfZ{Ns{7bv`2@Ws?Wa5yGk0i<$d@_(n{ckDXTcCW`! zJbsGzR_(XIcTRlQ!TwaoncW>emCfm$$U9D-w{WyGGVje-wc1C2LGS|VIX{b2 zR<7zqbcym_c>7|*5^fG-AeCY&zo)K}w`^=2M9l0unAM!*HvkxOxXm=WbC*TU&5Nsoc5+9L0 zY#!@!$~Yikgt$`JiU6wqgc-$tP)S-%4E6CBuQ*Te=u zgj-<)+XkR=J=8~6Fz=oNTqZBd18C0>*S&x~`2&EFmW~GQP4tI1q-`M~;SDHcPy$eP zsGL8?!fHD4$mtOdUR-R=v%;y&o zAiu#E00so?DU{06;O%b$x(hDkzurW>3nE}2;DUPw%@~V${2~$?yo*b~ge9oycQC_5 z0sV6U4k1lg@i4FNXHr2LRvER&a4%qA6k?PesAaD}zkL826mAG;e*BS*^XFkAM@R6829Q5EgR=E~W)c8< z!-iZuCUN_M@F;d7E=3KUd2nK`?;!yUnJB5{e%k;9?gQc{bT;rn(+tFnD3OR4Zh!-$94|c6fsl9bqV|P zHH_*OfQGwz4ZsHBj>H(4oZuKoxWFSh{|P$!5nU$iqXY8VgK^F+imG7TJSn489c?-m zU^VQ;1wzQcnt%-!pE0Ij<`F`{c&ec^2S>I-Zujy6@4+=N*kjO`{9fo7`r@~47Glx` zkTW_3dU}UC^zWkw6gcyp14%T-Yhhzv-`>C=WCK*gEJoxAX9=sct#tPbsK^(v3t$9^ zQtTNpw6Nl^D_O<2FmgZux)v0ZBixZ)59l~Lz6TWo{S;LF5)#_=6ot&`Mobx>o^hT@ zylk-@z%QE;-2MA5ua|Z|a;u;KZ1OEP5QnBxQXh}KQ1T5N*Mjqtali(E8=&yrf3#=I(ErkwQ3L1rej(&bdje31u z$k10%(1G!^RIF6!swk-`ktzO0s{cx#ld$q6@?3#Gtimcu=W(JSS8pM#35@lJ#sT0f z8V}3tbA7=Op^H3OSex9N#xw9A!3%ZC;2rY&JEH!Hu76n^RsTfSzts0B^?ywL{eS)V zgYR47KR@FK_on;}{oMN+!uaF72f5G=q|a;)*ZSz;N*_aYc-?WjLz^~K4lyPD28YrI%Y^edv4MPbYA;LcKOu!iEjZR)CIq!C}D0HAI1{9r+SJJc7&#dv%91$QMK>c+7hbh!f<3m7K~6IS1jnXSxSkN1Iszz18UO?+L`8wT)>{m9@wHTEC8qQoZoVj8=6P2VB_QpLCdJ@!zk(kHD4>29jG%Bt$X{YA>BYkEz0VwPn z`p!wCXQp3xB0Vc_`36m~ROp-NVaPHQR;9WSX9x>V3TJ};g_o;hZXociTcTOe$ZDb^^&Lz981(3&Beuo=3|bSA}IGOPEphgA_=( zMSbhSh`+w`E|6kczjX%`VOoc62l`K`+6_RIS#8cOK;rCb2N+>e7n}WGf<{P!iLuQ4 zUk2i3wXF_RXjLsUgc24AB`gq1SfV&g68O&$;uc?T7H(`3xBBs3f^9Y*5P1IJ@b#lZ z@P`I`c>U;b_rpUd9v@OXw_`(UJh|avJf3eBJ(wblvAjm-DpNdSJU>Ku{=o2IkB!jq zTn`Rlc<7E5=D7`Vb+pBzG&Jz)2z^1%$t5A$1q<-Vt-+exgEw(PelSWgYdis@rQ?Y* z7Ns)$nYx&D=V|C*RqBj$g9GP+u=52-2^@+GPKM%h1Ei<*ORWj&|BPuCz)O}A3=&F% za^OSv1s&-B&4Sqk{~6ybB$TA*EF@r{qDc8AA*Ycd>`7S9I6NoYsJAh@$y3^%?EOK# z!%?l49gMVTV<|+u|L#LXa&_3_Si^q{|DE%*NGO&X*qPr6R2D>Vk3PjM$}8C(e`pui zmD{RPeq>X`0#^^4PK4$v(1{sp(F>|^Qbs4Hdg4qCDPDtNl;OIbZp0mcFkL0wB41N( zi?2C?4ZzpRZ~IZlID4$TVOw~9C)~1L&$j8G#7-BUVy<(99YqKz!fT^%=XoR+-37&Y zi`%Xz9VOV7yLQ@Er@DO{`YSp)>jxWkM+rMJetSH^d|C6!v=$YSfS;m|kRoq&>ejLfI9 zPbe~9=Nw~vniZ=UX^a_1wpRREX1X|f_vxry+Vqed)MnAQWawIo+pYk5hDKaO32hvc9i z2v1{1pE8dJ77_#=@~MSmuh)@>JO;c6MhPHKC@=?QzEVMf2M)Oh_%LQG3m6jnSBwY!m8dYJb1_d-bF||meF|)`fLwFKd(JoK4 zGqY~wh!e*eN8H&7OxzjCVdw8|ynp6)3_QK%Lu>N=u9e&BCt<6&-R7Q6ESwwUFrZ%a zTZm8HJG?$SMbE!w^sqki6NhyukhB*4!j5!T8iy5J!P-{&IZ!RW-^?Y_T(Wjpd)dk1 z-__BQ^IDguTkX**dWH>aW=%#-YtIYNZfS`(r)G6ZjjGg|)}5x@y3op)Iy-(su_^6p z?c)fKsZ>wT_I~k5( z1z%Qg9iLXGnej7VCXCiLr1aubCR=Ki8xI?z{Y>bX)6zs!b3{pPPzxmr(b2z8e1vJM zBhcZQW$;FF*x}N;(Act7c18rKtP%T0ZlH0}Cf*S3fI$Yg6o(d<@{itA2nDUtgjB=3&5p!#3h%_#ZqB;NW0p`oFykIMuLL(OysG zJJ;(aeF2IL2hhE|dP0)Gz+@O4 zYGJlr9#huOX&JlKid^O~+ailKPnyeOb3At2(#(ytT#{Q(4F_(XPaSZ(YHKcQUi;3V zcA4M%y6K(g+ut__NIb#2v}JjK9$)$!4C!Tc(? z4T6|I!*MAbC;flHgvwlpp>wZEm(fN{pXhr6Q4U&67bnzKJ!lj85tX|j( zyE%)+FkboLz*jGzFK|zgw;GTq82J(x8Ws)){_*YQ?e6M!a|7cB^3(5j2j6e=-CoPq z(r#m6XSJ(x@4m9CrlRHmw{F*rhJx|RWt0CuqI<(O*FHA|LJ+Blf=Ys5!LA|Z#RL(0 z#SjoN5J2nJ5i=qx#&qf@gU?pNS^m|K^%q9I&ZxDt)}=i*$2=6po2ETl_(NPA^SOl} zs)=}|OGs0RkilbQ!_r{*FUG_pI)pqz2M#kw|3<)n(^jh9+IZ`zsz;}(SP`rWK&sj} zL8{x16A7yR(@v)-nIIm9VmXf=3+ek!*f($76uYwG2Bp15?pEl&P)cZpc3LE5mKG9! zXO?a~N5|J#D~^m%Mm9EH>?I703%Vt`)z|3}XW$66S|eB4|BNQe@YJa=_4ON+>~Vv& ziCK1am7tN}~yWAHGfdS}=js{GFq!B|ap0Bp!Z0l4PdUY8G2{&PXm=JVASyZk_KLU6c%i9zx5*IK(3q_o zTqq(qx?n`r_tM27$}y(jvT=q5DygIPevCSlq$-mwvTt zfEYV~H2XPnio9c^L}Ad2eJwfkG!GXhlAM#Nus~NZVKOJ>@a1b_GS-jrXevz5xAD8c zd7|0f(vsQ8b0?U+7!gmAy-iq8^&MTfkzx?5Vbri(mXR<@_CVY)Kx{+7CxirxP}K)A zyg7mhTIEZz!aCvh8Xwkn0yOD{;Epu+N62n7k>mR#v091YcG?U2Y}?hJ=0vPVgfH1v%YEV}b! z!rvT7VPmwhc;u(2bL82SZa&ebYr<_DePduzT>*=F;x=7tLPLBtq$|AFrA1-3M~b$; z-9K{d4K6Nx{^DTYAx;;NK@wvms)Qo{i$Qd^i z0P$@I*t`vh>-L3IW`ZR+I@TMM^@`+)o!D-A%0!edY-Ye*SKaHXcyGQ>SA`5OenL!M z;(}q<<8-1mG|~GSqZ6ctm1eTE-j-KLNwA0{JEBCyN1T30tvzo*^p0TzHfPrGkHTy< z5ML`d5w8C|Ltf|(219kI(iiGZ;~&LnyF9id5B~Hs^fUGIWjCru<-k8No`Qt)Y1HDe zZy@8oA&T@cM5fnFhh#+TRKr@7%Q4iHL^Z4N=Tj_Vt7i{2tPyo!w|bV4;W4!LDDl4+ zUZiro=zDYa)nW!7ju>ieTe8l;(J-Op+Qv-)nlzsqNT0`*Lh5owPZ*=o1IY^VE7Evc1;nm-&lwMN})1_($>TSq)PHXA;js&!uLV z^hhnarit43WjnZ_ZhD#ME!)%8-cnKu!u?X_X|EKrr@RvJTWSZ#nv4T7hHY{g?i(xZ6B!pQz4#>1-JXX`Gq_OWJLP!ykigW0uZ!hclj6(-f8EUE{0cDQ%UmZLZpViHUu z{NWfcx6TrcZh`d5SHbzqezM+j($<)M34`p8Ddve}uj-e_<22=Ht)y!+Tz=d6D5&cFst#%c|+q=Eqt#3s89%|eME~Rx(+`j}v= z*sCqA!>dZt=k*sZsd0aln617J{Y^?$YF^ zDJykK%KaEPb z5_p)$`FXOt6I`O|w2JdeAGUY+zp;2-l1FP3w_0J}P6C_UcE`M5eo+JU@dc}IFDE0@shWV6fR9^;+i9qpZ)tWUDe zi8(%=BshA(nO~fR#u39AMn?jJpc|rfh<7;el-|+K5t>7Em@!oq1XxtuQ%};*Do;4X zYn2kZmRNm>$b?e`k$}mRtqN!ML5O$^ei)!Wl}R+W>5aqD@sGGMn7VxtSjEJLzRt&o zX2;Mf`0(I4^nQ_}==}6XIhWiVHGH_7*_3X6T~D%gU=yas<_$gFSZ>I*8spdLU61xp z>-pH>dHYa{XWsk8^tWUk&ur&vwQ+oH12b2|%nhhjdK%F*V; zt-Qpr56Ri-bIbGsew&xQxc?aQpx)b!BCQ3jjZ@PyrEXl^uu#>M)Re`fEtNqLUo0%k zB%?AITvhGqBhXL{4I&G;dpu%lJZ-0#6-=J&l5L0WZqMBlvps%(5scN^MOe{v9P*lx z(!`cga);ONJy^i@{s5hoge}!1z-~SXb(oCmV2`DxRZuFR=`QrbAralW)UgBr8Eu9< zzj6soLn34ZAW_iG!eR$LE?Q@Ar0k9~HGvNXdKJ_CKwkWeENtVk53Osn?7lraJSrPp z`;G+m$^PsqD)uUimp!dm$KJtBHu43a15FYA!l6{elydk5?eh#N#K z8(zZO0y)a1>E4FR6Ahokcmd8vA=0+vlm3CY$F zYrA3ml%XN~7Qt$1`CVK0!*@oU&+~HdJkP$mwLRS;%gqIaW6SPc@xx8!|5BU@-`6!< zodjDAL19Ml)?PXPWczVyR zgSIMP@=x`JS#^;f4|k#6-^3?cu~%B#YU=o2gYW5Uf6Th;e0%%6+j_#Q!GT@GfqjJ- zUY~Binqdvw(|GA4LQyEz%3-e~ZY}2d36!cR$a)`YQ!RnzsPbJ|0)d8ogP_j`K6e`V zYMkD1_*S0+AEVZz|9QoDg`KpY+VihOEeu-y-Q3%gw>T)BGQj8cVNY(+obC4O>To383>)jsm-FY7zpk&!ux(|PEwxg`RJPSs8w1wwb>az^ z`-6K9xAXMI_Pe`3($A`>&+kZiF;adU3(F`U&EJDqe;9k8pRL_pr~TE|WcK&>V+pvQ zMfYdXmKC7=^|+uKpvH-RgOH@X_Ot#sDea5(-&L}>t{7ht-H*2lrQig$WU<*N2NZy= zKziY=3UpO*U!08y*>0>x!h3)htq)owG`}S3f-zDk3F$v@%W4+lpIQzfysfP0z#tgM zV#SaP)=AS3_)rPy$Gcb#B5X#(g_siyC`kn-@nwhinG*|0ro#CX3(BRU`cn(cn%_+v zTJiQG{1XdM9rmYF(((i&&n5{xV55f6MYMLlK3*Sa&sn`RTI`_1^xXQm=R+chOA0cu5)tT znK)o@3`N4(lA}wHD+iu4qb}~=-#}d9++N-po2*EtOcfTi{OGbb=E%zH+ir96qe=@i zHpY3FG393Ey^+9;xEB*2KD7T#x0%q4%}!#fWuS(0p>*V(#RbybnrF8Iu!%mM?l z<>pHn9?+ppPqPiy3!~4X%nzTi$hq;1LfGNG%F4~j4vL(ZawbIuITJI2C*N?T=F5#6 z5=`3LtqcWkqEwlaqp1=2@l4%C8L~XNnRyeYNwxN`G;KRaQRk`Tg6k}qna)2I{WA+D zyy$ZC@^iz_y3CoKKsyKvKG;BfB=Hc7I#9-hjPOvdgw;yZrAH3oo$|py6&|ocQsqeB z$H^G##4NXcrf&bW+*fvP{@cE*FptUD=XA|tx0HY%50ugcnk+Hq27FA8Z8AmH7T5|r zzF7g-0*)v_Y!StU3eYO#+2Azj3fv0-pA2iB5>YxhTb!-oBHG0pFlzdz;C5UKhzq?6 zb{GxBp9&3VrG+s8f4D7_E%+votk2|Q_u!up4!Fxq&>znWTolq~gKN-9z=mDGVwoTp zy_bBTTrS2Ue%o1_jlXwR_vogVusO1bq=E~fZ2ODTs`xH`<}Lj&6*t*3QF_cpcQt3V z7hV{w;3Bnr3(173h~n93En#+yMs%?pAn%}S)mh0!cd(C|bC3mQ&YAZ@;Uk^p0?C`T z^R%$UKZj5WyD|c9Wc;CM5qAw7=X8qsh)%IjGZDH-twR&1V(pQ5XqUQop3LWKq)N_( z@BA%OgL4v5oa3V?`CvP@SKXp{PL0_+9HHkUKLQBcF0(jIn_mqwuo1TIVmO`i@ERJ+ z$Xl04(OHE$3)cZxk)~pSudLP`SU*~8!qof zjpjo01z0@415a*B9~!;9fQAE@~%q*C#rkC*zOefh%~%@Cq4|*(^N$W-`NX5TA4I zwVKhqBE!ybytGAYHKg-P)pT+PKOp_6qlpi*YmN=A`i^=YpHMzu&|=1!c*@wdE< zuLnJ^`HJN$yip4lCaGK;U+a{nxFer9a68j z*PM$&ch`osT-+E{^bsG0T4)dg0^RV|U@BOxuvxt22EgmESG-+@&_#x~0>gGYS@BDk z<1S;aCt~m-v>A=4^vB84Lc#K8Yt25k1=5MHH;50tKx`8GK7W;jUFw3vMczWv7=A{l z^~d80?KM&sn6MCuO^I{_;2`o5AcW5*Qs$?)l4Z>DkAs%wOh=**uJI+J{5c#Ty5u>6 za^_q#*8^x7Fktwl7G_wK8=51M*kw$i5=E>}#Vj9Y0&bC-NXtcxlVyKEpoYDS|As2X z`u{(wl!Lvysgu63y`8hGt%HlDz1{y5FU86D|HMl%v$6aaV(S0GOZ}I2$^`T(PKI{Q z4u(#qcE+Ai^uqsqK@U=l(Tb&bHoPz1I<-j(T- zR+o31!0;fl&MeWQUpZ)=p4_;GFXNA&DRc3V*qx`(y@Y0VexLG>^Y?Rq-M@W4XZCZP z_|BEX9Ltbhj^1v7wgFc>8m4@?m~wn)#*^C^RV~pBKpStF3?Igi`^W3|aW6^! zet+3p@8Ey`kmaAh0E=_BD@&ZuHKp=zF9XMc+R)45^hDgOA}d`p@yU3==U$pjcS zTFUARl|=IBJZZ}hR8pd&oc)2TDdN1*1hprw<~O$qN>9AacJd9&NhM=nS!u9(0%}rs z>Ejpu%WCOfF#CuI zSTjNODg@wA5foQ$XC8nPOkp8R+EojR2|g8%u@w#P$_PBTPkevWZ zV76v=Rz*M?ozi$94F1&#P%EzWWLVTO*wha=S2#2-%&G*|Ug*v;3QZpoSzim0SaT*2 zlQPj#6~!boqg7SC;F*PWd1%Eef(&>oEivnIYwcScI}awai5y=J%%lUPM_58sJpP2i zK&)wFvDu4~*}>UHRutLr?d^&W4p`S)K>!(<`O>OOSYw`xfs)#guAXX*7t^}ww+dQ<%97$B$5fllEiV#tyIOr@91h{3CY`4my7}c9- zzBovNJp}+*czXnKk}bw&Gs}1B41?9dRi>&^<5{HQ=#DH2 zP^%IDBvQe)4bL@1$@XrF^54ge1+)-Qdov}|P@k~1z)ZiMxi-z+=r@=t0r4uJlwg`lv>@k( zZHiJu`m+e{1SO>Rsuh5OsvK`1)mvR>N~m=B(n2dWbb5}@K8ak7tmj7dI|ZUAE4#R` z_@oo4jCr;uacIF?7h1>#^HJM6yZZtc0Yx`jD|GanI<0gJ#f-x08K>M&OWK!BMfdzH zqHMG#eka&9wv}V+&d~!zH7=)T+QQ<7nrQ<~CN3tg{IKFa^Ti@sOC2QDGWwb#&D5u_ zYkoNK*4_!)bIMm6J2i7GVz>i(u*B~t3uc|_u@tpt7n>ucxXl` zl%llgysImV8;sQ(h4q@1qg~~C>xj(iq+E7y=w{aS0>=8CUiR;#d~(l$dG2>k#ry~U zLXvl#FRf?aYMtBQJlntj9AVR%({65-Hn&B+w`VMvQg9Z{^sMcg#R^|Dhu4m)Y)%;Q z;)GVMhi_GVc}G<@lf7$gZV{e$=|46XHS4H#`PD_d+@fX89qU)y_1?FxSMO*XwDifn%v?A)SP zATY5>?;MStl%37aQ#-w5&)%wDi^p+YU!ISy3UmSC1c^PEHYwE%rTV5-#eGFFkZ)GK z4Ybr8;koK16i>R@kL1ITO zLt3gQ0t@0Tm7xQ+YtjJ2paK%m`#XD?N4bn%QCc=9;WN;=v@{@tK3kGnUmEg2Z2gE7 zG~^+Y^G_^PlYkjRrGg-~?Lpc#&&6E&tBJQ52PYMhcdnDS^Qc>atG{>`jX19@7L9HS z)u68gr%x;#S%OH7?_J4fnuFBD3Dq%;a-O#$;q1ayLpM3JdVA*-VxsP6*VNtfoLV8O z+tA*~1&L?2+$G}hcn@?Ps+4Z z9q*@NoH!&6Xy+o1D&`$)O2<+auHUj1qtVu(-PTn3HOG0{Gg1rDRuAQov3}Bq;;1Yb zp9jG5$Y0B7-&kWZ?KW$10;3Dmyg(6OFgI=7eg-tNzr^DLyO9={prG&rlw zC61ZMsJn|>v76Hx%ANInwva^(cT7tAAS5j>586yM`@ct`ZSqk%bA+5YWE2(^wm#Seyo}(i(J2kYKx7ClhqU6+sHY zzneC^9Q5~bgT}hvCk@(-cNHJ02aYQ0yQ^WI+1jepJjBxq|Iwz$W}`O^Bi44$!=Ts! zF^k|nE2$xF)zWP4WbBv;AEd`+;pV6}V>!2EGda;dm%-r1x;|zx>MS&+IVihLaoA7E zNI!S;#?rpInvdJgr)nCpo30_-TQbAVr)*^?+jz&Ya$)Z1wNeVVuov&&Si(H{um{9_ z#`)9bQR)JE_TedXJH1kDcc9hjfGRF54ab_zm9XQnT?G|ZS?@ud`3x=`p|`gIr5sXM zndeP$Nrhl4vFWCO!DXbd5P6}QSm7y@7I`5_<5I-_iV)LUh7d((Jz5O zpRYq{6&F!7@z*bqt9QMt7*4My_N?nHrt8Drd)X0D@QiC;(BQu}zil6`&Y%kQ&Nm5%i5dDh-;LL%>9Sbn-vh`QR32QBMTO|1U2 zL(Nco$)3LSWOUs*-5a)%LO!H#2VqIQ3*G1wY~%M%9kymlI^?_yW3YWhEcNqaSjKP6 zfxIvo`^7#Iv#;)N`DDxajC7-$bW9zDw>0))sx3PP^f4EBdrPd}sQA{k99)sk*fSNm z!Sy%oL!d_WY4_$)v#)mRqmGpP>&QHI2K5tpAP=^r<~n+wm;N&)5WNx3LP~hdL~$t{ zmWT8d`_+y5%SF8UUCOzLVFr-zm)mtY<5ONSttP0usp7svS54qoldmShthtjne_Hn8 z)9m29d;6&G<$KG4bjyM+?PuRLHt}%vvCyns2=379JURHLp8eie zE=pBJo3nFgzWg6JRG%2@|9Uau{O>Z1viwgnj3!Lm4HF=UzWabqn;-_}u3QZXMInhk z6~V9Gf*W9TORy5ep#OfsCA2A_7dW#zpO4b*wlB__G>8P z3|H`(4$MF?bMiX{>Y&#l<3r~oL#kRsbcpt8EY;wr&^ zEo|Tgkd+Bz5kkETY}2=O%WeU_KsOfm8y#KwaBcg=>HkzjifVw6-V8 zgkHY-=r3x+*G3;LY||{m3~#y_D~dd7Z)BVGN30IUpnF6dq1z9&UVsc z49pQlPAOqr3~|cWdfS0VR9gG88FuHVyITCC_RzvZ{Sel1i9TO!#cF?EpIvs;LwUBvu~*h^5Z+D~$Jnqy`48sB$*$;&N* zH*poh-*oXCRl7hwFWeJ%Y7<}g@k66Qb_+fGhO#C(SJ!4aSI>}j@^ck%_7gpK@C)7i zkC6L6LQdU-pRxxk$2ERpq|Y;74EP@e7W5nm`@{Eq$Kqi+uRcI+sAAmz)hUb&4FAor z=4AUHCC;_~k5|I(|Dkfag+~cUcS}K3>Pz6f6*m3=NXVdDhERk6|M@xY*e<~pjK6(p zHRk4AOWU@{>+MotKlH4Nab}EdN*>_uv=~~BrKbJjjrQYcO(z}LrcDkjWc$%TrS*hv zo$L;&i?g~t3?!kK4_G=MSI0XeADOkiL4z^mL93C^5emR_HlUk9S_v zuqPIHk9<(^5sjbv#L11Wh8~aR4wk(P_Iqz74o&y*3yd)$Vf(+cIOG3naYhD~|3S+DOpkYrNeB?;K3Ffi+--hyaWUqYtD7(Bv7*~KMba(K z(M%oKyZ_VA%ldEPoS(}SOrjp>U`klf-=L?m0%-t8 z0GmA|VUgK89Pm;+Q4e=3x8oEEd7ao7>~cnT(a=AeE>`q2T_W54%RUnI%D-Ir193@c zq@O!u$MZ`Q0QxB=P(wwo2iW=?;7Q1Z2MvC#Y^Fb7@RI@H3;P7|yLj9v#7l~~CT@B7 zZ$H>O)*IID7*3GwM!kL=r;BSM$QQslU-4?n^^NcG?k+7AY* z$FY?~Q#i`c?B&S0l?EC<7H6Z4ftgbEM_K*DmV#hOdnwR+t$UVXnkH%Sl;Q1ja zD=;_#WIt$0^hw(ZX59pjG3j4c9|yn1Lj!llIp*0Du*42{vB&2mfAI^*w$H9hURLZ} z7z8-H0SJB)9!Hc~UM4T^S9=4j9D}_u|2N#R-7(FHB)}x=!R`I^?#}XVtL1Un+$(OL zTYGhFYpJG{l}$x|W1XAsEbJ=kDV(>aVM-NjWVO)=N&DDMU(_ zNV~iOly6j>!i&cg1?^|zVSm)2GKfiMeX1fzJ{6e`HD%$+glm$Ll#*5giCH1u)wC37 zIt4|2d*l!c=FKBfo&_>Eh^g2pwrUNvN+hYohD`-whm){vkdRN1wBtQ2scs)z3wvhX z8dV$E@|2Vz6D_VG7g4E1jBHYoSP@X!gev=FfFq=9bpt4!zrf|)W7k#<+qQtFWq1-{ zTcz+qRhG(2ZImD@Wr*d4Lp+0~7n!HY7REbN&G$1oQ_Fd@`XQ8# z&;)$W4{Idb>l(J{fgYK6c35CCpyfc$*3FBN`^+>0Zlo!Xcy>|fhFvbuq+$~RLm!uu znQsX zAhA_M2xutv2us1*YSaeh3aOn0{>!zJREI<4-ik-4FdB+GwQfV8_3Ub(K)VtRzs;sP})v5q{jb$aA zI<_lK2U1_#N`wm9#&K_~9OrZLYLM$@xr(4bHmaQEC|}hJDKB7RsQYFxhtgOGy=vJ+ zu!aHPB6bb|Y*=O$AH3a7m3XM-t@GO(RBmsu-s=_tCE%5ux&hZ*%tdS2%)vC}7*Mgn zX^l-l6c%D(2Vw;6tH&w~s2Gnd#zU&~HY@4g15&k&^f87Mqd`=gSzj*bOCdP0HZmpfe2C7?#Sse}ruS`5+U<3o%ngoinAp^d6%H90Xw?qE~NA zor^COnrlggXFAoY`>ZRflS3?lu;J&BSu&%#M!j5}Qr%MY33=CH+-KpTC5ksUvP#EA zW(W*VaG(~@($_R9ezHZ*aLi$1B(2n3$o_XaxA z>tiG=NoeKSFhw$_gUd3@FpoC4jDHR0WkfkAjhG@jrsOiNs%FHFYIG!-I;psc>!u8v zn$?)*ro_a?>-(QKakb;HHj!&<M!+5xAT}{EEuGQ?6A0H~RW2J&)|4J{;WD4)t8+1!n7b0I>#9=JEn!1pX~tjx z&n{rvY~G$uhU0Iw`)#KU7RGGGFJqk^w~wT1W3l6UTtxKbbiS`XBqM*lkCfU5`}KFe z|4JyoP5^I*;rDyn)9iiMTm5>((1z@HS~kGENx5>$>ZBOU;Qap>`^T7J!rtK%K5?D4 zZQHhO+qP}nwr$(CZQIt~_wGJ#@@D^=eP)thr|mKGWhR-nX>-i6IOu@KImS7VwX?N5 zZDXh98qPRy%1%x{*lTAd2&Z0*VK_o}d3fGNC#RS`(o5Uoo+FCVl7*$ecm_III-0I> zX3u6wN|9E$BwOzYIg}(7wj*5yytJqwWsPLWRAOdiLa*{$U&op9^?Ao%khsuI*Ah`r z*>kL-Tr`zU6b0w~upI0e#`&V~OnuKQDyi8>(z&kFG?8-V$zF#UPQOT!huvF@=Y9nx z=YnF`lAS%$9W(8G^m>!>?d6h`xoL%u zB-++n!5lkVv&`*tw;H~$OM978&fq1>gQk`R8=L5V`Hw(1vre&dy{7SM-O!wFu67Ej zY4_P#Uh|pKAuOr+Oz2>x&iwLP)%(sBG>!#n;q7X$eM$JfkeUsAcCJwU=SzUT!LPeZ z=U$J++ua+OyV)9+*?U2)w)?$Ln!N@6h)};lm6)#C)mFpXRCjc{Tx!QS(+hc`3k5w7 z$WOMKw2c;2VfJbt=pVk>{=~~Ch#JWs@2k# zs?)Ppd1>o)Kf|HhQPtbUsqApjidwIK3;y0QL%JGHE%+SG$&xhF8`s|Q6-x24DXkb+ z(%MsKUvF(bEKU8)jl8xt(^FbHeJn9HoYE7;!YYb`w%vA1a!Rn3@Yy@>>^*+H%seo* zn=#khG1Sp?`QtU+*>pXNM45eU0mu}-)ZhA=v-4; z6R8`nJFRSIjioWLGv?B8T_7|HUdRwn?iNrNe73yOT1?fyDx({vbM4s`N4(UmwRY^S zW$8is8nei)a8^zpTCJJ2%nGS0g=@JMGQPTI8kSoWztVU;Y1{pKpSo?j%*|Hk-7)&3 zw;EUWgLq%|y^kTnGt=3K)GrZIxA+7%IAzmnPqWD0`B$UXs<(EdhknXrzBI9pb<_UJ zRgf`@9H-chjh58LoPawif zgCoo`T}Y=f#JMf7S7!jrXy2AR=;YZJFLL$*MQhzN5cpksczdx>yezxxU3RJ>d8X0drLl z?;|n<`kwv627^@~{+1hxHsB~*cHpc&27##y&E}*FLl*$oe#V>)*mikm7c=@gHdIs) zEYGY>t(=;+2A&lJIB+DF42hFq&^6y}m6i`VF33#|cH|WV*i~OpG}6-1QCDP@1fS{v zl^*^DJh1coE=$1aSo0ft|Ej;82QEe=SjR`$ChP{1d2*mn3?B_;GU!qSg!9X}D>Kk8 zje+v|i0QS00zoP7nzNV(4sOPPnTj;P&Nzfnu(xZ4*7*~mPfYMm1Xy4v&|qau%#E#_ zF*M*l7&o{e3_i5WfC@Jia8Lh2x`k%Cgc&ndsHq;YznfpbkSG4{#GE);eE1SO*5~VW z<0tc;esVLcs0(M0HFX^i3N+BsojI_nEex^C&8FX}gPQ^2BcGR&ZD_m~0MVjN4n&dnKQXU_ z$ow7DVz&ZQrbC0|$nw=Aa)r{-C!5Z}z*j%DTT&HK-T3nUck|!tcD8R$tS8jT-{3Mn zI-v^9=t@<@%9~_k^_HDD#GXp!wn_=7WceNu<%-_AhxHI#G5I{x=g8xFORfOtNk?P{ z@u^o>bfqsLQHe@6J~j-VKL;CgxzPryqBWB!(KfZ04uuo4W!xeof|N)BoZcAhdbyvb zqUn~@FqSS?lpE2BzY1L-HEHP?Bl(&)^2t(5J2jizQA^u-Mr4IGz?u1V6({MF(=5;V znq4I-i!~NkbCZjl%ULlxtB1I9Uqy|m1C~e+xXO*zs%-_ASc7T<^o5m&g~%Ao?yI7V zxRcF~Z@o{`mbz?~dsy$82SjHi;NEeZ%a?x(5;w;)Q^zG!!`>OfeZ-4t#@~w#QgM2Q ze?NvSckS=%BBtj+4%+CQ@ICkIAx>!Ra=eJ|aeS8heB6DZe=i@PzuH4zKX}abKX-CT zDM~NhMI1TR!c(T*knWQ1jZS9ck`?539bY`Iv0-i#edm`SdcTGof2(wm9(x-`W^>sl z7cv6&ztmxSA#=GiS_h+FPG(D~?J`TmVvGrCy41%ddB|*CC3)4FN4cb|65hQ5VHS)& zlrdpS|70P`ij{hm8kDemaJXJhE27HUEeOS>xXIlX-4Z>%kF&^D=4PXlE--ADmgkX~ zCQ1!Ql}x2ZM)HXF@!U4Be_qyqmG5Mh_0i5aEty@yh=nvjEwU~ zOV8;fBQi)^G9Mlg-AeN29lxG&IDNs$w(7;LJQUU1l_%m2ezgj~`89dL^qJhF`p)YN z(A7*|pMh`HRT+O3Q8P5iP%|w{74H@*wk>x#qUffccCx)8Kk(>Geb{n8bw+lj2h`f5 zG08BN7`g%O9n2o_*kbL)CjACsCGk5_Hhs|yFWc2JzcBs#gqVI<8fG-n31(|r_IGPi zX=F65(x+(~t>)ZaHpXPcVZM+i4Xc1lEbxjFgrx%Md8T}Uru-a&e1@}qkVSO7>(@a-nr|#rs_q|2kpu`3 z9$*K0ik!eU$B0LAG?bQ2E{07Mq@RmFVVEqbPV_)Xp_z&h22!MSjDRL_lrWTD!3P&u zZ8o8lt+C(}tP_t*Ay!sWmY0>!K#XKI%V(^>c;Sb0q^*7V0|L-H7XF{AM2!Dam5Akk zqe{fU`2QHK^z=~I9!s&y>Fl|~LOZ8A-|D=EVV+#ro`%RbH^ODQqJX@|%Qt9JdaW-~5!)HjK7)0pstF|lb>ERFu_eg-Zf4++h zA3L@|TucKm$SjCBXsGVD>LUyOq9M?HxqsymI?Pma1ZU`$3dfIweue4oepQDczyL8X za{h;rb@pc7z#VwfoX{{%Luc`&)!+@6+GY*+^2TE8(}6Q(XVl?deU}*hcv!N?&q4ixprGWRhW68Ed; zS)i1=4?y?9`vDKcKXJ29tYhpSJbq)03A83TL}@5*YwIybMEfbkg9?uYuws(jQ1$m30En;+2pld`~c9ufeZ#AA$SNtNa~bD|dE zdk|-SCHlx?yqvT(UO*B9$8QnD6dyveTS|flb}nEq2>OBe;jdhEbN`RPQN~Q{E3|d> zg=R+P3KPq=8g6xERas4C7hkPfr^$0=@)59}#L8ntO5 zf6ao$5+$r>rY6DCYs6gCPC11DB*>$h`h}qA4)Z^%uWI}_%#7NL8d0w%QK1xN7W45bk|t21MA70xjm2SV;~J2Vd<_;VGm3=_jV1-!o>Dvf z&BorMQq6l$t|!N{nm-Me0e*dU`chrGtM>sW z#*N63^X1Q2bq!*zkR{>QFV3Row3Td~Y6){Q7NsZ_smmV3SW_XbF=yozT|WF3{b;yX zk+Rl9@6HUE5aTG#U9|4S<{{eDFD?`fgq}(~bd;h?XlN))ohpB(kP7LoSAHx>*nk3B4(hLU*+xYym7lpyn`tCtm@~XTV zvx-(YG=^Gp6CSy_Nk*+HBI^xVsTbfSMXfPQ5ln<**aOwo)F5X5q0q^0?SD;^8W6D6 zc_|0{T54lUtkMOr*5~Xp0je*muCt{EI%7+Ow6Lf#Zd9A!S;}fERp1M%-J3afEUxM-z~7I_#1XMCeAtcbE?TF>^OLL`yw6*0D&q zM1gqWfz7BzL^U}el?);vy1y(9cty;0c9`AQ7I#eaZwc;$9># z6c;iPgzi!xi^0r96?-ZDlpgi38WJk6iO;dZBpxx?)bX12zK|;`xTFVa&3b|-AQE1X zBdEl&`6#ABB`cbp*`2yg8?_fMFZbCa8%A#NksXDR9UNXAez4z8B3hkYZql-!q#IZe zV2y3gXsFI^LJqty0X*`}sewEU16qovbJP#0C5!*kLL|5E8zT=wPg_R^T5dm%>~t%9 z&WUY!A2!Q?d*_+n92Zg_DwnDB=Csjr{j7b9c8Y*FRO?bq8~v=SLfy~TF$`;U;iHh`1VBg|<>&uD4_l8j(1 zI>w+BC$?lOSsfs1b4TIn^xiUQMYc`z4RQge)QHp+TrOYUFT}K|uBGfGCn;p?wKkZ| zg=%l4)pzFSYaaKW=`zXtokU5b2sE`%XDrcochV^y6mIX>WN|}q`BkuBFh50LyL@1& zwYCwft1n8^%c;ricaUWGirLO{3S5ah8*{SP@GRt7oQclFR{#gi))b9m+H|G*qU6hV zNl3MzR*70IsMBnEp8tc?%+iCwY!S6t${HBXcrinroovIT5$M@RjT1a(VPAe4j{ySfN*;vCxZuR`A;_=57Iu^;#T33mHwsV&&E7-%TZ_Q#g4@kgRaW4n}q&l^0)E$!)xjG>iN7{8vtH};_Nu^@ZfussskcZpEN^Ar9;Z` zn*)Tl>IGK9JXKBgBHiZB-Cl>t9YHvgHZ&&seNEyeQc@-5_nrv7s`ex*Pu!32?3E*S z+#$hD5W!7tNKnKdgQ^r#CEPLvLh@yDvAF94_SDAeC*nsU9VVB%hFc$=U`z`rJR|YZ zf5ZQ5SEBxb@X_2){i6N_|E2R?@?EW&BK6+ln3T^=MtDletFIHz=cVQsRDq}`<&zy7_1d?f2R5Ry5uoOcs&7bec4*D^ZGnEt^xv!v0KzH{iEVrNuNb1}`CIHH^}(wQzwU;iGRSOs3woEd)vrZGA^%_TE=G0mCkjw|ye zLpYLBS0%yFghGMN#;;qqcx0_~2XpZwNpLcn=35L=)v@T9DS@wA4Ya>FCqsKlrXc|g_sAf*>XHpU>(cx_)OiF z*{1P*zx8^xp(0!NwAo$x0E>tKzftIM!p{tDUEbM~MMP^>mM`F=<1*WS+StRJqv1W6d*}So%HbU!(8IMo(2oj{!CkqNk4-0m@#IY}!DXD^xqp)XG5^hRzvUac zVEJLmU46*rLUzaLjX162X8MHqMV0NH`i&O{Zf;((z7e+aCD63W}m9Ygv ztnvHnyg$2v0kMM4_}9-5*)O}{Jbtc2W?UP9?5QC4f?6A;*-f>e`_MdTf`D|9{j{RN zXCO_jz5n>G8cL%uX?o$qe_hKpe!PCo`W#l(19aAP@XOz8K_wy-qf-F5JyFTU3K`h{ zZs+>_T;zU?Ssjca@wum1bv~k^z(;AP#mQf#_??BuyXt+w$SAKGVGwBJy#Xf*_mXot z%wE`^atNILYoQqs<=DvxaWiS!MPA;i=n1!oUcE65kfoxAeeDd`+-~d|nR)3X+h)2g z|Em59)Do(8p?+N+iKjI2i0?Te2E%hEVJ6Y2sU-y~RfO`KpW38=A#DBX{_d=yV87FKTe6q9h*a4v9p!x6)B9McX&V&yRFzb+ z8Tc;BYlP6uA(68d@@fIw{9|e!e0E%RaqQy%Abh z3RM4S!g137+TieGi{fjYuvNJ{!FM}#jF)6$vVXoeh(2(LK0t7ZM;C9PPJ9@$?5`20 zsnS}eY!R&^(!`3&))iVtpruH~&|kwo0Uz6O3IVxjxHXqr1b)7<(`opAWwXCJ8%<)h zl|KAkU;k}Fx2+xGInufmZ4AUtjC!l_?}FsNl6$^;bHZsw*rH*z#S59PUL-D}QNN^x zF2R)zp?0&ZrZXVpT8QR`4)018x=nZiU7*^K*5{9_N@+GIxf+A^% zL2h#XTC}Z_0lC#m@tV8F^emld?ohv`sJc$!v9Q{LB1Fo$p$O2IwTKyOqo7%DZa9z8 z^QsaHBEt)4$bx-CBik%E)x*i%F1>NAw?ip4@N&-FX{)}_%sF)71q<=aQuw-$h-`p4 z84X54uS*Wev!XljSQGg=!P~V7kx?D5AFN5WfRbtA&%j{KaLrP;ZJYo<5nV425SA$o z#g!K-^Hi2ms}v}cR5XZYFE5gpWK-n)7e4@a&|l1$!BLM{fP(Z+o3voUh(Xb;S)EGD zO=FMUf`H*=0}|Vos`)SsX9~mMplWy`joG3aRfZxE&`PzZD!&&F5T)K8xfe&m0t!>=e_V6tG3z0kN4JGF@ZNy((2I8H}H>G#D7sExXfipcr zK_zX_%x(x6HDXGfiCZQ#rXfQKX?dpdZaQA0&pyld?>tweSSR?%D)FRb8$AF-Kv&@C zKdG_gq&3{TQF-?9+nA$+m;PVNdej8h=>q$~1nTN8qN|?Mg}@>mPy;T|zH+(EQ&QVZ zUhdzi&C?2(#Tps`is~+4)hTYsQl;8o;fbowZ||j$n@`Wz;~dA<37*`~>`nCY=egzY@m9qXb6%=tr- z_8B4ZPAYH0Y{$}u`^v!wFAq=LG2legNrXpwEB?KNRb|FOb9thzthzHcfyBHMSvtlJuMMe`WlP; zAmfW0Z#wr=hUP$eN}AP=kK&0~di9Xi(VL4YF~*QgSwdREXDe zePOVi$%g}g5M;x8jBAGlN@1@Pc#Ev7-qWdc+cL&~75n1$3Q+XhZFGme7*uCV&L-lMlGf0l zYSj>Uc#+(wlsnFQZ=!5_dTkSAFDD;bRE;bkLMK_UaA`uKhOQmU?nX1ErTA{%?*%p{ zG=J=Td|%t&d3}h-Ncs02$0h+2cD}2(lo-E)dQ0jpV+Me9#W~?4#i&M(vJnyxAC28c zZVcNgfR+>jg&DTLOtcci0qeVoTkkreD35kN%3Um8~uAwoT$?nX_^uxUe!_zQy;WJ2uG-!oCu?-QynmS{9vZT;5|tClnu$qDp@w5}(|Wl*5TN?N)j_=G78gax;C^9RT*VJo46|6%+!yeRFri~6Ilsk=F{w76EA`Q9?Qa#Sfu|5zp zKGo1y#Vj2Y6CGB>7B0D4Ic=Js>Kq{tsdWa=nJ3X=e0WKdQnIsA5(a;%2DTrSotREi zU>GSTSv#gJV#}Cmnl%duJYYzyVWIL^DGX6L1(uRJt}fy&YA)(7k}uVgHH}xxu{!^p z5MyMj3etTJUn78vtqVY?JB&!YK~E8*ARV@rb_|RrYIm&0oYCBR{`K>w1f*@z|BX@o z39|L|+WAHoc6{L2qn)4qL4VfS!)f=vao;%BQNy*@atF6}Ao%bGTsd-JB%9>mz@i(7 z1G{9(U}{zZhBCNBCVU@9q{_+J_MPO)z9NAt##|k7wexZl`}hB8 zbO?O}3L5RhINz}M%|W<1?H|9dU!v2Ia%RO|j*2w2=chN)b&?NOvlHPW6%}UEiSo{^ zoJG&+`yL%H5~-;CKGx^IgvB(R48<3BYikHM7<+*U>0<>YJ5H;dCjViyGjA%>4wOXL zMVNflv){GH)z!tN^|kw0NsMit)cu^ctaV$lroQfIGd{uz{fLQ4)vYs8eScIDYj0FN z{-9*I#!VoNPm`;gGSgCxk3+jlZ{v;OC2K#H%C9h)^?mhB&X;0oU+ATq|31rvgkz%DCc z!kDXo0$HCm?;reQmZ03R#V9Qo52KT4q2|589Oto-73-J{s(fk?OX(Ayq%(fxSh zYCfLi+GeV6`=EneK|Og>(f`ZYar2gnb9u=NCwtw>O}qVQ3$Efb&#)U#8X!nsIfx(e zgBA*3<Cd`gTc}Gwde;rDD#;W9t3ybsfs$`zlT|7tL~_U^B8(WeK#{r!O4w?(Dd0fQWzM>*x+K%5B)0QIP&@M>-`XVvn3*ePb~`@3P$Dz z1A815^OC|+!)9G>XNxE{WSEDZagBwJeU-IM8X8)=W{17Q$-aSx0TUBt6O>dWlu~d5 z%oh9wHUWyC`l`ns!h?YeBL+&Az`;q| zde(LlMdOn&@DRSv#*1&Ou4s*miFt#koc`5T zLP{p+&_@{51v=v5lQ6E&&diG#Azl6a<#xB5vxkOuE4K0dJD>h%w<7W?4Gjw&Di$`@ z@by8I&~OuTKJSi>vscj^zN?KjygAPfyZo9iU5k#3jhyj8zln#5&A&!UD#Ql&D)uOp zH1xYuv?cn(;8k=q^jl?`p5o5+$77=yLUI0YLx^;O9D|go9an@q;yKCM8!Z9on@XrM z1v(MX8%zRE@|aLXZd8F1uL5h_^&6?K0bW%y=pA?XjaDR0g0)bUB$rJ~!3=nDrWm55 zDAGGG5G3gxm;ZyoTQ1RN94eupZ^M`9(oSX5fTf6>FSf-7(hS*!DxnF-#jaoVGl8pi zJx@4;d!(qZhKBayFHg!=+5LbdL-09Kgdq>vuP~*G_3<}q_17yQGG?OQkfd-uRw9AFmMln*hn?2c(<&#SwYz0lDJZ=a{H9`|MXcTU4+1Ufy4x z&DbM+<37n;l3e?-;13;biu*2f_rh;e|J4nMU2`|Xi|8}V3RZth-|R!~yj=bn+1+)$`hT;Mq;J6{V_A55?%7|X6OwT+!@Ee&%Mj`8fGA}Bum11+1HjwE z!1r%rsUF{cY7cJDPi`>ovOci47O(E(Iz4U+8D09PP4^hoo34>u7R7D@NVgjI()wQn z-D6j%+!F!Ct~UNwYxYpMr)L!(-~2ZlHTD&7o?ekWJmps%*L~mfCb!Eb_*(qCg=}lL zJKpY3LRlSIo!+>9Xz{hXw46&XwrDTT0ZjYmYDVPB=1Y?v?U1z@P!3@nF|{|Mb!8wk zA(^kNIJSqYD-yX_SHf{D;Ewa=H8mn()h@Z5oz&#bPXWQMT!AlwwLK3 z@7iZNVXz64$)V;7T4K#?B~1jJ{=w7X6vWmPP23gN&|yRkOANt2z2R~DH(Q9RlLzCn z)FOijhfg6xkcxxpJa0=u%MGs;P=``({$N>q*i z!$cbcJ=6cxq`~^X(WJr1%)!X~|JS5(W$>Gl*XrhF)9Q`~7zr2qF)7A1Nm|n^ z&n~~2UXG+N524|B*2dsvt_?Q__#HjL!r-m{w6_3hS=iVC5hK;^c4y&dA-e`$>KtFv z_Tu5Illux!mRJ!kU@Q>V*;!iKMDRa~jnun}(NQLH4h&2U#5!({nxsdq%9b^%uCd~KCaaq#i)-q~O*t9dv$bzBf)Z&C# z-|&~uxILCnO7B!J`VV|l>7vTMnvjb!nh(Jz0?Go+r0&pFD%m-zXDCKd&H}(psWxUp z_ky129wA)I0^2#m__2vtGD@v$#_>ut`jv2+Gd-uW})Ud!u#>1XJ{UvZIV-4tH=>B+Q| zJ_<9K+z2Bizo^>SUOCyx;;0MAO^_|$pwV;qAE+KtztX=#rs-MKMqF3EsCuJooe9Dd zNvmSO3)l;-#kP}`N18_{$&yCpjl%BgZj1LwgSZK^%=hzwh%M4yo`e|OyQ0OcMZ01?@w+Kd4mDkTyOg^$qQ`b`&(Y>r%Mje~qjg7*lKVAVO9;Ac_hT&R_1ZNQH2NzEO z2S0G$cL?fFy7+hW9xyuNM(k9$jw%fzE5oXFvyGGKxmv@uMy(BK{c<9Zrx5oJOtJ$*1F#$C5`AM?PopDXx<$gAJ`? zv17GkwG*VryA!4ROreY#XbLrQH!3)au;e@}TGr=-AO8c7A%vkh7(5JKM#)iWqt=Gy zcaI~$BRd(>`C%tBdr<#Agi87?*nJ z6M~MtdnAf5ToKkyDjq7Hq0~i!3eipc9Wo@ZES&r{guAVaDr+dHg`#U@t>NC`%5~b$ zkYw6ABQ+(NXFv%9)YiltQgMDYN}cBpxw*jVOkWu?vfkQZDm`Ie%rdV1g|Ty*SNfk6 zjKVv@u8DC`UgHcb_`5auInNt)v#xqvrg#C*n7Vm_-lFu%XsKkXbLO8ASbMjmo@_>I zrfU{%Lw4i$+5?j#ZuKwAPBercE#W2nCwT+APU$(RjoPm=^Dg=!r1R93tlzN`%G?c{o$`?5a|Uq{g?@alb=05GTaXlp z1!EeLMposHhBPQvnW|mKOe|4oDs9Y-2fDMV+Q|le3f4 z_MD4Lib{z|*AWm8t?X4J){L0Q8ivZ-`?lBeM7goyhYoe>3WHm=c%0r$oScM|otSeY z5#=~QGCXKXz@~3w^eyP6tRWNEmM|;H$W<`5ERT*oS~zBDx{HwSqn>VAm>eYgDnPqb z`|kZ59Qg8B**q_n!7k-638OYVL@+on`fl{Iozp$jb~F^FL96Wk4*rC&Z~X$N>VyCA zIWSRilE<;(3J5c9KSRYsyK<%A6P_@=brMdcG_fw5933|$BZ;gv%Dj|9TQb$X|?h#Ko+<`Rxax?d2+P{wkWWa#B| zS3Pg07pOgo2QcJ4oQ#h(SsafOS2Kz@zBg7uar09iF}XxB8D3!M4VO4knk3emTSV7c z(iKlK?Q0A_KXzcc%Z{EbhYxixZ!tc+!L*Y&5DQwk97UO!T80*kk~i{Wo0~hG2wOC6 zS@nEg2b3{2x{RoWl$d65C@6T%j}SZ52=NIm z%OE8*cjhe!{NB+P#m@xu4^~F`Q7!_-fDon{V-daxcjqpMLbrEj%2R3Wzw`aD_NtR&s%LQIm%G5^w?QSg%XlYY8+FGg%ne% zMG=zIDLJ*8w*2&Ds+d`oqt^crai6A~5dY^q7^v6qE1neNU4(vS zQ%oWHepQQR8Z+3okY+CLkfJe>%qZAk)Zeh#uwuZ-5SSFQWKGyOv^S>gf}WA%#R#Pm7e%ctz))imab(XjikkDFJZMy7n9S;x->icE?cT~8- zPrC|RKVIPcf5RX?LPPJJPQ5^+X_MHZ+Qh6?yptM! z5`I#C5{DWzwP>(mvJnRxWX(Ll?MTQF6Ke>URDl!9d`MZPPLdQxakOtRk)c#zoNi?m z9IU$|FIf0m!_qjQt7L?hXk&x-T-t99eZrc`-~e=1PnN;>u&_s~$nEEaCV zIB6CIr$pf1Cd3=GU@pZ}xm=@im5s6)q+j+Omln?;$1THEA|d`r8n_AYZIR0?Jz zhn`n20vU&jOC_B@xHxDE&8_#YTF@XrHCgW3$`7sb~`Cew{pkNs^%%}qCAX^6l_*Q@dkMQXCP40-)szMB}KG{$we&4VMZ>fliIP@c86#Y08i4sEa@G`qK}xy5pWtDk37BA;c)f06zbb_4m(4a ztALKyB&)6@{n)moc%clU2?lg;92-CT`E!&xkZgk|^J;^Ao39q$)HVI}RS7YQD( zREhO#%#d-MZ#m1T%AQRJ*)QxD;E>R&8TH(7oLS~fg>^{t_PV(a(-;4D(kK~|pZQP1 zP1@?34PGX1c-)-qwCqx&sY7+r41&0-)x}fRBbxc!G)7y-yDcNay%lj~-(`Yrn4t1|uj;4(r-%{`8vR7I8D{^CD z>g6(|qE*i3wJ>+%wYxFdiX&L-O76(Jfn+Frzxe4OfW&hD(aSk85%!h(;ty^X>k?PG zAy3Duk6cNv89Fi!G9Dk_k3eKxWYQv`Pbw!`_K){ryjqC*Wi`15<0B23-pRJ-MQ@L< z&?zfRbS*8E*SWU|uEnY>?FeXhTua~h%VO+>$u#lAOJqr^p9*>~cO?RS#BR4=pN zTT#@d%cIH^9~tjM5PZ`fTR#Th8QMk$-=FS&-!~3!q!y`XR!)~ZSx#NtYovNv zpDEjPa}CNKn9(r~Xd`tJ*3%l9R+BkNcNL8)r^=_Qom6M((W*j;Bx4wPc2hGmE?K9? zmLmjPugf?VTaaOqwNhQ3=ef;WQLrbtj$?PGY+SbXyE@PI3dQT`T)00M>H-QPvARV* z*4D4syS%KYnMhV<#*wY5Ao^0=TJc-yUTWWJPJL-#QQAhbwKTd4j2`&h0qtcU-XPH& zl9m~`goQa-Y6Dg_sE)V;-I!LUl3-givP{}GH|8$;loJd}ivbhqto)E$<=LTem{5m{ zEcLQ^ck}&g1pyU8Rn?XD=DQv4$0&z@y%Df!Mny#D^4M2QE!!L@5gFASOqmoWtflGL z92c6gU4%MQt}5+|8(J6CKD``e9CxSO6mm|pmE%*?r-vNzgjrD<8Vpo4rXx*Glh@O{ zc_;C?q9QQJ4UROa?~s%Cws>b!_e8?1s(Y%vunAOi?ro2#h1gdJT(NIGuj-%Nwq^SFVaNS?V-YqmMsxt!$S}fjAvjgpx z4b|wXs5Ulo6Gu{ImI5S+R=hyPje^HoLe>-|C7g>Wz7$NIPCO>mOdWkqb(C~0HYdYI zX*b?aH*9_i^bZ1yqpSKEnKuS>%`LreV{EgHig%kYAR8r?nwE-7i7;+)++It$9#W~D zi#ttAja_t>pOZCzm;%FI^^@6#DJxbYEuk!i2`Lnr>P8dBY#1?#Ql^hy)A`#{b_}DO z)O+iwS~_MUj*&Gq)lEt_^#5j|o|3jx5}gPSh9QQQ@OZzmhI;*kBDa|qsTISfK5-Cfx8`?~r0aTD)gqdyuShWmRji%6@D#eM$_0RFn; zviCPrfRfdPLV?>@-`eDkG*V@hR81O46uDTmCYgx0kZhT5CEc)|(A}_d9#ffG8AW-7 zJkoj85tRbcE82=mQ&XpqRe+8pnXO!JBv+DPE7oMJwqVW5f=u=niYV#Nw967x2_;Dt z)ug3itER7MhF)?tS+Cz|+~KtDO089@Wzjb4nDwl=f$|D;r=W&*YKEPDSj1IaHj)UYycjU<^iBlPFY}-_f?&nKup7%hw!>zH7r7i9|%Neji5GMByby@5WBOu^c4vO9v0*tr(M+hQ&C z^p-jG(&z3Z3CU0YqDWQlji zLeimF+wzuy>IibEXGYhqR*u_(4c+51E5%qcoNe>)5FQ2bsW_>0w!%GI9a)+&$J?d! zNV;LIV~+xcU5=}Sk27Nl^Q?j7K18c&0b!& z=e(moRgBgYqqe1m3N%W6wD%>8_iY?!@fYHZ;qQ<|Xlw&Pd#s?0>eK52b!e>~Q+E|o z1$%X8b#Pb&0*$1ZB$IJ*oT98Ofrx`7g(I;<`81h^v})q?SZq?*@!Cxo+Yzji2zG;E zHd)~xVxOY|=HD?%HOcxRb;+t?p<*jS6%M*)fYK{_;#%2C>8+Fxx5};fPEIG=i}~e+ zGH}VJ(#mq9G6+Gh&)=~~2ZdtDOE3D>4}FPf+`I0n5|4^ zUO3tu3bY!8K|Ey`Jv^)(JHSlcv{Yg(J7QX1j$eY)5*l4^A?K{)NeZ>n19p~q$7EK{ zi|N9*6z1v9tS-mvB^y~S8s5GHpI_Ta8XO2K>1wy#EPa$62kyJhOf|-yhco8gphnDH zz4fCNKH*Yg#7eXEXH-F)k3yocaM~jmWoqRG>k{>5MQ}MRy+qu6jsKLq7kw|7Nlim0 z^&@pB>d)0eFUW~#bXUI_ppL}fByN)EgRj~Hl^YgzXjaTymZCJ+4DJ(8Dj|atqKCub z0Ubm~Px7Tbs=CP?iN>?7axMOEMTWd6w+TUmO0%&*$ojHDhNiA`Yjuif*zBPHd4(>E301Oy|rCC$=58v9E9#()r`? zoXm!^+TjxC^tgWAszC(u7a~q-#d@!DSc1>Z52rPLmQNQf7NB0u5b37zUe%DPWW%3E z7|n9L@w`FRu~esc*pa#JWRcPzp|S5|oeR5eFEfim7?OD{5r9PcU`_6RyHXg+q_ekF zKj^a-&fHbK;6*GR)OxsY(Gd-fD*47ktG~=PT`Zh4dau1Oh_z_nOh(}lBu5S{pjNwI zjtVFApQ-XC{k!qelTjY*P#=cTe?8yIVF!EBdl&z4eZ>FAnn8ELN5oc_D&H|#&Ik2a|FNt={EGMvzwMp)iz8oqd%0m@CD4#V`WD z0TLkD{RF-JHG_~wsL+4bXx_F92D4{aK(Ys{bnXIS22X)_knAZ_O823#Lb-uRK(a!9 zmIO-%AoO^ zi1kwYf9hczzg0lFL;qP(3`+zGxrb(t&?cwQ4Ligu!oVTrPD)O>Y+!=O3iTy75Z@<0 z9H()v;v50{^c#cSI&$xJPJh>@+CNAq@^(d^_hw*OfWyr1dr6AtQmA@ikc@hXa8C)T z$S0{jrkEfT#0;L!=W`AR4voUolb;7wuKWD;o0ctEMyzCkBkE~k4oMc=n^JD{G*e{R zJyk9oHYs9eH`Hd3ydCoE>GlU#_GcWgfJT zn3!fn{A;$Azjy)*dAyYIxw*Y0Qq2PHXc zbL(Lo`N0wH(IE}ozw_YM@J-muzFQw}`Lx^($m1y$oEFq9k>=Tgeu1F+ERcCfu>m$B z&M$n)$sHEF%n&zR82M$G5l>8A&27;pFkT2WRW@cwT?jPzszW&FKK&BaVfxvlbasN& z=rGAUkTA6q^zrp?Ed51=pha$at-_0lb+82X;`bf`$HM1-k_99=sBWSR&CoorP@@Jz=NoIDQ;=Jvm3DjA}=qkY}y;YEno}*3u zu2~1T(=-Mt%1pC$UJbxwMGwy8(ydnc;`?g@Y9W zR%mch=WMt%ueH!`v5~u#tBm;?wV@^weVx`C3()~Bcan^u&S}Hwil^EvX5A9kchWaaDJ@#)SGMM+_`wf^bT$9rZa0 zQO*$$o?)5n@wC|5X=E2|be-_JqGW$+&k1C88k$SZxQti-IlN^VsvJ(f?>=6yS+H4Q zn1A}nsf_;bZkC>!kTmovk73Hv_!IT|D~5au-UC}VNVgZ5`Ou@`+>U>aliS0Zc1(8O z|BZ5COYosx=3$Yrkit1vU8(HT=!)2M0dVJZiQzNu#&9V&V|qNvcb8by4ZzRba(1?2 z8#U_e;>X;yHQFThf*Vt-50J+!^qHkc!~Q|;M7URT>v`k-a<}wsQAVjt!Fu+-Ox={x z4OY&CtgrX*TZw^({83C@Z*IqvJ9kbusVZJ;nlEVTnezA8TjvvYoX9?DJer|`?IQPL zjU#VP=tHo|i3VkAJTE#@Zk9V^%N_M8qNyCN>Gg6I_JZU1Zf2&Y50_`j!*z_z`(RBD zgK18?;ra#%5e9q;^f_sk@6bslZsZrE!^TlJSE4hx1enP+VF1JI2vrv6Jy86Q#59SueB2N z`8|EM`)qW+%z_yQk1FIg?|J)pBkGRB_a_*2iPUxX3R(B&FC7k)&-Bh>mcT(12eIsT zowr#gJ0{fP^y0Gb?U%Su;O84{{*L>MYs67POkPyBJP9N^y=16a?^s! z&oR{L?aPVe@v3Z{{xw$u_S;uctRagZaP}TWIpixX@{GG#(q5^WpMvQ3V%*bmkztCS z6OIUlQ(NRofqez2a#+V7ZT2T`>+1K6>*!ehVyv321+VoQ{od`1^XGENQYubQ2jv~&IVkk$I6NciF@*#%9W?r zN=v{D&p~|WD&8ZU?UUOI45)XHR8Wsj5;s}|Zi*Yt<~|;@!|I6>T51(Y6;MvlfP6id zHhT;slF)N1xGoJ4Z+yT?4+e3OxBnqCdwGYr@#o6{!1v{qp)j4jaB zO2BNcejT0ibO#(LCor!|j$L^lRAj$0)KnVC*U&F7?bbdl%W)8jK{j#)m&H_-(fLZwG`~Ua{HDW6xR%(R2&~*dwMTnwM(yzgx-(UNFxNBJep&+i) z%E83}n_mIEZyem`uR$O5!+$wK_a5PLqd(_($b`;tFRwtzjfS7S_@ofeZZIK(f-Caw zVs(C{B<{_j@6^8oz5IRs=+L%+T6o8I*n`3hV6GtESwY_3?O?2GUf(^y_2Tk7*z2cg z;DpycmUPnvuO9|ozx-tLKES}f=?#5LaT127u=Yk3zc=!wb9-GvA+`j=vUFz)Xy+)W zFjr6%#dB*Akutt6DU$x-RK`ngS8rV#j<6S@n0lIszydY(_Z*XCt-oWrMuAW^ zr?0_7z)_M?VPRosuNQz^ZA|NGn@G1;G&fLBe|#F7Xq)Fpk#i?GfA|CSeP}(t0*#(B zQxM{g8vy0MD|7@*7uq$>>q&8^`xoU_4uA4(jV*26C=dA zb2Eu&t&JG+31Gz>*gi9AlANZ$M{~o({I5ZC4H0PcCa$ThE5(zWVdK7SIa|jGE`>SKod{3VOBqMB z$A4)`SW?Ytccb1d{Ba?s{hKh2?$4 z9=vsF>-HzFHg>VQ+t3hMXu0H?^wc&SXrWYh+JpshydGuTbU z_7mAf6BIx*9Hvs_bw0AN3z*0dgJEOXvyb~sjtTN5?$a3~5TK$otm(4|Paxn+9dNlx zO(z?Jh)uyDgf6tr7$lRlhKq8=McbTTqYB0t=gWS2yW z>Au0A5EY52MZCppdr7$`3^Y6>JP|lcBr!3h_6USUq`Ex3md7h@q7aU0u1=3c!CGWIQi!QB4Fg4|Naa91;9vHfq|17 z0FkhKb5Ic`@=SpR>i+^d(o~)q>c0po)Q~sNpXV=C^W_B!0tHc!Dan=ptAK<+LZTp7=GO-e!a{P9UkCnQ zBEKFAvg>{h9f3{UijbtEk=Ch zufhHcG~_RV2E6}5?>|ZaSMVUk???W3nGTW8gyzh;cF9h){Bqa1j>28>n#d0cC;27a zVo>2PkPgWuRk`Hy&@lqbdjzL6EfbcD3dw2-5lFSbMmVDIM%W|!;-C7kE`{M7TEke>`iw~REFq0qizVwE z;@TCtO71twxHKEjN9_>HrN%y{+1zNQ;7rt~PI3@AT%mS|Vu)g_Vqjv}A)=2+zuk(X zOX^(VanW&pxi_Sw+}H*w$3!(w>fuI^(Ow)GR32F$fb(4RX<7j$-i%(*WyQj`Of4sr zSK{LbLpTrM98cuugTk5vv>%r$59_5T=t_Ws8c5~q!gohGE!K?Rh6>u;YLe7JF^y*r ztml*GO}Q2DJS~O`O5tPdsTaE|0_o(CIe}HlQTdZ|B}YTXc2Vs}xuclQ3ig)t$M(at zIEf%PFl5~c1NigUP_>GIX7*L`73*3T{vR-O)V;e9j+%T=BHJvhx$0UIi5{3^j#cyQ zCFoGfJfYok3%8wi`1<+g!J_s@t>ue` zt)3?Ok(SCMbsIp+m?>STPt@b6M|52srkR9h!bP)1-38;4;*w#~RA$8KYnH4T(I&&xX=B+FKGma>zYfL~^RpC%138g?*9bn62R}LqL(>S_Lh;CLVwM`M z$xK2q&I*epOpc~mp4sX&ZA^ytv_^49B$gKH80u%%n5;r8B9-0J@QRPd)u8B|<l` zn1yTr=E*aZ`DrPM6Z3I0DGp3;j-TcYZeQ9ZuV|9qXGMCxK_nGdp1?OZjDg zmf$Cijt3`;)64zlNi1~x_j6pfzUp9F^FzDEa_@sqarY)ZOAn@n?A@9yo8Pf4&ET= zkr2eUn)D07+3X01hFlZyXFSf1#BGUE-?spE#2>Gy60zA%Ne#C$VdmX8FVsUCx~rm4 zKCYj6n8<(^DQU>;7i8WY3o|qFVH^S7?YK-rp^Hoc$oCqjG^zB8!d_@^N0Lt?^(U+* zHO$ch5&E+rIO^$=!}!#@U5SP2cBk~B?~!lPa2@19!?ec9z*&9Jo!|hEEG8}u%A1LW zJ2hL}p5CBQNlF9eo04vv>1p!Q-d;HnMctEOOR6%EzTNI_Vvow#(`(vw-60?T({a$b zGtYS2;=&@B38a@$QYZkrZPB`1yFu@lSd&>q#G6z9mCaM=@Lc=+m<-R$6YZ|WP^fb) z!2mD!MZCISxZ!w%z}-CYLcA;?XxKl9{y*T-Q?i)5WpO(Ibo)98pX$7UhrFm!X`&D&mF`gL5#_iux zS&6dzsI1&DW-&;TyIUW)3+r+t!{azY+Jp9a@9@fQPsQN89d7eZ;^2=UdmHU}vHHBa z?bKrJ$a5M^cd(hAo4(kF(LS=KnRL9QHwtx{d*5A*Dz%*ye)WKw`C>n*C3qa8Fbj3p zw5lC9GE7Q0^A2255w>1?x6pX~pheR_Jjfy4W}}(Qod#xl=I*>TqWH5i#yxoLy4ViQ zqeQewtg}DFh!c@e&KT-(*RO6?Rz6lqvbiiCkC2~ikJzj*BhJJoQ_&%XQ;Ncnp)n%d z-PWyuV(5&LbK6KBsYKRb$@+x8yWLj{Zbup~y#49D&A9NOz0Ob7rLij`U_xykG~DJW zA!xf~iK(TfrL{*!SM#8m(%#n*k(@rE-9lDbG-jq*PDtwDEv~EIvH(COPvKZp9`ppO zu7VB-dK#J&IiyivW{DJ6O;M~KYHyIaHyqcoX0<@9xKh4Jd+mw-3b=6W`cbZDKFhV+ zCaxGaYaUUdS=^!6=|H*D%k158#due54Twr%)i|V zF%h(}gJCnp^O8cZ_$#zqg7(@1^6;ch0-W`LL zUpvt0)a5aWfr>M}Z(L1+)+D0Rr-IGVQIU&(LGHAXxQs#lb#FG2el7L5*TKchw~LtY z5&-pK!Q6QtzYjPUqo#d(M1KMn9Ia;v=^EoG~_{z|i+Od@qQ)<}5 z^eu5zoA+>LIl-O%aUd;eC6kz~F&JP{7*~Q&xCX}SH~M+2#lv>dQk*7*+REi>BOGhH zhGby1X8Or8jrRyfI2Rnow_XwIJL4^|u{sfu__srQT2tKkAS?PL7VFCPk}G_#6%BJw z(H@T9uRmGcmiSwUi?9fFMG4P6-WA$i-#P^6zBxl-^d4g69=*Gg z@H;&ak2Jkyi@#9jGq&y8j}8g|_)#pr&F8&ZJXWO9E-Uuv4G1GGK@j-$ zt^=f)e+NWb&`p8x=snLDH_o_Ntkw=0{jmWJsuCCB&b^`T^RKJFKL|+;9xM!JPr1W+0F0hWVhH;|l z2=Fi@&QeOPQF&m%fguS1e`19v7AcqwSR!SHWKOz6X1U%L`bJ|zZH9h@@z z9q`IjE1}dQv6Sx>^FyScL5rOW%L0opCMG#{m9DjYbgOv)lx4^2jHox&ap@SSIq;*` z+Tf3O?ZmMdJ-F#G0Ur?1S#6N-@?pM-rjU)0)qZr!Ac}yWbB(1j@j1_Wlqs@%Ck78sC^hAn*8Fk_keUsGEYPH@ zcnngrZ%gSS7fhDqY zgW;B|Db&B_n*4vOc01%tT{Wi-u>|ME5UZVOB0D#)xlKhW*87>cGheh2SlvW*xDn}XmKQKf-#i_uOp-|>(O)-DLH?T4iiYKlvI zR-0qW%r3hexQ(@Nv3=IeN1{lzGe+qyDz+Dr`U6-wEWANM81hfX5^mt~71E#$eVXgT z6KV=T)~AGPis-<4#qNr)X(Qz<=igsYsZuWfT82V0qi29r5J50T8C_mUcU$UoGxT za*Q01teyAuvtzv0OCRpduaSFA48NpHdev?b%nCrDT5e ziXc8&!YP8)u8cpq?rw%hbH6@Q&-qo9;j56H;ZJmA;rG^)ktT8Li0K+s=DnON+)mMuOZgCW?37X2U4DEW1 zSptOT&R?wow0EyP^iP{*R@38tIcOmv3-0@K(YCO~-dPAAuqrQw>D&SOV}JFud%gMT zy*WJm578PU+y5h4W58!%q38Ht8Y4a{6FbBI(wOk+|9?Rp8xuR@|8`K<45EyziN-3; zCLV?eEPgh>v$F#}MBfk3L=Vjo>>MUePC+8xMhF8G80g=2Z7&!PH7%2G9+L~0p znCtkC9WV>y-vLa>Q1NeALA1Yrd>aD_{9|f4R2X2h_ckEE0f4+TBsnb!IXFBba`JZ; zxR^MgGJmhUm_IEaKNM_`J5oKx5DzfCycyc@4X@uHh<#uO0KbHU!|vV%fCwBo5G3dT zKqr1N)bNq382vboJ~WsR!MML)@_w>|03lDwzklD~-|qsryWjS~P1tC3{cw@afan6< z1mJq%MEh&w06g(v$8+Z2|EvL!(8}NR{28_(F2Dr&0onlF$kBnGdSxC0I0WJSw{`$W zGdTf#GtOh0Rnsk{87A-eW?+UU%N4aLx*~~2kHaLr!)0KT*3mLS6$o_ z{Ume)z)wG*AspYr^v!^M1m@r3hiMJotqK6JhzJ3kyAJX_c?2QI%N4Wru`U0sMFaIs zZsRslPAg#C9smXq^g#H&lmUtG_qUzl;@_V+?&#a|pm@k7Ax5#&t(Ks*SB82zcYpGO6R55Er%LIem4Z$=)y-?w5n1Yg#-+V&Rb{|Q_T zVs`@e5B&G@`z-IKW)S;;{>}ey(NC|zzp=NVF#vTgFX0cEl49TokertQ0U$5FI2|8= zoRAU-9t{oX-(OQaAoyol!k@%yFvkF3qTh>`m%QKG^_SScY(MNlkasg0p7$DO0)W{+ z${kU8Wq9u|kZ-@$ue;3xT#ech+9 zAp+3*yYqT=Q2ub_mGa}^`TGF@frPZ<<>kh-X; z1I){v6E5+=M$w-U)7a@Q!0@ufO`5W_tlD8`+XNPXP8fk%~t15j@ zl0mu|oFdbR!g(yS(72EPfqvgU5%+y3otx`JO!sa-RQwVihVM=%(T;4=LYVB$i_)%c zLU_C*`_E(=VOW(>ijfu0$;L9#s~n= z7pwlXMh-(^a!oM+vLqJ1mo@MZyIe99+4qTZy~|ajxazVzS~3=G+Sb4<(D12>-~|o1 z>7Xn!qE{70jfVIT45js!CTbEz2KjcTAl2}7j1uTi1V(B!p_?vPv zAv)?4`Z7Qf#O-%s$f_lbn;|#>$$2Z|2&hrOX)8K2IrI|)UzVpyn9zmTbVk1C%(9bI zh*!YJ+h;rhQSlj=(|VM4qxIrp&v=>%x!&#dW2%M(6EiL}HF!hYi>1nVvh3PN9xqA4 zN8uXb+W(ouvAyJT19Z_j+#Va8hyk$^tNsptj!79!XmibP=`Hv z{c3L0q;J}t#Mh@ZFXr5?DW_<`EX|rJa#7mBDV`jA9yS|_FISVy+Q{K&EubcqT zlvx9FzarJ{iTfKr(n!QEtqH-5dAEIxZtAF#Ow^z-l)>v!hViaLbSa|K|5IJ~1#Vqf z>gDte^zvIvggD4i++LOkt9n8RbaHF!x}ES{%a(gJ#rC(-<{omjI9#kAl2st1MAn`^ z64iU_^g#yphtY9o2F*)6fK$P8y`@;x)p*;g6zwH9cA!Y7$2xMIT+S<79_mZE)h4Up z9shA~8O`oG&ndM(8(O&#{=8*WbVGdMjF<|@F#C%Zv-x(Mk|B0noTJmuSr)!5P!sl^ zNI!%o9ks)F0Lh#sw&0PCEY0|I-XOv87U*8s5m*Kdx;r8d+0a++W<34;2%tyXRBMsg z&fIMMVpE>%QF`vt3NR{vV~lqOm}x3GF`6u#ZlseCxiA-+zizl1C^rj zqieeLxXadOx(U2?`6Y1CL{ONmSqilQ>%@dM#dR&ZR&HrpFfRvnqlMk&3C<8&@QEB& zY-UU1iqQN-H@bG;dR1EiW!|Z`jia%1a;_R)0t_o(1Ibn-9_!qKri8bdqq9EKqX0&e z=}ckBnGZJ>2dQhVL}^c@ZA&RBg$Un?R~MXX=e1- z{dj#22uAs^=s$Jsqa~jxTTQ}`oi6w`N>P9#^z>DY#zbl$Ya!d6*UtTeEaTMC=Bo~(V`S2RwHuIp_ zgHgSkmgsJW5%)^JtE*HEHwFAu^fUvYYoWmCWf2GYb%#AIzJq1%&J4M12jpnjbrqOco(7kEw!F!l7{ z1%<%7B_KuZcqc%JHf|VGzV6QIPAoPnr+G2TtM|zz zBfObC-AfB`jiR4M?|+Ad4H?<=e3wJ^aU065-8keCp8E!R?AD6w+w<@Z5v%)WFkez{TtaOSYbHg4dY((OPi?)9Odt9~ouHg-3mO@mty=FOwk@pZGe~!HR>dG` zzp3$)2A<6u%umNbmHlOQh+=xi9^6T0D-;b_&MNM%&nn-os;V^A1bIq8x55=CiGKan z=9QcddZD}(l&uf9zNpQS7vEaVsOfB|l5X-CgaXFOr$Rle#yQt>^6ku35==+Cds_^l ze)2xR1aRMiR@ceTjz`IO@0>D%DcyV~vYm}6e2J%pJ3#H^_gNWp4rFpsqjb_b#wZu5 z0?qQy>lp2yL2+nHIAgwt!xv+ajZz{fB5NmFU%ncX{W6QH)f4gt4lK3Ey&MW?5Tkqs z?ei)#u@IE4 z=GealauYcLFTAQ-RgT%XBH<4)(T(&Yjj~bI&$Nb?-)hiCuF0+xz`=bI;AtW1eP%da zgLs*KU%#-|(*lYSP1pu*>C^6l;|uh}^n>^Mz#JJReYoFG&4#!IxMdA|(}@3*N~BPH zs9Zr9PVacX5x9I=ISFuHQ(c6)pnb$VVoG>2(i%kMS)z$LQ_f-tJZWLU%x$ZZ_Ji5)63uN93(=v7b4laSi3 zAJR`Rt-jnFR{DI=s+1|PXR+ScN>ry-7+`zygOvDvo!fe|~a2Hc9~%?NW86DC>v#xB2|$nm6cz?fUG5AOays=M5-@d&7h5L<7`GqLXPJ|pA$cZ zlAKQ?o>WLX+Z4;(c(OV-3VywT>)0GPDa=BP*uk@d;gPmW1^PO-bRC*;l_7;lpz(XK z181v}!)jM6&xg;)Vh?FD=|SN(T-&uGd?253Jn}xWrqj6{I`YbgLyXC9o>UDFMO`HaHqyE=!jXjy{%oT7 zc<)XYNPntWkLc}P!{Tt%-WK5IsU6A8*JKb?^opK)Dhl%j&4xKBBKw{-9F!2eHaDiY zZ>*>-Yu=v3YI$SUwkUf?oAJWlY4q@bu6ebFFMNwx%8)Z+A>Ag@X@S0W@_S z433El|5=P=FnvZA)e;-MiLLA0vIc?jE0Osyirz|g4>j5wpR_Jo`BihlD;6?=HrqUpPt6yv6vn!eYH(w-7`ru-3yZQwCz=e zF70h-`pJ&youG1-f3%x|P#;n=_3Vf?{YqGzy>zV9%AkcJq8OPZmrJ?h7Lt6z=2$*7 ziBpb&A^-TI^gN(D&7Y>>`V(4gD-jTCqJI410BL!3d0wKa0%&SO0E;?j-7FyWk#%Sr zJR>ApC(ezV_nxqeVn&6?E@}`@fQgYkR-ar!YouEFxWnfIaO3R~8US58cIHcC-Ri~) zV4ibRzIm+t!(PjyAC_aRHxJ)SxpN_zWPyU^n?fdBcP5*+b9CERZc0X1Ap7dj?xRy2 z+mnN4ARQ30s;5b-uoEwGmgn!mqf{^!JY$O`!F5cO3Ux@-C4PngbY%;-*cJp7MYeGbVKQ^D04inN55L5rVrz zcT>2s_f7TtddFftotQ*V;@tkE_8)BfMd&llb>Nb_%qONuxhl6viY1b>eljA#~IN66LuWz-VC|$(HqsjqW?0)xBe`k+mAaUS5FJG3mZOr_xfgcd; zT^6=KJZos~>fBS~gmy4g(0+XZT(Ixqwzi9?HcN%6|GOgCqciX;hlAay;_f`4v^BT(vbZ7`BL0%;pi!1 zu3=ebpWloL)T}8Gse+nKsV|m2)W%q<*biu@U%IBpb}WuwyN1D|PRY!SykG321B}lATtJP-ggqA!0!zBKvv~ZQBlnMCN_~{1~)isz!XqSJbm{M zKCLujj-fOcFWmm6>%32TX=KI4n@Mo9GXvF=N2VDHnZpLLzCGOQ0;aME#h9aCv3k44 z5|=v!Kex8ExP#1y@?s~#FO)of980gd=^HT+JYL#f;yi5+uxt9njPWnp7zjyT)6hpE zdQpz}=KUE-ThO-?{@SHX3AqcOYN_Qfjdq`kU+|qmfQ@78oL@+Y#!(=ms!X)|8=hg$w z>ZM+n)j6S<=I1;~Ry8-#e=Nh0+Q?B<)Z19GS_qZXS|{~GS)@XU(jhiwrF&J1Jxzs$ zg~3vUlxt3M&@g9D!+&V(vWv4=@_aurhyjDOJZSu~D9aU%Rc}HGmYC(XkfI3D#6qdU zzz@`GSgr+Y?ssBQE~y*w6auSDgT}1OvIcJ%axjt?ZAD6FTMzm)g5TawEvqc-^eo$ePrH)A<$SWGL51e+WfbNzY0V*sEt&Xg zEm>Mu2y7+s@bHI8l%3=dD4^<0ITpc(kL26_;p6ERmxJ4QqQ+=x)C&M5<}&G80rt~& zD*wdqwIyp$NDtV23$XA6}&5?q+lm3$Cs<* zB>y@|M%m=#mWZB>iRjY3w8K!Jyg};g-uMPm$<~nsS(2GV@M=F`PfGO=um^l+9QPLc zjIG{|9t|7g4E__9rk$h5pY_t~;B3|oO2Xcc6BV~}&c1hieooscBLyX$Y3A{kQqX2& z#{Ae~YWW=0&ZV_yi&AS4Nd^yWo@DxT)0}rSY&F3aBFkMEvIGCG(RS{!!{Ko*N)XTq z%FXiU200OP3sM@dz*S|{5~{&O_8I>mPu|BOIxB;}_Tly|^N;V}Ms+hG*l zK@6?C4P9p`rPVagUq&e@!K*`1#Mp>3yXbV)2Pj$G1;~k?(~RjscfSef22Z_ZNkWUq z7-dj(8UospY=YASV(OF$AF+k;BGbN)aG=D+UhN1q$k0^hQ}BIvJP;Oxy;=r^xJOlt zI4GUP*I(oj`3huUkU4yZ zlWV+lsi$YYY;X7t3pQCcVPV(L_Q7ADI{28$E3#y?qaUBgh~&xT`^7(QGpr}FMfcgx z4O6ftL-ex)oF$2uyyV`1ypfBzD7m}qqpblgb=v6DQvuUM3Q&-s_(loLWChO?^}TG4 zM~O?zc7Bc*oZENlOE?_RatutFSM_$|N=ZrP9tRrN1{WZNSCZSEg4I}*x6>(9u4jc9 z*E+U(yPZ}F@r|7$3yM)CLeCTP)tm4i=An*<<9s#}8DOJM6PyRdiR&LZT`3KIOAZ)@ z5t1y-BJcp|#(l|CN)T}wD~q*rvQMA6ElHOMp78yb+wI7Zjm2Hk`2b{c8BZX)Gkfp3 zy$6YXzKy=Cw+1I*(h1!*3X65tkZ4hXjjM>tzjDayM#|_gYSj3Fi6Xk@3I_bhH-DgR4g$Ul)vyYa9G; z99unC7qM!033iYiyQ0FNcQK+Q{jqEN>BM&NuGyAbgH=eJc&%72X^|d{=K|1*k$+$Q zZ&hN=zIGjPe#R)JFTGl6y=_gmGa5O=mif$U5cUCAL>q@KikqMJU*?VJcVS*Fa zT|nWwendj$%=B2J+d}4d8>iNXV3Ept@O`p+$t11-HbBY0>#*Aox!6<}61tQ);X8P9hGsrYIf(lAH~C8jWxZXJ*udXw-Umcd43T3ihexOoIdtV`~(0$1Dwas`SB z$%a|#emBWGvacSwH(pd0UN6J>7$kQy2xU9;SED+5g(yp(*3?9dm4W^1c#_>n&R@l;kY89$ke8GZi9sRVgL$q)S%iyo6&Z*?x3| zkF0Xg(>VS~i6t&U35&Wj+x&?NPJTa}WL67WLXta=jvHtDPzCLj((z_w0SBfVT*G({ z-V^nslvAs_eLP6EB`yC_`x&oUlKOR~Wbb-~I1G6~n!fX8{A&G-+%VDzu6GG#)z37k zYAC)?e7qRTd1Rcpr6m&_YS;T~U!@*|XfO}qe6i0*Ky@Jmw!4F^)V8_L32&M=r~n5{ zlZSGAj%V()PWhZw+1luF`WUj1C!IP?)0sxNZGO+4$Ta+Sr$rK=E!JOlkM>*guE8-$ z@!<0RczfbS`>qNe)Pm}}?||1bek?>BIzg`xOmP-VB;2<7G_!!KPoqd}*@dvwuX?qqIA`H@NpRu=%(^y)U1XJ{r}Y5G*E(C~i^+&jj!4S~9w4aUQ{`eQ*2z zK7a^LmuGXHkL5WB#7;UFb=;iMYVg^4VY&RcM2Zcn%PSQIW$DUJ_2yIfBPr*ggW^j#pTiSRd`2 z!275el~3%a+vA0@3SYdATBm$lyD>{z zT-0^UX?(ez&P;b9%>}a_mh)-*#J67Lf#s zc*R3mJ;V`9vuyO`u{brXMjY0=a-1>9^P4ZKC$QfQx#meu zVB}z8`ajiFMn+B!mj6{wWn^Y#Vfnu;r@nzI=xnWmLLn1?ydgj!WPw23{`o} zW4pS#ydB)hJpu$A+}}VT@H~!lob6|Se)}$aE-P<&OKUh+v7A@zoRmaSxd@RX5G8Po zfJ=-E&5yw%#wR2h8G$e`HP10IGZQB!R0kBO=l!q8k1q+l!5N0bzVs1^UI_@EH^`tu z_`oLxZ2%VI)BwoP0Fb%ak-^!Ci32hd6R-FK5xngJDCQw;fD($pC4_AR;Kq-M5VY03 z>oYl@J#+tffGA=s0AzG@aGL!~fJ3SUUk!{4U<>nvcJfyxD91_;Wp{!$8# zS;K{FJ1{YFa&s>NSK*!!yqW!|v;vqhtl$*DI0LS81;_&SQUD(XtmpZc&l4vAD^Cr= z`*5icl*^gt@jyJ-Gy-D<+2H0V$5CvIjXtx(B8zB)vtZX}5lKit<)@n{|pgLroS zZr=4nriVco0I`Ju#R!<|VIT7^=gbl=_TE3fZwBZ9a7WEQ7y&W-{eQoT->MmqBVtpp z^6&fNG6cnRbOiM>PVp!IT%n+abpUQ%Xr=+U%-F;Lkcp|u1CBlhp8T&UfCm1aAL?`{ zv6UhA-5d6P`0SVcz1%*MYCsDA$3NNz1mU()j*?*jht`RB20PCn&_n_O`J%^4Gbd*Xp*|6x}GetNr|2#^_w zU;SOB1_9-d3676mYc9ITR6oa5`)>`v9U7n~L=s_G+5EQI{I*v8;Bipb!%83?0{r@p z@R&0){o?OErC@6F=@Y}vZGLZox_IDmp6i2uU{0+u3pAMb(B%mNx9eAs?sI|5=1|3-6Q z0Ky#lBR~fTUcwuBqaETu>xkaMAA&H9|DikbsVja5=T((|3swVwt?)KlAXx z2vBP~@8d%=2Mj=f{1_W}+r54KHvFoOKcz8cd_(i01OEJb)9Jr{8~O1$^%u(XX81$* zAp`qG_qm-o)W6RxKk3_NR<7bd$zN;z^!4zk;L*1E1Vx1v>-z7)v#wvzKXKsExYyS?q7Q42e9%Yy?=@E#ppJl;M07L4Q650F7Qh?!6`_z> z7jENj`Z*;#mduM$sAt4~KSs%5*p5`0n9)onhtR$9Xu>BtK#3C+v}Q>_h#K22`JJq<`5DouBxbBPI#WfuZhZvSZv&hA#nzXlYbjo zD~q$WKAfL!o``vsCPVDtoQFV`AWDtfw2f%COmz-WzH+{I7?Mk>4UpPP1%KbI!C!V& z>P_aXM#vgUTpS8wt`1%9hChRgWExXu-vt0jYjkk-j6Yr*%z-_{i<2!8Y_7&GNvi)d zyBnrbSYG+B8<44L`hcn~Smd^K~7fxW) zP$MBX%9r>yZrcxcpcL>p(e`RbFO91AR5AaW$ryk7N<8pHzrgo%U@xnBpLoWKc9`Q+ zIn0j_p1L1IHI*ZScpbdKnU<76Y|M3+Bw8WdnASAPhN2@e-AO8$@r@U zX<AhnzoJniA!VhTs=2coFG`Oc1*HbNjJQ9upYFr-E}Cw+bD z4cORS#+(H?T0@zhA&wQxDl^=c5VP5R4-Xy-y1A#t_Nac}VodpEKPj(?!?fCKU4Eh;u zt*o5IvP{~0VOOHnm_-+*(EO>ST&Q>X^)aHTggg6Vy&2is>V4Tu*VR%Os~@0#&d80| zO3nx2ctxZ0<}w(&(|wnV!W1Uc5T}yG6(8e*xew3USF)MQTtJS&`E8+Dp8u6MT)s26 zMStf-t~vYbtq72+D*}0U)MJWS;T5*cE=;(WS+oe~&nxVon#`l!vPH}EYQL-d?}bEI z&SNDKqV@PD+!2Onhk5PIB6c#byEBj4FT-`c`sZw6elK)T3Z3ly*FIdJ0dfuGkLy4! z7@&x@3IjB}VojZce>4K)`S0(}{)xOwd*mA`(W4i9FPG@{B-gEH3oR8Jpd zC|K6}`+Hr=Bt9tP6=rZCwt6+XypQ>?{*Cfhj!t^z^h*W5^d!x)$GP6Dbtu;nOLr>w zr1`%RyK`t~qo-ne+T+jXQm!vv?)n})Xxw7ggi}o5F}=ZS%A+|Cs{*}P_Eoe8E6bFB z5j|VhBqu!PzC{ zNsWjpWp)TZ{e=Y`^h-#l+Ijm?Ek;m*FKjPPHFh5pLJ?d$^EONx70sn+k&jDwa}o9} zNLg5t0TDF|zv_Z{*?Nc=bn}3r?Qo_XPP@YUw$nG{fsEf0-Wm1DDX(h5Qb1tiw3vrfl$Gm#g?^bdy|x*d;*T}|w3Anq*63Kd%vPosF-=`? zTKbRBvs-Wh)*A})S362Fq=hx zMO>-_AFdK`mvixHmYvb?S-hA<;W^)iCT7ccW}76khlf_f#D}u*_wZ;YN1re}h_fk3 zC8ZNtTghImU=?SNjx?#aZjN-$q_6hJJTqsF1|1j3QXAH6dl?Nnr}7`2zzUjiQxPiW zdr=Ic(C)=WIx5GDY^MkVxs{^__;`24FUcsH&~l1LyW$l`PNFoC ztOIG66&Q-NWwL&70u^aJ4Z5P^;Zj6A-tZLHYWCIP$%c-Xy8sxWU(#?sRn1Cyx7=MWyRq@i)?@rS zO?o!BG`y(`rz)>e$o3WP4J{M~-UV`G4Py29 zzfAcP{g%c+B*5}dFyK0Dn4*=)JYu&@ROsf+XaLcRr^U&qh;S6V&^3#H+V3uG)e)%; z^>iUDQT_|2{#$YRM)uw7TVJaowj|%|eIy+{_$1N%=Rg@nLnEv)jpyFPuq)qxeTfqq z4`R4_jFC*tU6dF6kKSq9v`}2jn#U9t&-zsh@npdLU{l{kBkjhPRufn>0O9PM`2)w)g2)tGoOi845$x=hq{pNgo9*tSQkSKSX@RB&D=4*he)lJ>au z-kBbFw^%vv?8mJVoo`S?$Fb~2>r3_V$_xlGQvRIp;c>6As_1i-#{+<=PHuy-D|EHC z3>+4=jhnU|Q^8=b-(pSli-)(;m#D1Qn0z_6&jMw4Cqh5w1eb4HF@~Tiw5k050*}Mt zHWX|zAXFHCrN}B2gtpSN#QN=p8AoveEI~|hzbAw<6hWID@)gI#6VG(^*vwy2wZUN z?4YG6)eW5&WsslcA&%rp8N5tc|CakX9qa46ujgjBI+!3#?jf7jjqL6^6i&Rnx|(Um zY(z|tSUF{;?ShA=DK?9*VPwJ?KO0GkaFAq20ePD&LwIOlNThcQPSKqyk^OZ+EcJ|2VmYR7ACk0Kh`l@$mli> z3~mgMaU&6$-wPKD^dZ(TcQbQ8nYnFbxC^KO#cma)$DjX1{0;FYuzg3<3HA#Mt#Ro(&ZkU=$~y@JvABmIWDh2Q}V9A?NzHV`d@E}bk>B%cJA^T_z13vo3oH{>P{QbmYMfSR}|1NCi zmhm^qi#QQr>eF?6!IzBH^AdWthpsdaQ&fpf4B-GuH58LAJDON$K-JK)^o@eCcy`q! z5*35F?b|feu|7xFWzEc`84WkXmS#R5l*z&z`XtM)?nC?Ecg5!5WjN+??hdjpNxnN< zY)9O@rDyZ5dE@P)=A=%H{d^xqu>!r^99{v|+D+uD7uAWof6{EXkirLG4Fd+>%R{|B zcm)@xC)w=!L%MZzR%6`>m(KJPw&ailh2e(!UTpzDyqoOE1v=qju?)t-a@IndBLx_b!qkOo=kv6%n$crn;b{8dNSk>DNI5$-d5gV%KP07z zvKknt4`U5snNDvTF0yWt&z#HyQ|K%kjOgif71y%GRZ?imoZ_|61py&u;-f@Ldf9AY zr+xc{ovonNS=t6*I!B%3jb8aKjReteRrjPp#sk39v+z|8FPrcDB-&VvL`rXj!>ri5 zA1mEnl<#zi;UcG9SgI~4Y16KhdL>T;gR&WaU_;!yMuEj*8s)_&c$A;XBq!IcHI1++ zeJVK;UuG&fV8fO!=HRnS6jxUCypOjolNkw9ZU+Qdx~6uTTt<;BZOgV3_g^~fa(x)* zYe14UVM>$->ulhFp9D-x4KURLZI;GCYN}~sVnHm@%m_uilTC=Mnhr(Nm4^bVUcXS$ zSy!uXX0RuwtLh)TX^uTRQ6rM=NIQ3KICB%({cuc!;$f5bl=nxmA6^KWBs`YiUs8c& z$+c4}mOBFQ+F8&rn_!=X-Zx-_s!Gy6gLj}K#A^G%l{0jn3*n`j!c(R_VH+;bZht~Y z)wI-45eIzTs`6`FKX{#9{8M8oYq2FwjaJqVhVRw@ihKwWDW%EK=~KrtTI*{cjJ`#M>JW7 zl~SNJxx~0L3cotK>5wXZaN67m!J%{J=2YwXZHtZ@=&%9w!3eEfpg>?i5AH&`Z6ZU1 z2$y1dZ6PGIZe2AiAEr+PGZZ)kSdGIA#D`2)ZvJHmLiW;+$i&eV=y-9uCxysIXGxOn*R#A zt8^N(%>-E%oV#R_BI_?%8dfU~w_ELGa(D0@n~uUe-33#Q&^|uNs3UJxiwl9`~%~%fr}zTWR+Lc#gB#ggf6ubA$ehfwOj1; z8WN?108{6V)h~)B({b;YOO^G4?baelx2Qj+ zlrri=Pe2lN8nFhw;f5v&7B2XdawQG zGiNwO{36lgghe=3{2VZrpoBFK=3K{dPo+DR!;vP zPiAeqd&Mo<)E4aEDZfg)j+(g=TsY+^u0OxbLi81TJcELY!x8P45PiQ!pAdUfOSut6 z5Y*9_A-Iw(bwBkXE0st?OXwk9k1XlhU~Lb#3^Q~Aa8YwE$zcv!fp6(eaxKn$S2 zYG<`FP>Cn+e@XV-oTf;O6F(vTv@N*`{P@?byWTwInZhHwQv42~EE+yMV^e5G+g*N( zm&8I7ryrY&(sWDj zy{e{8ErxB++L@!-vJLg+eCw8rBkU^JEn;c1Z2;s@ad!dft4Qe`gtj=^M#~0VgJ4>8{* z3g;va@grogC$p{^SemfA-5B z0Y!k5q`*S=Hu63iP-fx!qBa3JcFQNzM+M@qK_}{7OMZ7uHuN$4mFH4`JXV%xrPpNo zTjPU8o_itcNz$j4osLLOVXnL&bG-}o));OQa%8i?CHNoR@EiWNUoWsy@x8GTTSKY= zb|E-ILHq6au=J3;Cyl#p(&qj&WdZcjj43Aar;)XT(p=CVjwATWcijGp{m&X+lz<#* zk3AFAsTCjpxWtvqLq2Z0tow;{k12e8+%I>QIoDk4@eMtr!+Rz&R0sydXH`|o3gGK= z;D(Brqpquxi*R-U>VdK6g(NsCiRUWa&|UA3wZZ325!S}n{lTC!W!GUJ)=C}VC|ffRr#k?^ZD zR8y?$0ua`ut#H%GALWJ3cG2}arS5ZU1FFc>%XSf&Il=$sYwCyp6ja^!_yamf6hzPrcVh(@ zD}2hF2YjsD9IG<5;e1_8g`%Qq7z?(m_gE$ZH#=zH)uUj+gAVTG>u-{C`X!Ip?`+uK z8#;a}`Mh%qy&jq)V;irikEU^C7I0-jH34uw)RB!A=G3?kz6nOq4U>X2>mrEp>*vo?INYdho%AVA#ZEg2N@bT`glogWR?&Kh3A?Hslk>l|;}^ z$*3xI{qKwyp3 z5wD(4T-};^ms-yy!Cqn2hv>y*X91+7iEPDwxhv#aPEf`1G6j&1T>^{FzVF2vw^>C1 z(Tsk+yr-->L<5%Vifm}4vuHl@Qvw)#8pG&XzR2{#UJRMhQπoo)U5G?vct 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 z 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%0DkN^ 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 \Dist)$} + \State $\Sopt[ij] \gets S_{ij},~i=1,\dots,N,~j=1,\dots,M_i. $ + \State $\Dist \gets \Pnorm - \Enorm$ + \EndIf + \EndWhile + \State Return $\Sopt[11],\Sopt[12],\dots,\Sopt[NM_i]$ + \end{algorithmic} + \caption{Scaling factors selection algorithm} + \label{HSA} +\end{algorithm} + +\begin{algorithm} + \begin{algorithmic}[1] + % \footnotesize + \For {$k=1$ to \textit{some iterations}} + \State Computations section. + \State Communications section. + \If {$(k=1)$} + \State Gather all times of computation and\newline\hspace*{3em}% + communication from each node. + \State Call Algorithm \ref{HSA}. + \State Compute the new frequencies from the\newline\hspace*{3em}% + returned optimal scaling factors. + \State Set the new frequencies to nodes. + \EndIf + \EndFor + \end{algorithmic} + \caption{DVFS algorithm} + \label{dvfs} +\end{algorithm} + +\subsection{The algorithm details} + +In this section, Algorithm~\ref{HSA} is presented. It selects the frequency +scaling factors vector that gives the best trade-off between minimizing the +energy consumption and maximizing the performance of a message passing +synchronous iterative application executed on a heterogeneous grid platform. It works +online during the execution time of the iterative message passing program. It +uses information gathered during the first iteration such as the computation +time and the communication time in one iteration for each node. The algorithm is +executed after the first iteration and returns a vector of optimal frequency +scaling factors that satisfies the objective function (\ref{eq:max}). The +program applies DVFS operations to change the frequencies of the CPUs according +to the computed scaling factors. This algorithm is called just once during the +execution of the program. Algorithm~\ref{dvfs} shows where and when the proposed +scaling algorithm is called in the iterative MPI program. + +\begin{figure}[!t] + \centering + \includegraphics[scale=0.45]{fig/init_freq} + \caption{Selecting the initial frequencies} + \label{fig:st_freq} +\end{figure} + +The nodes in a heterogeneous grid have different computing powers, thus +while executing message passing iterative synchronous applications, fast nodes +have to wait for the slower ones to finish their computations before being able +to synchronously communicate with them as in Figure~\ref{fig:heter}. These +periods are called idle or slack times. The algorithm takes into account this +problem and tries to reduce these slack times when selecting the frequency +scaling factors vector. At first, it selects initial frequency scaling factors +that increase the execution times of fast nodes and minimize the differences +between the computation times of fast and slow nodes. The value of the initial +frequency scaling factor for each node is inversely proportional to its +computation time that was gathered from the first iteration. These initial +frequency scaling factors are computed as a ratio between the computation time +of the slowest node and the computation time of the node $i$ as follows: +\begin{equation} + \label{eq:Scp} + \Scp[ij] = \frac{ \mathop{\max_{i=1,\dots N}}_{j=1,\dots,M}(\Tcp[ij])} {\Tcp[ij]} +\end{equation} +Using the initial frequency scaling factors computed in (\ref{eq:Scp}), the +algorithm computes the initial frequencies for all nodes as a ratio between the +maximum frequency of node $i$ and the computation scaling factor $\Scp[i]$ as +follows: +\begin{equation} + \label{eq:Fint} + F_{ij} = \frac{\Fmax[ij]}{\Scp[ij]},~{i=1,2,\dots,N},~{j=1,\dots,M} +\end{equation} +If the computed initial frequency for a node is not available in the gears of +that node, it is replaced by the nearest available frequency. In +Figure~\ref{fig:st_freq}, the nodes are sorted by their computing power in +ascending order and the frequencies of the faster nodes are scaled down +according to the computed initial frequency scaling factors. The resulting new +frequencies are highlighted in Figure~\ref{fig:st_freq}. This set of +frequencies can be considered as a higher bound for the search space of the +optimal vector of frequencies because selecting scaling factors higher +than the higher bound will not improve the performance of the application and it +will increase its overall energy consumption. Therefore the algorithm that +selects the frequency scaling factors starts the search method from these +initial frequencies and takes a downward search direction toward lower +frequencies or reaching to the lower bound. The lower bound is used to stop +the algorithm search process when the new computed distance between the energy and performance is less than zero. +The new negative distance is mean that the performance degradation ratio is higher than energy saving ratio. +Therefore, the algorithm must stop the iterations before reaching to the end of the search space, the minimum frequencies, +because the all the coming new distances are negative values. +The algorithm iterates on all remaining frequencies, from the higher +bound until all nodes reach their minimum frequencies or to the lower bound, to compute their overall +energy consumption and performance, and select the optimal frequency scaling +factors vector. At each iteration the algorithm determines the slowest node +according to the equation (\ref{eq:perf}) and keeps its frequency unchanged, +while it lowers the frequency of all other nodes by one gear. The new overall +energy consumption and execution time are computed according to the new scaling +factors. The optimal set of frequency scaling factors is the set that gives the +highest distance according to the objective function (\ref{eq:max}). + +Figures~\ref{fig:r1} and \ref{fig:r2} illustrate the normalized performance and +consumed energy for an application running on a homogeneous platform and a +heterogeneous grid platform respectively while increasing the scaling factors. It can +be noticed that in a homogeneous platform the search for the optimal scaling +factor should start from the maximum frequency because the performance and the +consumed energy decrease from the beginning of the plot. On the other hand, in +the heterogeneous grid platform the performance is maintained at the beginning of the +plot even if the frequencies of the faster nodes decrease until the computing +power of scaled down nodes are lower than the slowest node. In other words, +until they reach the higher bound. It can also be noticed that the higher the +difference between the faster nodes and the slower nodes is, the bigger the +maximum distance between the energy curve and the performance curve is while the +scaling factors are varying which results in bigger energy savings. + + +\section{Experimental results} +\label{sec.expe} + +\subsection{Grid'5000 architature and power consumption} +\label{sec.grid5000} +The grid'5000 is a large-scale testbed found in France \cite{grid5000}. +The grid infrastructure consist of ten sites distributed over all France +metropolitan regions. Each site in the grid'5000 composed from number of heterogeneous +computing clusters, while each cluster includes a collection of homogeneous nodes. +In general, the grid'5000 had one thousand of heterogeneous nodes and eight thousand of cores. +All the sites are connected together via special long distance network called RENATER, +which is the French National Telecommunication Network for Technology. Whereas inside each site +the clusters and their nodes are connected throw high speed local area networks. +There are different types of local networks used such as Ethernet and Infiniband netwoks, +which allowed different gigabits bandwidth and latencies. On the other hand, the nodes inside each cluster +are homogeneous, while they are different from the nodes of the other clusters. Therefore, there are +a wide diversity of processors in grid'5000, that mainly had different processors families +such as Intel Xeon and AMD Opteron families. + +In this paper we are interested to run NAS parallel v3.3 \cite{NAS.Parallel.Benchmarks} over grid'5000. +We are used seven benchmarks, CG, MG, EP, LU, BT, SP and FT. These benchmarks used seven different types of classes. +These classes are S, W, A, B, C, D, E, where S represents the smaller problem size that used by benchmark and +E is represents the biggest class. In this work, the class D is used for all benchmarks in all the experiments that will +be showed in the coming sections. +Moreover, the NAS parallel benchmarks have different computations and communications ratios, then it is interested +to study their energy consumption and their performance on real testbed such as grid'5000. +In this work, the NAS benchmarks are executed over two sites, Lyon and Nancy sites, of grid'5000. +These two sites had seven different types of computing clusters as in figure (\ref{fig:grid5000}). + +\begin{figure}[!t] + \centering + \includegraphics[scale=1]{fig/grid5000} + \caption{The selected two sites of grid'5000} + \label{fig:grid5000} +\end{figure} + +Four clusters from the two sites are selected in the experiments, one cluster from +Lyon site, Taurus cluster, and three clusters from Nancy site where are Graphene, +Griffon and Graphite. Each one of these clusters has homogeneous nodes inside, while their nodes are +different from the nodes of other clusters in many aspects such as: computing power, power consumption, available +frequencies ranges and the network features, the bandwidth and the latency. The Table \ref{table:grid5000} shows +the details characteristics of these four clusters. + + +\begin{table}[!t] + \caption{CPUs characteristics of the selected clusters} + % title of Table + \centering + \begin{tabular}{|*{7}{c|}} + \hline + Cluster & CPU & Max & Min & Diff. & no. of cores & dynamic power \\ + Name & model & Freq. & Freq. & Freq. & per CPU & of one core \\ + & & GHz & GHz & GHz & & \\ + \hline + Taurus & Intel & 2.3 & 1.2 & 0.1 & 6 & \np[W]{35} \\ + & Xeon & & & & & \\ + & E5-2630 & & & & & \\ + \hline + Graphene & Intel & 2.53 & 1.2 & 0.133 & 4 & \np[W]{23} \\ + & Xeon & & & & & \\ + & X3440 & & & & & \\ + \hline + Griffon & Intel & 2.5 & 2 & 0.5 & 4 & \np[W]{46} \\ + & Xeon & & & & & \\ + & L5420 & & & & & \\ + \hline + Graphite & Intel & 2 & 1.2 & 0.1 & 8 & \np[W]{35} \\ + & Xeon & & & & & \\ + & E5-2650 & & & & & \\ + \hline + \end{tabular} + \label{table:grid5000} +\end{table} + +The grid'5000 testbed provided some monitoring and measurements features to captured +the power consumption values for each node in any cluster of Lyon and Nancy sites. +The power consumed for each node from the selected four clusters is measured. +While the power consumed by any computing node is a collection of the powers consumed by +hard drive, main-board, memory and node's computing cores, for more detail refer to +\cite{Energy_measurement}. Therefore, the dynamic power consumed +by one core is not allowed to measured alone. To overcome this problem, firstly, +we measured the power consumed by one node when there is no computation, when +the CPU is in the idle state. The second step, we run EP benchmark, there is no communications +in this benchmarks, over one core with maximum frequency of the desired node and +capturing the power consumed by a node, this representing the peak power of the node with one core. +The difference between the peak power and the idle power representing the +dynamic power consumption of that core with maximum frequency, for example see figure(\ref{fig:power_cons}). +The $\Ppeak[jx]$ is the peak power value in time $x$ with maximum frequency for one core of node $j$, +and $\Pidle[jy]$ is the idle power value in time $y$ for the one core of the node $j$ . +The dynamic power $\Pd[j]$ is computed as in equation (\ref{eq:pdyn}) +\begin{equation} + \label{eq:pdyn} + \Pd[j] = \max_{x=\beta_1,\dots \beta_2} (\Ppeak[jx]) - \min_{y=\Theta_1,\dots \Theta_2} (\Pidle[jy]) +\end{equation} + +where $\Pd[j]$ is the dynamic power consumption for one core of node $j$, +$\lbrace \beta_1,\beta_2 \rbrace$ is the time interval for the measured peak power values, +$\lbrace\Theta_1,\Theta_2\rbrace$ is the time interval for the measured idle power values. +Therefore, the dynamic power of one core is computed as the difference between the maximum +measured value in peak powers vector and the minimum measured value in the idle powers vector. +We are computed the dynamic powers, using the equation (\ref{eq:pdyn}), for all nodes in the +selected clusters, which is recorded in table \ref{table:grid5000}. +On the other side, the static power consumption by one core is embedded with whole idle power consumption of the node. +Indeed, the static power is represents as ratio from dynamic power. So, we supposed +the static power consumption represented as \np[\%]{20} of dynamic power consumption of the core, +the same assumption was made in \cite{Our_first_paper,pdsec2015,Rauber_Analytical.Modeling.for.Energy}. +\begin{figure}[!t] + \centering + \includegraphics[scale=0.6]{fig/power_consumption.pdf} + \caption{The power consumption by one core from Taurus cluster} + \label{fig:power_cons} +\end{figure} + + +\subsection{The experimental results of the scaling algorithm} +\label{sec.res} + +\subsection{The experimental results of multi-cores clusters} +\label{sec.res} + +\subsection{The results for different power consumption scenarios} +\label{sec.compare} + + + + +\subsection{The comparison of the proposed scaling algorithm } +\label{sec.compare_EDP} + + + +\section{Conclusion} +\label{sec.concl} + + + +\section*{Acknowledgment} + +This work has been partially supported by the Labex ACTION project (contract +``ANR-11-LABX-01-01''). Computations have been performed on the supercomputer +facilities of the Mésocentre de calcul de Franche-Comté. As a PhD student, +Mr. Ahmed Fanfakh, would like to thank the University of Babylon (Iraq) for +supporting his work. + +% trigger a \newpage just before the given reference +% number - used to balance the columns on the last page +% adjust value as needed - may need to be readjusted if +% the document is modified later +%\IEEEtriggeratref{15} + +\bibliographystyle{IEEEtran} +\bibliography{IEEEabrv,my_reference} +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% fill-column: 80 +%%% ispell-local-dictionary: "american" +%%% End: + +% LocalWords: Fanfakh Charr FIXME Tianhe DVFS HPC NAS NPB SMPI Rauber's Rauber +% LocalWords: CMOS EPSA Franche Comté Tflop Rünger IUT Maréchal Juin cedex GPU +% LocalWords: de badri muslim MPI SimGrid GFlops Xeon EP BT GPUs CPUs AMD +% LocalWords: Spiliopoulos scalability diff --git a/mpi-energy2-extension/IEEEabrv.bib b/mpi-energy2-extension/IEEEabrv.bib new file mode 100644 index 0000000..56cae65 --- /dev/null +++ b/mpi-energy2-extension/IEEEabrv.bib @@ -0,0 +1,447 @@ + +IEEEabrv.bib +V1.12 (2007/01/11) +Copyright (c) 2002-2007 by Michael Shell +See: http://www.michaelshell.org/ +for current contact information. + +BibTeX bibliography string definitions of the ABBREVIATED titles of +IEEE journals and magazines and online publications. + +This file is designed for bibliography styles that require +abbreviated titles and is not for use in bibliographies that +require full-length titles. + +Support sites: +http://www.michaelshell.org/tex/ieeetran/ +http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +and/or +http://www.ieee.org/ + +Special thanks to Laura Hyslop and ken Rawson of IEEE for their help +in obtaining the information needed to compile this file. Also, +Volker Kuhlmann and Moritz Borgmann kindly provided some corrections +and additions. + +************************************************************************* +Legal Notice: +This code is offered as-is without any warranty either expressed or +implied; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE! +User assumes all risk. +In no event shall IEEE or any contributor to this code be liable for +any damages or losses, including, but not limited to, incidental, +consequential, or any other damages, resulting from the use or misuse +of any information contained here. + +All comments are the opinions of their respective authors and are not +necessarily endorsed by the IEEE. + +This work is distributed under the LaTeX Project Public License (LPPL) +( http://www.latex-project.org/ ) version 1.3, and may be freely used, +distributed and modified. A copy of the LPPL, version 1.3, is included +in the base LaTeX documentation of all distributions of LaTeX released +2003/12/01 or later. +Retain all contribution notices and credits. +** Modified files should be clearly indicated as such, including ** +** renaming them and changing author support contact information. ** + +File list of work: IEEEabrv.bib, IEEEfull.bib, IEEEexample.bib, + IEEEtran.bst, IEEEtranS.bst, IEEEtranSA.bst, + IEEEtranN.bst, IEEEtranSN.bst, IEEEtran_bst_HOWTO.pdf +************************************************************************* + + +USAGE: + +\bibliographystyle{mybstfile} +\bibliography{IEEEabrv,mybibfile} + +where the IEEE titles in the .bib database entries use the strings +defined here. e.g., + + + journal = IEEE_J_AC, + + +to yield "{IEEE} Trans. Automat. Contr." + + +IEEE uses abbreviated journal titles in their bibliographies - +this file is suitable for work that is to be submitted to the IEEE. + + +For work that requires full-length titles, you should use the full +titles provided in the companion file, IEEEfull.bib. + + +** NOTES ** + + 1. Journals have been grouped according to subject in order to make it + easier to locate and extract the definitions for related journals - + as most works use references that are confined to a single topic. + Magazines are listed in straight alphabetical order. + + 2. String names are closely based on IEEE's own internal acronyms. + + 3. Abbreviations follow IEEE's style. + + 4. Older, out-of-print IEEE titles are included (but not including titles + dating prior to IEEE's formation from the IRE and AIEE in 1963). + + 5. The following NEW/current journal definitions have been disabled because + their abbreviations have not yet been verified: + + STRING{IEEE_J_CBB = "{IEEE/ACM} Trans. Comput. Biology Bioinformatics"} + STRING{IEEE_J_CJECE = "Canadian J. Elect. Comput. Eng."} + STRING{IEEE_J_DSC = "{IEEE} Trans. Dependable Secure Comput."} + STRING{IEEE_O_DSO = "{IEEE} Distrib. Syst. Online"} + + 6. The following OLD journal definitions have been disabled because + their abbreviations have not yet been found/verified: + + STRING{IEEE_J_BCTV = "{IEEE} Trans. Broadcast Television Receivers"} + STRING{IEEE_J_EWS = "{IEEE} Trans. Eng. Writing Speech"} + +If you know what the proper abbreviation is for a string in #5 or #6 above, +email me and I will correct them in the next release. + + + + + +IEEE Journals + + + +aerospace and military +@STRING{IEEE_J_AES = "{IEEE} Trans. Aerosp. Electron. Syst."} +@STRING{IEEE_J_ANE = "{IEEE} Trans. Aerosp. Navig. Electron."} +@STRING{IEEE_J_ANNE = "{IEEE} Trans. Aeronaut. Navig. Electron."} +@STRING{IEEE_J_AS = "{IEEE} Trans. Aerosp."} +@STRING{IEEE_J_AIRE = "{IEEE} Trans. Airborne Electron."} +@STRING{IEEE_J_MIL = "{IEEE} Trans. Mil. Electron."} + + + +autos, transportation and vehicles (non-aerospace) +@STRING{IEEE_J_ITS = "{IEEE} Trans. Intell. Transp. Syst."} +@STRING{IEEE_J_VT = "{IEEE} Trans. Veh. Technol."} +@STRING{IEEE_J_VC = "{IEEE} Trans. Veh. Commun."} + + + +circuits, signals, systems, audio and controls +@STRING{IEEE_J_SPL = "{IEEE} Signal Process. Lett."} +@STRING{IEEE_J_ASSP = "{IEEE} Trans. Acoust., Speech, Signal Process."} +@STRING{IEEE_J_AU = "{IEEE} Trans. Audio"} +@STRING{IEEE_J_AUEA = "{IEEE} Trans. Audio Electroacoust."} +@STRING{IEEE_J_AC = "{IEEE} Trans. Autom. Control"} +@STRING{IEEE_J_CAS = "{IEEE} Trans. Circuits Syst."} +@STRING{IEEE_J_CASVT = "{IEEE} Trans. Circuits Syst. Video Technol."} +@STRING{IEEE_J_CASI = "{IEEE} Trans. Circuits Syst. {I}"} +@STRING{IEEE_J_CASII = "{IEEE} Trans. Circuits Syst. {II}"} +in 2004 CASI and CASII renamed part title to CASI_RP and CASII_EB, respectively. +@STRING{IEEE_J_CASI_RP = "{IEEE} Trans. Circuits Syst. {I}"} +@STRING{IEEE_J_CASII_EB = "{IEEE} Trans. Circuits Syst. {II}"} +@STRING{IEEE_J_CT = "{IEEE} Trans. Circuit Theory"} +@STRING{IEEE_J_CST = "{IEEE} Trans. Control Syst. Technol."} +@STRING{IEEE_J_SP = "{IEEE} Trans. Signal Process."} +@STRING{IEEE_J_SU = "{IEEE} Trans. Sonics Ultrason."} +@STRING{IEEE_J_SAP = "{IEEE} Trans. Speech Audio Process."} +@STRING{IEEE_J_UE = "{IEEE} Trans. Ultrason. Eng."} +@STRING{IEEE_J_UFFC = "{IEEE} Trans. Ultrason., Ferroelectr., Freq. Control"} + + + +communications +@STRING{IEEE_J_COML = "{IEEE} Commun. Lett."} +@STRING{IEEE_J_JSAC = "{IEEE} J. Sel. Areas Commun."} +@STRING{IEEE_J_COM = "{IEEE} Trans. Commun."} +@STRING{IEEE_J_COMT = "{IEEE} Trans. Commun. Technol."} +@STRING{IEEE_J_WCOM = "{IEEE} Trans. Wireless Commun."} + + + +components, packaging and manufacturing +@STRING{IEEE_J_ADVP = "{IEEE} Trans. Adv. Packag."} +@STRING{IEEE_J_CHMT = "{IEEE} Trans. Compon., Hybrids, Manuf. Technol."} +@STRING{IEEE_J_CPMTA = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {A}"} +@STRING{IEEE_J_CPMTB = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {B}"} +@STRING{IEEE_J_CPMTC = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {C}"} +@STRING{IEEE_J_CAPT = "{IEEE} Trans. Compon. Packag. Technol."} +@STRING{IEEE_J_CAPTS = "{IEEE} Trans. Compon. Packag. Technol."} +@STRING{IEEE_J_CPART = "{IEEE} Trans. Compon. Parts"} +@STRING{IEEE_J_EPM = "{IEEE} Trans. Electron. Packag. Manuf."} +@STRING{IEEE_J_MFT = "{IEEE} Trans. Manuf. Technol."} +@STRING{IEEE_J_PHP = "{IEEE} Trans. Parts, Hybrids, Packag."} +@STRING{IEEE_J_PMP = "{IEEE} Trans. Parts, Mater., Packag."} + + + +CAD +@STRING{IEEE_J_TCAD = "{IEEE} J. Technol. Comput. Aided Design"} +@STRING{IEEE_J_CAD = "{IEEE} Trans. Comput.-Aided Design Integr. Circuits Syst."} + + + +coding, data, information, knowledge +@STRING{IEEE_J_IT = "{IEEE} Trans. Inf. Theory"} +@STRING{IEEE_J_KDE = "{IEEE} Trans. Knowl. Data Eng."} + + + +computers, computation, networking and software +@STRING{IEEE_J_C = "{IEEE} Trans. Comput."} +@STRING{IEEE_J_CAL = "{IEEE} Comput. Archit. Lett."} +disabled till definition is verified +STRING{IEEE_J_DSC = "{IEEE} Trans. Dependable Secure Comput."} +@STRING{IEEE_J_ECOMP = "{IEEE} Trans. Electron. Comput."} +@STRING{IEEE_J_EVC = "{IEEE} Trans. Evol. Comput."} +@STRING{IEEE_J_FUZZ = "{IEEE} Trans. Fuzzy Syst."} +@STRING{IEEE_J_IFS = "{IEEE} Trans. Inf. Forensics Security"} +@STRING{IEEE_J_MC = "{IEEE} Trans. Mobile Comput."} +@STRING{IEEE_J_NET = "{IEEE/ACM} Trans. Netw."} +@STRING{IEEE_J_NN = "{IEEE} Trans. Neural Netw."} +@STRING{IEEE_J_PDS = "{IEEE} Trans. Parallel Distrib. Syst."} +@STRING{IEEE_J_SE = "{IEEE} Trans. Softw. Eng."} + + + +computer graphics, imaging, and multimedia +@STRING{IEEE_J_JDT = "{IEEE/OSA} J. Display Technol."} +@STRING{IEEE_J_IP = "{IEEE} Trans. Image Process."} +@STRING{IEEE_J_MM = "{IEEE} Trans. Multimedia"} +@STRING{IEEE_J_VCG = "{IEEE} Trans. Vis. Comput. Graphics"} + + + +cybernetics, ergonomics, robots, man-machine, and automation +@STRING{IEEE_J_ASE = "{IEEE} Trans. Autom. Sci. Eng."} +@STRING{IEEE_J_JRA = "{IEEE} J. Robot. Autom."} +@STRING{IEEE_J_HFE = "{IEEE} Trans. Hum. Factors Electron."} +@STRING{IEEE_J_MMS = "{IEEE} Trans. Man-Mach. Syst."} +@STRING{IEEE_J_PAMI = "{IEEE} Trans. Pattern Anal. Mach. Intell."} +in 1989 JRA became RA +in August 2004, RA split into ASE and RO +@STRING{IEEE_J_RA = "{IEEE} Trans. Robot. Autom."} +@STRING{IEEE_J_RO = "{IEEE} Trans. Robot."} +@STRING{IEEE_J_SMC = "{IEEE} Trans. Syst., Man, Cybern."} +@STRING{IEEE_J_SMCA = "{IEEE} Trans. Syst., Man, Cybern. {A}"} +@STRING{IEEE_J_SMCB = "{IEEE} Trans. Syst., Man, Cybern. {B}"} +@STRING{IEEE_J_SMCC = "{IEEE} Trans. Syst., Man, Cybern. {C}"} +@STRING{IEEE_J_SSC = "{IEEE} Trans. Syst. Sci. Cybern."} + + + +earth, wind, fire and water +@STRING{IEEE_J_GE = "{IEEE} Trans. Geosci. Electron."} +@STRING{IEEE_J_GRS = "{IEEE} Trans. Geosci. Remote Sens."} +@STRING{IEEE_J_GRSL = "{IEEE} Geosci. Remote Sens. Lett."} +@STRING{IEEE_J_OE = "{IEEE} J. Ocean. Eng."} + + + +education, engineering, history, IEEE, professional +disabled till definition is verified +STRING{IEEE_J_CJECE = "Canadian J. Elect. Comput. Eng."} +@STRING{IEEE_J_PROC = "Proc. {IEEE}"} +@STRING{IEEE_J_EDU = "{IEEE} Trans. Educ."} +@STRING{IEEE_J_EM = "{IEEE} Trans. Eng. Manag."} +disabled till definition is verified +STRING{IEEE_J_EWS = "{IEEE} Trans. Eng. Writing Speech"} +@STRING{IEEE_J_PC = "{IEEE} Trans. Prof. Commun."} + + + +electromagnetics, antennas, EMI, magnetics and microwave +@STRING{IEEE_J_AWPL = "{IEEE} Antennas Wireless Propag. Lett."} +@STRING{IEEE_J_MGWL = "{IEEE} Microw. Guided Wave Lett."} +IEEE seems to want "Compon." here, not "Comp." +@STRING{IEEE_J_MWCL = "{IEEE} Microw. Wireless Compon. Lett."} +@STRING{IEEE_J_AP = "{IEEE} Trans. Antennas Propag."} +@STRING{IEEE_J_EMC = "{IEEE} Trans. Electromagn. Compat."} +@STRING{IEEE_J_MAG = "{IEEE} Trans. Magn."} +@STRING{IEEE_J_MTT = "{IEEE} Trans. Microw. Theory Tech."} +@STRING{IEEE_J_RFI = "{IEEE} Trans. Radio Freq. Interference"} +@STRING{IEEE_J_TJMJ = "{IEEE} Transl. J. Magn. Jpn."} + + + +energy and power +@STRING{IEEE_J_EC = "{IEEE} Trans. Energy Convers."} +@STRING{IEEE_J_PEL = "{IEEE} Power Electron. Lett."} +@STRING{IEEE_J_PWRAS = "{IEEE} Trans. Power App. Syst."} +@STRING{IEEE_J_PWRD = "{IEEE} Trans. Power Del."} +@STRING{IEEE_J_PWRE = "{IEEE} Trans. Power Electron."} +@STRING{IEEE_J_PWRS = "{IEEE} Trans. Power Syst."} + + + +industrial, commercial and consumer +@STRING{IEEE_J_APPIND = "{IEEE} Trans. Appl. Ind."} +@STRING{IEEE_J_BC = "{IEEE} Trans. Broadcast."} +disabled till definition is verified +STRING{IEEE_J_BCTV = "{IEEE} Trans. Broadcast Television Receivers"} +@STRING{IEEE_J_CE = "{IEEE} Trans. Consum. Electron."} +@STRING{IEEE_J_IE = "{IEEE} Trans. Ind. Electron."} +@STRING{IEEE_J_IECI = "{IEEE} Trans. Ind. Electron. Contr. Instrum."} +@STRING{IEEE_J_IA = "{IEEE} Trans. Ind. Appl."} +@STRING{IEEE_J_IGA = "{IEEE} Trans. Ind. Gen. Appl."} +@STRING{IEEE_J_IINF = "{IEEE} Trans. Ind. Informat."} +@STRING{IEEE_J_PSE = "{IEEE} J. Product Safety Eng."} + + + +instrumentation and measurement +@STRING{IEEE_J_IM = "{IEEE} Trans. Instrum. Meas."} + + + +insulation and materials +@STRING{IEEE_J_JEM = "{IEEE/TMS} J. Electron. Mater."} +@STRING{IEEE_J_DEI = "{IEEE} Trans. Dielectr. Electr. Insul."} +@STRING{IEEE_J_EI = "{IEEE} Trans. Electr. Insul."} + + + +mechanical +@STRING{IEEE_J_MECH = "{IEEE/ASME} Trans. Mechatronics"} +@STRING{IEEE_J_MEMS = "J. Microelectromech. Syst."} + + + +medical and biological +@STRING{IEEE_J_BME = "{IEEE} Trans. Biomed. Eng."} +Note: The B-ME journal later dropped the hyphen and became the BME. +@STRING{IEEE_J_B-ME = "{IEEE} Trans. Bio-Med. Eng."} +@STRING{IEEE_J_BMELC = "{IEEE} Trans. Bio-Med. Electron."} +disabled till definition is verified +STRING{IEEE_J_CBB = "{IEEE/ACM} Trans. Comput. Biology Bioinformatics"} +@STRING{IEEE_J_ITBM = "{IEEE} Trans. Inf. Technol. Biomed."} +@STRING{IEEE_J_ME = "{IEEE} Trans. Med. Electron."} +@STRING{IEEE_J_MI = "{IEEE} Trans. Med. Imag."} +@STRING{IEEE_J_NB = "{IEEE} Trans. Nanobiosci."} +@STRING{IEEE_J_NSRE = "{IEEE} Trans. Neural Syst. Rehabil. Eng."} +@STRING{IEEE_J_RE = "{IEEE} Trans. Rehabil. Eng."} + + + + optics, lightwave and photonics +@STRING{IEEE_J_PTL = "{IEEE} Photon. Technol. Lett."} +@STRING{IEEE_J_JLT = "J. Lightw. Technol."} + + + +physics, electrons, nanotechnology, nuclear and quantum electronics +@STRING{IEEE_J_EDL = "{IEEE} Electron Device Lett."} +@STRING{IEEE_J_JQE = "{IEEE} J. Quantum Electron."} +@STRING{IEEE_J_JSTQE = "{IEEE} J. Sel. Topics Quantum Electron."} +@STRING{IEEE_J_ED = "{IEEE} Trans. Electron Devices"} +@STRING{IEEE_J_NANO = "{IEEE} Trans. Nanotechnol."} +@STRING{IEEE_J_NS = "{IEEE} Trans. Nucl. Sci."} +@STRING{IEEE_J_PS = "{IEEE} Trans. Plasma Sci."} + + + +reliability +IEEE seems to want "Mat." here, not "Mater." +@STRING{IEEE_J_DMR = "{IEEE} Trans. Device Mater. Rel."} +@STRING{IEEE_J_R = "{IEEE} Trans. Rel."} + + + +semiconductors, superconductors, electrochemical and solid state +@STRING{IEEE_J_ESSL = "{IEEE/ECS} Electrochem. Solid-State Lett."} +@STRING{IEEE_J_JSSC = "{IEEE} J. Solid-State Circuits"} +@STRING{IEEE_J_ASC = "{IEEE} Trans. Appl. Supercond."} +@STRING{IEEE_J_SM = "{IEEE} Trans. Semicond. Manuf."} + + + +sensors +@STRING{IEEE_J_SENSOR = "{IEEE} Sensors J."} + + + +VLSI +@STRING{IEEE_J_VLSI = "{IEEE} Trans. {VLSI} Syst."} + + + + + + +IEEE Magazines + + + +@STRING{IEEE_M_AES = "{IEEE} Aerosp. Electron. Syst. Mag."} +@STRING{IEEE_M_HIST = "{IEEE} Ann. Hist. Comput."} +@STRING{IEEE_M_AP = "{IEEE} Antennas Propag. Mag."} +@STRING{IEEE_M_ASSP = "{IEEE} {ASSP} Mag."} +@STRING{IEEE_M_CD = "{IEEE} Circuits Devices Mag."} +@STRING{IEEE_M_CAS = "{IEEE} Circuits Syst. Mag."} +@STRING{IEEE_M_COM = "{IEEE} Commun. Mag."} +@STRING{IEEE_M_COMSOC = "{IEEE} Commun. Soc. Mag."} +@STRING{IEEE_M_CIM = "{IEEE} Comput. Intell. Mag."} +CSEM changed to CSE in 1999 +@STRING{IEEE_M_CSE = "{IEEE} Comput. Sci. Eng."} +@STRING{IEEE_M_CSEM = "{IEEE} Comput. Sci. Eng. Mag."} +@STRING{IEEE_M_C = "{IEEE} Computer"} +@STRING{IEEE_M_CAP = "{IEEE} Comput. Appl. Power"} +@STRING{IEEE_M_CGA = "{IEEE} Comput. Graph. Appl."} +@STRING{IEEE_M_CONC = "{IEEE} Concurrency"} +@STRING{IEEE_M_CS = "{IEEE} Control Syst. Mag."} +@STRING{IEEE_M_DTC = "{IEEE} Des. Test. Comput."} +@STRING{IEEE_M_EI = "{IEEE} Electr. Insul. Mag."} +@STRING{IEEE_M_ETR = "{IEEE} ElectroTechnol. Rev."} +@STRING{IEEE_M_EMB = "{IEEE} Eng. Med. Biol. Mag."} +@STRING{IEEE_M_EMR = "{IEEE} Eng. Manag. Rev."} +@STRING{IEEE_M_EXP = "{IEEE} Expert"} +@STRING{IEEE_M_IA = "{IEEE} Ind. Appl. Mag."} +@STRING{IEEE_M_IM = "{IEEE} Instrum. Meas. Mag."} +@STRING{IEEE_M_IS = "{IEEE} Intell. Syst."} +@STRING{IEEE_M_IC = "{IEEE} Internet Comput."} +@STRING{IEEE_M_ITP = "{IEEE} {IT} Prof."} +@STRING{IEEE_M_MICRO = "{IEEE} Micro"} +@STRING{IEEE_M_MW = "{IEEE} Microw. Mag."} +@STRING{IEEE_M_MM = "{IEEE} Multimedia"} +@STRING{IEEE_M_NET = "{IEEE} Netw."} +IEEE's editorial manual lists "Pers. Commun.", +but "Personal Commun. Mag." seems to be what is used in the journals +@STRING{IEEE_M_PCOM = "{IEEE} Personal Commun. Mag."} +@STRING{IEEE_M_POT = "{IEEE} Potentials"} +CAP and PER merged to form PE in 2003 +@STRING{IEEE_M_PE = "{IEEE} Power Energy Mag."} +@STRING{IEEE_M_PER = "{IEEE} Power Eng. Rev."} +@STRING{IEEE_M_PVC = "{IEEE} Pervasive Comput."} +@STRING{IEEE_M_RA = "{IEEE} Robot. Autom. Mag."} +@STRING{IEEE_M_SAP = "{IEEE} Security Privacy"} +@STRING{IEEE_M_SP = "{IEEE} Signal Process. Mag."} +@STRING{IEEE_M_S = "{IEEE} Softw."} +@STRING{IEEE_M_SPECT = "{IEEE} Spectr."} +@STRING{IEEE_M_TS = "{IEEE} Technol. Soc. Mag."} +@STRING{IEEE_M_VT = "{IEEE} Veh. Technol. Mag."} +@STRING{IEEE_M_WC = "{IEEE} Wireless Commun. Mag."} +@STRING{IEEE_M_TODAY = "Today's Engineer"} + + + + + + +IEEE Online Publications + + + +@STRING{IEEE_O_CSTO = "{IEEE} Commun. Surveys Tuts."} +disabled till definition is verified +STRING{IEEE_O_DSO = "{IEEE} Distrib. Syst. Online"} + + + + + +-- +EOF diff --git a/mpi-energy2-extension/IEEEtran.bst b/mpi-energy2-extension/IEEEtran.bst new file mode 100644 index 0000000..53fbc03 --- /dev/null +++ b/mpi-energy2-extension/IEEEtran.bst @@ -0,0 +1,2417 @@ +%% +%% IEEEtran.bst +%% BibTeX Bibliography Style file for IEEE Journals and Conferences (unsorted) +%% Version 1.12 (2007/01/11) +%% +%% Copyright (c) 2003-2007 Michael Shell +%% +%% Original starting code base and algorithms obtained from the output of +%% Patrick W. Daly's makebst package as well as from prior versions of +%% IEEE BibTeX styles: +%% +%% 1. Howard Trickey and Oren Patashnik's ieeetr.bst (1985/1988) +%% 2. Silvano Balemi and Richard H. Roy's IEEEbib.bst (1993) +%% +%% Support sites: +%% http://www.michaelshell.org/tex/ieeetran/ +%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +%% and/or +%% http://www.ieee.org/ +%% +%% For use with BibTeX version 0.99a or later +%% +%% This is a numerical citation style. +%% +%%************************************************************************* +%% Legal Notice: +%% This code is offered as-is without any warranty either expressed or +%% implied; without even the implied warranty of MERCHANTABILITY or +%% FITNESS FOR A PARTICULAR PURPOSE! +%% User assumes all risk. +%% In no event shall IEEE or any contributor to this code be liable for +%% any damages or losses, including, but not limited to, incidental, +%% consequential, or any other damages, resulting from the use or misuse +%% of any information contained here. +%% +%% All comments are the opinions of their respective authors and are not +%% necessarily endorsed by the IEEE. +%% +%% This work is distributed under the LaTeX Project Public License (LPPL) +%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, +%% distributed and modified. A copy of the LPPL, version 1.3, is included +%% in the base LaTeX documentation of all distributions of LaTeX released +%% 2003/12/01 or later. +%% Retain all contribution notices and credits. +%% ** Modified files should be clearly indicated as such, including ** +%% ** renaming them and changing author support contact information. ** +%% +%% File list of work: IEEEabrv.bib, IEEEfull.bib, IEEEexample.bib, +%% IEEEtran.bst, IEEEtranS.bst, IEEEtranSA.bst, +%% IEEEtranN.bst, IEEEtranSN.bst, IEEEtran_bst_HOWTO.pdf +%%************************************************************************* +% +% +% Changelog: +% +% 1.00 (2002/08/13) Initial release +% +% 1.10 (2002/09/27) +% 1. Corrected minor bug for improperly formed warning message when a +% book was not given a title. Thanks to Ming Kin Lai for reporting this. +% 2. Added support for CTLname_format_string and CTLname_latex_cmd fields +% in the BST control entry type. +% +% 1.11 (2003/04/02) +% 1. Fixed bug with URLs containing underscores when using url.sty. Thanks +% to Ming Kin Lai for reporting this. +% +% 1.12 (2007/01/11) +% 1. Fixed bug with unwanted comma before "et al." when an entry contained +% more than two author names. Thanks to Pallav Gupta for reporting this. +% 2. Fixed bug with anomalous closing quote in tech reports that have a +% type, but without a number or address. Thanks to Mehrdad Mirreza for +% reporting this. +% 3. Use braces in \providecommand in begin.bib to better support +% latex2html. TeX style length assignments OK with recent versions +% of latex2html - 1.71 (2002/2/1) or later is strongly recommended. +% Use of the language field still causes trouble with latex2html. +% Thanks to Federico Beffa for reporting this. +% 4. Added IEEEtran.bst ID and version comment string to .bbl output. +% 5. Provide a \BIBdecl hook that allows the user to execute commands +% just prior to the first entry. +% 6. Use default urlstyle (is using url.sty) of "same" rather than rm to +% better work with a wider variety of bibliography styles. +% 7. Changed month abbreviations from Sept., July and June to Sep., Jul., +% and Jun., respectively, as IEEE now does. Thanks to Moritz Borgmann +% for reporting this. +% 8. Control entry types should not be considered when calculating longest +% label width. +% 9. Added alias www for electronic/online. +% 10. Added CTLname_url_prefix control entry type. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% DEFAULTS FOR THE CONTROLS OF THE BST STYLE %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% These are the defaults for the user adjustable controls. The values used +% here can be overridden by the user via IEEEtranBSTCTL entry type. + +% NOTE: The recommended LaTeX command to invoke a control entry type is: +% +%\makeatletter +%\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}} +%\def\@bstctlcite[#1]#2{\@bsphack +% \@for\@citeb:=#2\do{% +% \edef\@citeb{\expandafter\@firstofone\@citeb}% +% \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}% +% \@esphack} +%\makeatother +% +% It is called at the start of the document, before the first \cite, like: +% \bstctlcite{IEEEexample:BSTcontrol} +% +% IEEEtran.cls V1.6 and later does provide this command. + + + +% #0 turns off the display of the number for articles. +% #1 enables +FUNCTION {default.is.use.number.for.article} { #1 } + + +% #0 turns off the display of the paper and type fields in @inproceedings. +% #1 enables +FUNCTION {default.is.use.paper} { #1 } + + +% #0 turns off the forced use of "et al." +% #1 enables +FUNCTION {default.is.forced.et.al} { #0 } + +% The maximum number of names that can be present beyond which an "et al." +% usage is forced. Be sure that num.names.shown.with.forced.et.al (below) +% is not greater than this value! +% Note: There are many instances of references in IEEE journals which have +% a very large number of authors as well as instances in which "et al." is +% used profusely. +FUNCTION {default.max.num.names.before.forced.et.al} { #10 } + +% The number of names that will be shown with a forced "et al.". +% Must be less than or equal to max.num.names.before.forced.et.al +FUNCTION {default.num.names.shown.with.forced.et.al} { #1 } + + +% #0 turns off the alternate interword spacing for entries with URLs. +% #1 enables +FUNCTION {default.is.use.alt.interword.spacing} { #1 } + +% If alternate interword spacing for entries with URLs is enabled, this is +% the interword spacing stretch factor that will be used. For example, the +% default "4" here means that the interword spacing in entries with URLs can +% stretch to four times normal. Does not have to be an integer. Note that +% the value specified here can be overridden by the user in their LaTeX +% code via a command such as: +% "\providecommand\BIBentryALTinterwordstretchfactor{1.5}" in addition to +% that via the IEEEtranBSTCTL entry type. +FUNCTION {default.ALTinterwordstretchfactor} { "4" } + + +% #0 turns off the "dashification" of repeated (i.e., identical to those +% of the previous entry) names. IEEE normally does this. +% #1 enables +FUNCTION {default.is.dash.repeated.names} { #1 } + + +% The default name format control string. +FUNCTION {default.name.format.string}{ "{f.~}{vv~}{ll}{, jj}" } + + +% The default LaTeX font command for the names. +FUNCTION {default.name.latex.cmd}{ "" } + + +% The default URL prefix. +FUNCTION {default.name.url.prefix}{ "[Online]. Available:" } + + +% Other controls that cannot be accessed via IEEEtranBSTCTL entry type. + +% #0 turns off the terminal startup banner/completed message so as to +% operate more quietly. +% #1 enables +FUNCTION {is.print.banners.to.terminal} { #1 } + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% FILE VERSION AND BANNER %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION{bst.file.version} { "1.12" } +FUNCTION{bst.file.date} { "2007/01/11" } +FUNCTION{bst.file.website} { "http://www.michaelshell.org/tex/ieeetran/bibtex/" } + +FUNCTION {banner.message} +{ is.print.banners.to.terminal + { "-- IEEEtran.bst version" " " * bst.file.version * + " (" * bst.file.date * ") " * "by Michael Shell." * + top$ + "-- " bst.file.website * + top$ + "-- See the " quote$ * "IEEEtran_bst_HOWTO.pdf" * quote$ * " manual for usage information." * + top$ + } + { skip$ } + if$ +} + +FUNCTION {completed.message} +{ is.print.banners.to.terminal + { "" + top$ + "Done." + top$ + } + { skip$ } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%%% +%% STRING CONSTANTS %% +%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {bbl.and}{ "and" } +FUNCTION {bbl.etal}{ "et~al." } +FUNCTION {bbl.editors}{ "eds." } +FUNCTION {bbl.editor}{ "ed." } +FUNCTION {bbl.edition}{ "ed." } +FUNCTION {bbl.volume}{ "vol." } +FUNCTION {bbl.of}{ "of" } +FUNCTION {bbl.number}{ "no." } +FUNCTION {bbl.in}{ "in" } +FUNCTION {bbl.pages}{ "pp." } +FUNCTION {bbl.page}{ "p." } +FUNCTION {bbl.chapter}{ "ch." } +FUNCTION {bbl.paper}{ "paper" } +FUNCTION {bbl.part}{ "pt." } +FUNCTION {bbl.patent}{ "Patent" } +FUNCTION {bbl.patentUS}{ "U.S." } +FUNCTION {bbl.revision}{ "Rev." } +FUNCTION {bbl.series}{ "ser." } +FUNCTION {bbl.standard}{ "Std." } +FUNCTION {bbl.techrep}{ "Tech. Rep." } +FUNCTION {bbl.mthesis}{ "Master's thesis" } +FUNCTION {bbl.phdthesis}{ "Ph.D. dissertation" } +FUNCTION {bbl.st}{ "st" } +FUNCTION {bbl.nd}{ "nd" } +FUNCTION {bbl.rd}{ "rd" } +FUNCTION {bbl.th}{ "th" } + + +% This is the LaTeX spacer that is used when a larger than normal space +% is called for (such as just before the address:publisher). +FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " } + +% The LaTeX code for dashes that are used to represent repeated names. +% Note: Some older IEEE journals used something like +% "\rule{0.275in}{0.5pt}\," which is fairly thick and runs right along +% the baseline. However, IEEE now uses a thinner, above baseline, +% six dash long sequence. +FUNCTION {repeated.name.dashes} { "------" } + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% PREDEFINED STRING MACROS %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +MACRO {jan} {"Jan."} +MACRO {feb} {"Feb."} +MACRO {mar} {"Mar."} +MACRO {apr} {"Apr."} +MACRO {may} {"May"} +MACRO {jun} {"Jun."} +MACRO {jul} {"Jul."} +MACRO {aug} {"Aug."} +MACRO {sep} {"Sep."} +MACRO {oct} {"Oct."} +MACRO {nov} {"Nov."} +MACRO {dec} {"Dec."} + + + +%%%%%%%%%%%%%%%%%% +%% ENTRY FIELDS %% +%%%%%%%%%%%%%%%%%% + +ENTRY + { address + assignee + author + booktitle + chapter + day + dayfiled + edition + editor + howpublished + institution + intype + journal + key + language + month + monthfiled + nationality + note + number + organization + pages + paper + publisher + school + series + revision + title + type + url + volume + year + yearfiled + CTLuse_article_number + CTLuse_paper + CTLuse_forced_etal + CTLmax_names_forced_etal + CTLnames_show_etal + CTLuse_alt_spacing + CTLalt_stretch_factor + CTLdash_repeated_names + CTLname_format_string + CTLname_latex_cmd + CTLname_url_prefix + } + {} + { label } + + + + +%%%%%%%%%%%%%%%%%%%%%%% +%% INTEGER VARIABLES %% +%%%%%%%%%%%%%%%%%%%%%%% + +INTEGERS { prev.status.punct this.status.punct punct.std + punct.no punct.comma punct.period + prev.status.space this.status.space space.std + space.no space.normal space.large + prev.status.quote this.status.quote quote.std + quote.no quote.close + prev.status.nline this.status.nline nline.std + nline.no nline.newblock + status.cap cap.std + cap.no cap.yes} + +INTEGERS { longest.label.width multiresult nameptr namesleft number.label numnames } + +INTEGERS { is.use.number.for.article + is.use.paper + is.forced.et.al + max.num.names.before.forced.et.al + num.names.shown.with.forced.et.al + is.use.alt.interword.spacing + is.dash.repeated.names} + + +%%%%%%%%%%%%%%%%%%%%%% +%% STRING VARIABLES %% +%%%%%%%%%%%%%%%%%%%%%% + +STRINGS { bibinfo + longest.label + oldname + s + t + ALTinterwordstretchfactor + name.format.string + name.latex.cmd + name.url.prefix} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOW LEVEL FUNCTIONS %% +%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {initialize.controls} +{ default.is.use.number.for.article 'is.use.number.for.article := + default.is.use.paper 'is.use.paper := + default.is.forced.et.al 'is.forced.et.al := + default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al := + default.num.names.shown.with.forced.et.al 'num.names.shown.with.forced.et.al := + default.is.use.alt.interword.spacing 'is.use.alt.interword.spacing := + default.is.dash.repeated.names 'is.dash.repeated.names := + default.ALTinterwordstretchfactor 'ALTinterwordstretchfactor := + default.name.format.string 'name.format.string := + default.name.latex.cmd 'name.latex.cmd := + default.name.url.prefix 'name.url.prefix := +} + + +% This IEEEtran.bst features a very powerful and flexible mechanism for +% controlling the capitalization, punctuation, spacing, quotation, and +% newlines of the formatted entry fields. (Note: IEEEtran.bst does not need +% or use the newline/newblock feature, but it has been implemented for +% possible future use.) The output states of IEEEtran.bst consist of +% multiple independent attributes and, as such, can be thought of as being +% vectors, rather than the simple scalar values ("before.all", +% "mid.sentence", etc.) used in most other .bst files. +% +% The more flexible and complex design used here was motivated in part by +% IEEE's rather unusual bibliography style. For example, IEEE ends the +% previous field item with a period and large space prior to the publisher +% address; the @electronic entry types use periods as inter-item punctuation +% rather than the commas used by the other entry types; and URLs are never +% followed by periods even though they are the last item in the entry. +% Although it is possible to accommodate these features with the conventional +% output state system, the seemingly endless exceptions make for convoluted, +% unreliable and difficult to maintain code. +% +% IEEEtran.bst's output state system can be easily understood via a simple +% illustration of two most recently formatted entry fields (on the stack): +% +% CURRENT_ITEM +% "PREVIOUS_ITEM +% +% which, in this example, is to eventually appear in the bibliography as: +% +% "PREVIOUS_ITEM," CURRENT_ITEM +% +% It is the job of the output routine to take the previous item off of the +% stack (while leaving the current item at the top of the stack), apply its +% trailing punctuation (including closing quote marks) and spacing, and then +% to write the result to BibTeX's output buffer: +% +% "PREVIOUS_ITEM," +% +% Punctuation (and spacing) between items is often determined by both of the +% items rather than just the first one. The presence of quotation marks +% further complicates the situation because, in standard English, trailing +% punctuation marks are supposed to be contained within the quotes. +% +% IEEEtran.bst maintains two output state (aka "status") vectors which +% correspond to the previous and current (aka "this") items. Each vector +% consists of several independent attributes which track punctuation, +% spacing, quotation, and newlines. Capitalization status is handled by a +% separate scalar because the format routines, not the output routine, +% handle capitalization and, therefore, there is no need to maintain the +% capitalization attribute for both the "previous" and "this" items. +% +% When a format routine adds a new item, it copies the current output status +% vector to the previous output status vector and (usually) resets the +% current (this) output status vector to a "standard status" vector. Using a +% "standard status" vector in this way allows us to redefine what we mean by +% "standard status" at the start of each entry handler and reuse the same +% format routines under the various inter-item separation schemes. For +% example, the standard status vector for the @book entry type may use +% commas for item separators, while the @electronic type may use periods, +% yet both entry handlers exploit many of the exact same format routines. +% +% Because format routines have write access to the output status vector of +% the previous item, they can override the punctuation choices of the +% previous format routine! Therefore, it becomes trivial to implement rules +% such as "Always use a period and a large space before the publisher." By +% pushing the generation of the closing quote mark to the output routine, we +% avoid all the problems caused by having to close a quote before having all +% the information required to determine what the punctuation should be. +% +% The IEEEtran.bst output state system can easily be expanded if needed. +% For instance, it is easy to add a "space.tie" attribute value if the +% bibliography rules mandate that two items have to be joined with an +% unbreakable space. + +FUNCTION {initialize.status.constants} +{ #0 'punct.no := + #1 'punct.comma := + #2 'punct.period := + #0 'space.no := + #1 'space.normal := + #2 'space.large := + #0 'quote.no := + #1 'quote.close := + #0 'cap.no := + #1 'cap.yes := + #0 'nline.no := + #1 'nline.newblock := +} + +FUNCTION {std.status.using.comma} +{ punct.comma 'punct.std := + space.normal 'space.std := + quote.no 'quote.std := + nline.no 'nline.std := + cap.no 'cap.std := +} + +FUNCTION {std.status.using.period} +{ punct.period 'punct.std := + space.normal 'space.std := + quote.no 'quote.std := + nline.no 'nline.std := + cap.yes 'cap.std := +} + +FUNCTION {initialize.prev.this.status} +{ punct.no 'prev.status.punct := + space.no 'prev.status.space := + quote.no 'prev.status.quote := + nline.no 'prev.status.nline := + punct.no 'this.status.punct := + space.no 'this.status.space := + quote.no 'this.status.quote := + nline.no 'this.status.nline := + cap.yes 'status.cap := +} + +FUNCTION {this.status.std} +{ punct.std 'this.status.punct := + space.std 'this.status.space := + quote.std 'this.status.quote := + nline.std 'this.status.nline := +} + +FUNCTION {cap.status.std}{ cap.std 'status.cap := } + +FUNCTION {this.to.prev.status} +{ this.status.punct 'prev.status.punct := + this.status.space 'prev.status.space := + this.status.quote 'prev.status.quote := + this.status.nline 'prev.status.nline := +} + + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ { skip$ } + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + { skip$ } + if$ +} + + +% convert the strings "yes" or "no" to #1 or #0 respectively +FUNCTION {yes.no.to.int} +{ "l" change.case$ duplicate$ + "yes" = + { pop$ #1 } + { duplicate$ "no" = + { pop$ #0 } + { "unknown boolean " quote$ * swap$ * quote$ * + " in " * cite$ * warning$ + #0 + } + if$ + } + if$ +} + + +% pushes true if the single char string on the stack is in the +% range of "0" to "9" +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +% multiplies the integer on the stack by a factor of 10 +FUNCTION {bump.int.mag} +{ #0 'multiresult := + { duplicate$ #0 > } + { #1 - + multiresult #10 + + 'multiresult := + } + while$ +pop$ +multiresult +} + +% converts a single character string on the stack to an integer +FUNCTION {char.to.integer} +{ duplicate$ + is.num + { chr.to.int$ "0" chr.to.int$ - } + {"noninteger character " quote$ * swap$ * quote$ * + " in integer field of " * cite$ * warning$ + #0 + } + if$ +} + +% converts a string on the stack to an integer +FUNCTION {string.to.integer} +{ duplicate$ text.length$ 'namesleft := + #1 'nameptr := + #0 'numnames := + { nameptr namesleft > not } + { duplicate$ nameptr #1 substring$ + char.to.integer numnames bump.int.mag + + 'numnames := + nameptr #1 + + 'nameptr := + } + while$ +pop$ +numnames +} + + + + +% The output routines write out the *next* to the top (previous) item on the +% stack, adding punctuation and such as needed. Since IEEEtran.bst maintains +% the output status for the top two items on the stack, these output +% routines have to consider the previous output status (which corresponds to +% the item that is being output). Full independent control of punctuation, +% closing quote marks, spacing, and newblock is provided. +% +% "output.nonnull" does not check for the presence of a previous empty +% item. +% +% "output" does check for the presence of a previous empty item and will +% remove an empty item rather than outputing it. +% +% "output.warn" is like "output", but will issue a warning if it detects +% an empty item. + +FUNCTION {output.nonnull} +{ swap$ + prev.status.punct punct.comma = + { "," * } + { skip$ } + if$ + prev.status.punct punct.period = + { add.period$ } + { skip$ } + if$ + prev.status.quote quote.close = + { "''" * } + { skip$ } + if$ + prev.status.space space.normal = + { " " * } + { skip$ } + if$ + prev.status.space space.large = + { large.space * } + { skip$ } + if$ + write$ + prev.status.nline nline.newblock = + { newline$ "\newblock " write$ } + { skip$ } + if$ +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.warn} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +% "fin.entry" is the output routine that handles the last item of the entry +% (which will be on the top of the stack when "fin.entry" is called). + +FUNCTION {fin.entry} +{ this.status.punct punct.no = + { skip$ } + { add.period$ } + if$ + this.status.quote quote.close = + { "''" * } + { skip$ } + if$ +write$ +newline$ +} + + +FUNCTION {is.last.char.not.punct} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {is.multiple.pages} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {capitalize}{ "u" change.case$ "t" change.case$ } + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {do.name.latex.cmd} +{ name.latex.cmd + empty$ + { skip$ } + { name.latex.cmd "{" * swap$ * "}" * } + if$ +} + +% IEEEtran.bst uses its own \BIBforeignlanguage command which directly +% invokes the TeX hyphenation patterns without the need of the Babel +% package. Babel does a lot more than switch hyphenation patterns and +% its loading can cause unintended effects in many class files (such as +% IEEEtran.cls). +FUNCTION {select.language} +{ duplicate$ empty$ 'pop$ + { language empty$ 'skip$ + { "\BIBforeignlanguage{" language * "}{" * swap$ * "}" * } + if$ + } + if$ +} + +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {space.word}{ " " swap$ * " " * } + + +% Field Conditioners, Converters, Checkers and External Interfaces + +FUNCTION {empty.field.to.null.string} +{ duplicate$ empty$ + { pop$ "" } + { skip$ } + if$ +} + +FUNCTION {either.or.check} +{ empty$ + { pop$ } + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {empty.entry.warn} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ url empty$ + and and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + + +% The bibinfo system provides a way for the electronic parsing/acquisition +% of a bibliography's contents as is done by ReVTeX. For example, a field +% could be entered into the bibliography as: +% \bibinfo{volume}{2} +% Only the "2" would show up in the document, but the LaTeX \bibinfo command +% could do additional things with the information. IEEEtran.bst does provide +% a \bibinfo command via "\providecommand{\bibinfo}[2]{#2}". However, it is +% currently not used as the bogus bibinfo functions defined here output the +% entry values directly without the \bibinfo wrapper. The bibinfo functions +% themselves (and the calls to them) are retained for possible future use. +% +% bibinfo.check avoids acting on missing fields while bibinfo.warn will +% issue a warning message if a missing field is detected. Prior to calling +% the bibinfo functions, the user should push the field value and then its +% name string, in that order. + +FUNCTION {bibinfo.check} +{ swap$ duplicate$ missing$ + { pop$ pop$ "" } + { duplicate$ empty$ + { swap$ pop$ } + { swap$ pop$ } + if$ + } + if$ +} + +FUNCTION {bibinfo.warn} +{ swap$ duplicate$ missing$ + { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" } + { duplicate$ empty$ + { swap$ "empty " swap$ * " in " * cite$ * warning$ } + { swap$ pop$ } + if$ + } + if$ +} + + +% IEEE separates large numbers with more than 4 digits into groups of +% three. IEEE uses a small space to separate these number groups. +% Typical applications include patent and page numbers. + +% number of consecutive digits required to trigger the group separation. +FUNCTION {large.number.trigger}{ #5 } + +% For numbers longer than the trigger, this is the blocksize of the groups. +% The blocksize must be less than the trigger threshold, and 2 * blocksize +% must be greater than the trigger threshold (can't do more than one +% separation on the initial trigger). +FUNCTION {large.number.blocksize}{ #3 } + +% What is actually inserted between the number groups. +FUNCTION {large.number.separator}{ "\," } + +% So as to save on integer variables by reusing existing ones, numnames +% holds the current number of consecutive digits read and nameptr holds +% the number that will trigger an inserted space. +FUNCTION {large.number.separate} +{ 't := + "" + #0 'numnames := + large.number.trigger 'nameptr := + { t empty$ not } + { t #-1 #1 substring$ is.num + { numnames #1 + 'numnames := } + { #0 'numnames := + large.number.trigger 'nameptr := + } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames nameptr = + { duplicate$ #1 nameptr large.number.blocksize - substring$ swap$ + nameptr large.number.blocksize - #1 + global.max$ substring$ + large.number.separator swap$ * * + nameptr large.number.blocksize - 'numnames := + large.number.blocksize #1 + 'nameptr := + } + { skip$ } + if$ + } + while$ +} + +% Converts all single dashes "-" to double dashes "--". +FUNCTION {n.dashify} +{ large.number.separate + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + + +% This function detects entries with names that are identical to that of +% the previous entry and replaces the repeated names with dashes (if the +% "is.dash.repeated.names" user control is nonzero). +FUNCTION {name.or.dash} +{ 's := + oldname empty$ + { s 'oldname := s } + { s oldname = + { is.dash.repeated.names + { repeated.name.dashes } + { s 'oldname := s } + if$ + } + { s 'oldname := s } + if$ + } + if$ +} + +% Converts the number string on the top of the stack to +% "numerical ordinal form" (e.g., "7" to "7th"). There is +% no artificial limit to the upper bound of the numbers as the +% least significant digit always determines the ordinal form. +FUNCTION {num.to.ordinal} +{ duplicate$ #-1 #1 substring$ "1" = + { bbl.st * } + { duplicate$ #-1 #1 substring$ "2" = + { bbl.nd * } + { duplicate$ #-1 #1 substring$ "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ +} + +% If the string on the top of the stack begins with a number, +% (e.g., 11th) then replace the string with the leading number +% it contains. Otherwise retain the string as-is. s holds the +% extracted number, t holds the part of the string that remains +% to be scanned. +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +% Converts the word number string on the top of the stack to +% Arabic string form. Will be successful up to "tenth". +FUNCTION {word.to.num} +{ duplicate$ "l" change.case$ 's := + s "first" = + { pop$ "1" } + { skip$ } + if$ + s "second" = + { pop$ "2" } + { skip$ } + if$ + s "third" = + { pop$ "3" } + { skip$ } + if$ + s "fourth" = + { pop$ "4" } + { skip$ } + if$ + s "fifth" = + { pop$ "5" } + { skip$ } + if$ + s "sixth" = + { pop$ "6" } + { skip$ } + if$ + s "seventh" = + { pop$ "7" } + { skip$ } + if$ + s "eighth" = + { pop$ "8" } + { skip$ } + if$ + s "ninth" = + { pop$ "9" } + { skip$ } + if$ + s "tenth" = + { pop$ "10" } + { skip$ } + if$ +} + + +% Converts the string on the top of the stack to numerical +% ordinal (e.g., "11th") form. +FUNCTION {convert.edition} +{ duplicate$ empty$ 'skip$ + { duplicate$ #1 #1 substring$ is.num + { extract.num + num.to.ordinal + } + { word.to.num + duplicate$ #1 #1 substring$ is.num + { num.to.ordinal } + { "edition ordinal word " quote$ * edition * quote$ * + " may be too high (or improper) for conversion" * " in " * cite$ * warning$ + } + if$ + } + if$ + } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LATEX BIBLIOGRAPHY CODE %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {start.entry} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + initialize.prev.this.status +} + +% Here we write out all the LaTeX code that we will need. The most involved +% code sequences are those that control the alternate interword spacing and +% foreign language hyphenation patterns. The heavy use of \providecommand +% gives users a way to override the defaults. Special thanks to Javier Bezos, +% Johannes Braams, Robin Fairbairns, Heiko Oberdiek, Donald Arseneau and all +% the other gurus on comp.text.tex for their help and advice on the topic of +% \selectlanguage, Babel and BibTeX. +FUNCTION {begin.bib} +{ "% Generated by IEEEtran.bst, version: " bst.file.version * " (" * bst.file.date * ")" * + write$ newline$ + preamble$ empty$ 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\url}[1]{#1}" + write$ newline$ + "\csname url@samestyle\endcsname" + write$ newline$ + "\providecommand{\newblock}{\relax}" + write$ newline$ + "\providecommand{\bibinfo}[2]{#2}" + write$ newline$ + "\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}" + write$ newline$ + "\providecommand{\BIBentryALTinterwordstretchfactor}{" + ALTinterwordstretchfactor * "}" * + write$ newline$ + "\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus " + write$ newline$ + "\BIBentryALTinterwordstretchfactor\fontdimen3\font minus \fontdimen4\font\relax}" + write$ newline$ + "\providecommand{\BIBforeignlanguage}[2]{{%" + write$ newline$ + "\expandafter\ifx\csname l@#1\endcsname\relax" + write$ newline$ + "\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%" + write$ newline$ + "\typeout{** loaded for the language `#1'. Using the pattern for}%" + write$ newline$ + "\typeout{** the default language instead.}%" + write$ newline$ + "\else" + write$ newline$ + "\language=\csname l@#1\endcsname" + write$ newline$ + "\fi" + write$ newline$ + "#2}}" + write$ newline$ + "\providecommand{\BIBdecl}{\relax}" + write$ newline$ + "\BIBdecl" + write$ newline$ +} + +FUNCTION {end.bib} +{ newline$ "\end{thebibliography}" write$ newline$ } + +FUNCTION {if.url.alt.interword.spacing} +{ is.use.alt.interword.spacing + {url empty$ 'skip$ {"\BIBentryALTinterwordspacing" write$ newline$} if$} + { skip$ } + if$ +} + +FUNCTION {if.url.std.interword.spacing} +{ is.use.alt.interword.spacing + {url empty$ 'skip$ {"\BIBentrySTDinterwordspacing" write$ newline$} if$} + { skip$ } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%% +%% LONGEST LABEL PASS %% +%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ type$ "ieeetranbstctl" = + { skip$ } + { number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + { skip$ } + if$ + } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%% +%% FORMAT HANDLERS %% +%%%%%%%%%%%%%%%%%%%%% + +%% Lower Level Formats (used by higher level formats) + +FUNCTION {format.address.org.or.pub.date} +{ 't := + "" + year empty$ + { "empty year in " cite$ * warning$ } + { skip$ } + if$ + address empty$ t empty$ and + year empty$ and month empty$ and + { skip$ } + { this.to.prev.status + this.status.std + cap.status.std + address "address" bibinfo.check * + t empty$ + { skip$ } + { punct.period 'prev.status.punct := + space.large 'prev.status.space := + address empty$ + { skip$ } + { ": " * } + if$ + t * + } + if$ + year empty$ month empty$ and + { skip$ } + { t empty$ address empty$ and + { skip$ } + { ", " * } + if$ + month empty$ + { year empty$ + { skip$ } + { year "year" bibinfo.check * } + if$ + } + { month "month" bibinfo.check * + year empty$ + { skip$ } + { " " * year "year" bibinfo.check * } + if$ + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + this.to.prev.status + this.status.std + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + name.format.string + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { nameptr num.names.shown.with.forced.et.al #1 + = + numnames max.num.names.before.forced.et.al > + is.forced.et.al and and + { "others" 't := + #1 'namesleft := + } + { skip$ } + if$ + namesleft #1 > + { ", " * t do.name.latex.cmd * } + { s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { " " * bbl.etal emphasize * } + { numnames #2 > + { "," * } + { skip$ } + if$ + bbl.and + space.word * t do.name.latex.cmd * + } + if$ + } + if$ + } + { t do.name.latex.cmd } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + cap.status.std + } if$ +} + + + + +%% Higher Level Formats + +%% addresses/locations + +FUNCTION {format.address} +{ address duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + + + +%% author/editor names + +FUNCTION {format.authors}{ author "author" format.names } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { ", " * + get.bbl.editor + capitalize + * + } + if$ +} + + + +%% date + +FUNCTION {format.date} +{ + month "month" bibinfo.check duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { this.to.prev.status + this.status.std + cap.status.std + swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + } + if$ +} + +FUNCTION {format.date.electronic} +{ month "month" bibinfo.check duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ + { pop$ } + { "there's a month but no year in " cite$ * warning$ + pop$ ")" * "(" swap$ * + this.to.prev.status + punct.no 'this.status.punct := + space.normal 'this.status.space := + quote.no 'this.status.quote := + cap.yes 'status.cap := + } + if$ + } + { swap$ + { swap$ pop$ ")" * "(" swap$ * } + { "(" swap$ * ", " * swap$ * ")" * } + if$ + this.to.prev.status + punct.no 'this.status.punct := + space.normal 'this.status.space := + quote.no 'this.status.quote := + cap.yes 'status.cap := + } + if$ +} + + + +%% edition/title + +% Note: IEEE considers the edition to be closely associated with +% the title of a book. So, in IEEEtran.bst the edition is normally handled +% within the formatting of the title. The format.edition function is +% retained here for possible future use. +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + convert.edition + status.cap + { "t" } + { "l" } + if$ change.case$ + "edition" bibinfo.check + "~" * bbl.edition * + cap.status.std + } + if$ +} + +% This is used to format the booktitle of a conference proceedings. +% Here we use the "intype" field to provide the user a way to +% override the word "in" (e.g., with things like "presented at") +% Use of intype stops the emphasis of the booktitle to indicate that +% we no longer mean the written conference proceedings, but the +% conference itself. +FUNCTION {format.in.booktitle} +{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + select.language + intype missing$ + { emphasize + bbl.in " " * + } + { intype " " * } + if$ + swap$ * + cap.status.std + } + if$ +} + +% This is used to format the booktitle of collection. +% Here the "intype" field is not supported, but "edition" is. +FUNCTION {format.in.booktitle.edition} +{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + select.language + emphasize + edition empty$ 'skip$ + { ", " * + edition + convert.edition + "l" change.case$ + * "~" * bbl.edition * + } + if$ + bbl.in " " * swap$ * + cap.status.std + } + if$ +} + +FUNCTION {format.article.title} +{ title duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + "t" change.case$ + } + if$ + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { quote.close 'this.status.quote := + is.last.char.not.punct + { punct.std 'this.status.punct := } + { punct.no 'this.status.punct := } + if$ + select.language + "``" swap$ * + cap.status.std + } + if$ +} + +FUNCTION {format.article.title.electronic} +{ title duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + "t" change.case$ + } + if$ + "title" bibinfo.check + duplicate$ empty$ + { skip$ } + { select.language } + if$ +} + +FUNCTION {format.book.title.edition} +{ title "title" bibinfo.check + duplicate$ empty$ + { "empty title in " cite$ * warning$ } + { this.to.prev.status + this.status.std + select.language + emphasize + edition empty$ 'skip$ + { ", " * + edition + convert.edition + status.cap + { "t" } + { "l" } + if$ + change.case$ + * "~" * bbl.edition * + } + if$ + cap.status.std + } + if$ +} + +FUNCTION {format.book.title} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + select.language + emphasize + } + if$ +} + + + +%% journal + +FUNCTION {format.journal} +{ journal duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + select.language + emphasize + } + if$ +} + + + +%% how published + +FUNCTION {format.howpublished} +{ howpublished duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + + + +%% institutions/organization/publishers/school + +FUNCTION {format.institution} +{ institution duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + +FUNCTION {format.organization} +{ organization duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + +FUNCTION {format.address.publisher.date} +{ publisher "publisher" bibinfo.warn format.address.org.or.pub.date } + +FUNCTION {format.address.publisher.date.nowarn} +{ publisher "publisher" bibinfo.check format.address.org.or.pub.date } + +FUNCTION {format.address.organization.date} +{ organization "organization" bibinfo.check format.address.org.or.pub.date } + +FUNCTION {format.school} +{ school duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + + + +%% volume/number/series/chapter/pages + +FUNCTION {format.volume} +{ volume empty.field.to.null.string + duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + bbl.volume + status.cap + { capitalize } + { skip$ } + if$ + swap$ tie.or.space.prefix + "volume" bibinfo.check + * * + cap.status.std + } + if$ +} + +FUNCTION {format.number} +{ number empty.field.to.null.string + duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + status.cap + { bbl.number capitalize } + { bbl.number } + if$ + swap$ tie.or.space.prefix + "number" bibinfo.check + * * + cap.status.std + } + if$ +} + +FUNCTION {format.number.if.use.for.article} +{ is.use.number.for.article + { format.number } + { "" } + if$ +} + +% IEEE does not seem to tie the series so closely with the volume +% and number as is done in other bibliography styles. Instead the +% series is treated somewhat like an extension of the title. +FUNCTION {format.series} +{ series empty$ + { "" } + { this.to.prev.status + this.status.std + bbl.series " " * + series "series" bibinfo.check * + cap.status.std + } + if$ +} + + +FUNCTION {format.chapter} +{ chapter empty$ + { "" } + { this.to.prev.status + this.status.std + type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + cap.status.std + } + if$ +} + + +% The intended use of format.paper is for paper numbers of inproceedings. +% The paper type can be overridden via the type field. +% We allow the type to be displayed even if the paper number is absent +% for things like "postdeadline paper" +FUNCTION {format.paper} +{ is.use.paper + { paper empty$ + { type empty$ + { "" } + { this.to.prev.status + this.status.std + type "type" bibinfo.check + cap.status.std + } + if$ + } + { this.to.prev.status + this.status.std + type empty$ + { bbl.paper } + { type "type" bibinfo.check } + if$ + " " * paper + "paper" bibinfo.check + * + cap.status.std + } + if$ + } + { "" } + if$ +} + + +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + duplicate$ is.multiple.pages + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + cap.status.std + } + if$ +} + + + +%% technical report number + +FUNCTION {format.tech.report.number} +{ number "number" bibinfo.check + this.to.prev.status + this.status.std + cap.status.std + type duplicate$ empty$ + { pop$ + bbl.techrep + } + { skip$ } + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ } + { tie.or.space.prefix * * } + if$ +} + + + +%% note + +FUNCTION {format.note} +{ note empty$ + { "" } + { this.to.prev.status + this.status.std + punct.period 'this.status.punct := + note #1 #1 substring$ + duplicate$ "{" = + { skip$ } + { status.cap + { "u" } + { "l" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + cap.yes 'status.cap := + } + if$ +} + + + +%% patent + +FUNCTION {format.patent.date} +{ this.to.prev.status + this.status.std + year empty$ + { monthfiled duplicate$ empty$ + { "monthfiled" bibinfo.check pop$ "" } + { "monthfiled" bibinfo.check } + if$ + dayfiled duplicate$ empty$ + { "dayfiled" bibinfo.check pop$ "" * } + { "dayfiled" bibinfo.check + monthfiled empty$ + { "dayfiled without a monthfiled in " cite$ * warning$ + * + } + { " " swap$ * * } + if$ + } + if$ + yearfiled empty$ + { "no year or yearfiled in " cite$ * warning$ } + { yearfiled "yearfiled" bibinfo.check + swap$ + duplicate$ empty$ + { pop$ } + { ", " * swap$ * } + if$ + } + if$ + } + { month duplicate$ empty$ + { "month" bibinfo.check pop$ "" } + { "month" bibinfo.check } + if$ + day duplicate$ empty$ + { "day" bibinfo.check pop$ "" * } + { "day" bibinfo.check + month empty$ + { "day without a month in " cite$ * warning$ + * + } + { " " swap$ * * } + if$ + } + if$ + year "year" bibinfo.check + swap$ + duplicate$ empty$ + { pop$ } + { ", " * swap$ * } + if$ + } + if$ + cap.status.std +} + +FUNCTION {format.patent.nationality.type.number} +{ this.to.prev.status + this.status.std + nationality duplicate$ empty$ + { "nationality" bibinfo.warn pop$ "" } + { "nationality" bibinfo.check + duplicate$ "l" change.case$ "united states" = + { pop$ bbl.patentUS } + { skip$ } + if$ + " " * + } + if$ + type empty$ + { bbl.patent "type" bibinfo.check } + { type "type" bibinfo.check } + if$ + * + number duplicate$ empty$ + { "number" bibinfo.warn pop$ } + { "number" bibinfo.check + large.number.separate + swap$ " " * swap$ * + } + if$ + cap.status.std +} + + + +%% standard + +FUNCTION {format.organization.institution.standard.type.number} +{ this.to.prev.status + this.status.std + organization duplicate$ empty$ + { pop$ + institution duplicate$ empty$ + { "institution" bibinfo.warn } + { "institution" bibinfo.warn " " * } + if$ + } + { "organization" bibinfo.warn " " * } + if$ + type empty$ + { bbl.standard "type" bibinfo.check } + { type "type" bibinfo.check } + if$ + * + number duplicate$ empty$ + { "number" bibinfo.check pop$ } + { "number" bibinfo.check + large.number.separate + swap$ " " * swap$ * + } + if$ + cap.status.std +} + +FUNCTION {format.revision} +{ revision empty$ + { "" } + { this.to.prev.status + this.status.std + bbl.revision + revision tie.or.space.prefix + "revision" bibinfo.check + * * + cap.status.std + } + if$ +} + + +%% thesis + +FUNCTION {format.master.thesis.type} +{ this.to.prev.status + this.status.std + type empty$ + { + bbl.mthesis + } + { + type "type" bibinfo.check + } + if$ +cap.status.std +} + +FUNCTION {format.phd.thesis.type} +{ this.to.prev.status + this.status.std + type empty$ + { + bbl.phdthesis + } + { + type "type" bibinfo.check + } + if$ +cap.status.std +} + + + +%% URL + +FUNCTION {format.url} +{ url empty$ + { "" } + { this.to.prev.status + this.status.std + cap.yes 'status.cap := + name.url.prefix " " * + "\url{" * url * "}" * + punct.no 'this.status.punct := + punct.period 'prev.status.punct := + space.normal 'this.status.space := + space.normal 'prev.status.space := + quote.no 'this.status.quote := + } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%% +%% ENTRY HANDLERS %% +%%%%%%%%%%%%%%%%%%%% + + +% Note: In many journals, IEEE (or the authors) tend not to show the number +% for articles, so the display of the number is controlled here by the +% switch "is.use.number.for.article" +FUNCTION {article} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.journal "journal" bibinfo.check "journal" output.warn + format.volume output + format.number.if.use.for.article output + format.pages output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {book} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + author empty$ + { format.editors "author and editor" output.warn } + { format.authors output.nonnull } + if$ + name.or.dash + format.book.title.edition output + format.series output + author empty$ + { skip$ } + { format.editors output } + if$ + format.address.publisher.date output + format.volume output + format.number output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {booklet} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.article.title "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.date output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {electronic} +{ std.status.using.period + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.date.electronic output + format.article.title.electronic output + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.note output + format.url output + fin.entry + empty.entry.warn + if.url.std.interword.spacing +} + +FUNCTION {inbook} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + author empty$ + { format.editors "author and editor" output.warn } + { format.authors output.nonnull } + if$ + name.or.dash + format.book.title.edition output + format.series output + format.address.publisher.date output + format.volume output + format.number output + format.chapter output + format.pages output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {incollection} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.in.booktitle.edition "booktitle" output.warn + format.series output + format.editors output + format.address.publisher.date.nowarn output + format.volume output + format.number output + format.chapter output + format.pages output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {inproceedings} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.in.booktitle "booktitle" output.warn + format.series output + format.editors output + format.volume output + format.number output + publisher empty$ + { format.address.organization.date output } + { format.organization "organization" bibinfo.check output + format.address.publisher.date output + } + if$ + format.paper output + format.pages output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {manual} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.book.title.edition "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.date output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {mastersthesis} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.master.thesis.type output.nonnull + format.school "school" bibinfo.warn output + format.address "address" bibinfo.check output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {misc} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.article.title output + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.pages output + format.date output + format.note output + format.url output + fin.entry + empty.entry.warn + if.url.std.interword.spacing +} + +FUNCTION {patent} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.article.title output + format.patent.nationality.type.number output + format.patent.date output + format.note output + format.url output + fin.entry + empty.entry.warn + if.url.std.interword.spacing +} + +FUNCTION {periodical} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.editors output + name.or.dash + format.book.title "title" output.warn + format.series output + format.volume output + format.number output + format.organization "organization" bibinfo.check output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {phdthesis} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.phd.thesis.type output.nonnull + format.school "school" bibinfo.warn output + format.address "address" bibinfo.check output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {proceedings} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.editors output + name.or.dash + format.book.title "title" output.warn + format.series output + format.volume output + format.number output + publisher empty$ + { format.address.organization.date output } + { format.organization "organization" bibinfo.check output + format.address.publisher.date output + } + if$ + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {standard} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.book.title "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.organization.institution.standard.type.number output + format.revision output + format.date output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {techreport} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.institution "institution" bibinfo.warn output + format.address "address" bibinfo.check output + format.tech.report.number output.nonnull + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {unpublished} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.date output + format.note "note" output.warn + format.url output + fin.entry + if.url.std.interword.spacing +} + + +% The special entry type which provides the user interface to the +% BST controls +FUNCTION {IEEEtranBSTCTL} +{ is.print.banners.to.terminal + { "** IEEEtran BST control entry " quote$ * cite$ * quote$ * " detected." * + top$ + } + { skip$ } + if$ + CTLuse_article_number + empty$ + { skip$ } + { CTLuse_article_number + yes.no.to.int + 'is.use.number.for.article := + } + if$ + CTLuse_paper + empty$ + { skip$ } + { CTLuse_paper + yes.no.to.int + 'is.use.paper := + } + if$ + CTLuse_forced_etal + empty$ + { skip$ } + { CTLuse_forced_etal + yes.no.to.int + 'is.forced.et.al := + } + if$ + CTLmax_names_forced_etal + empty$ + { skip$ } + { CTLmax_names_forced_etal + string.to.integer + 'max.num.names.before.forced.et.al := + } + if$ + CTLnames_show_etal + empty$ + { skip$ } + { CTLnames_show_etal + string.to.integer + 'num.names.shown.with.forced.et.al := + } + if$ + CTLuse_alt_spacing + empty$ + { skip$ } + { CTLuse_alt_spacing + yes.no.to.int + 'is.use.alt.interword.spacing := + } + if$ + CTLalt_stretch_factor + empty$ + { skip$ } + { CTLalt_stretch_factor + 'ALTinterwordstretchfactor := + "\renewcommand{\BIBentryALTinterwordstretchfactor}{" + ALTinterwordstretchfactor * "}" * + write$ newline$ + } + if$ + CTLdash_repeated_names + empty$ + { skip$ } + { CTLdash_repeated_names + yes.no.to.int + 'is.dash.repeated.names := + } + if$ + CTLname_format_string + empty$ + { skip$ } + { CTLname_format_string + 'name.format.string := + } + if$ + CTLname_latex_cmd + empty$ + { skip$ } + { CTLname_latex_cmd + 'name.latex.cmd := + } + if$ + CTLname_url_prefix + missing$ + { skip$ } + { CTLname_url_prefix + 'name.url.prefix := + } + if$ + + + num.names.shown.with.forced.et.al max.num.names.before.forced.et.al > + { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$ + max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al := + } + { skip$ } + if$ +} + + +%%%%%%%%%%%%%%%%%%% +%% ENTRY ALIASES %% +%%%%%%%%%%%%%%%%%%% +FUNCTION {conference}{inproceedings} +FUNCTION {online}{electronic} +FUNCTION {internet}{electronic} +FUNCTION {webpage}{electronic} +FUNCTION {www}{electronic} +FUNCTION {default.type}{misc} + + + +%%%%%%%%%%%%%%%%%% +%% MAIN PROGRAM %% +%%%%%%%%%%%%%%%%%% + +READ + +EXECUTE {initialize.controls} +EXECUTE {initialize.status.constants} +EXECUTE {banner.message} + +EXECUTE {initialize.longest.label} +ITERATE {longest.label.pass} + +EXECUTE {begin.bib} +ITERATE {call.type$} +EXECUTE {end.bib} + +EXECUTE{completed.message} + + +%% That's all folks, mds. diff --git a/mpi-energy2-extension/IEEEtran.cls b/mpi-energy2-extension/IEEEtran.cls new file mode 100644 index 0000000..f3a8b5b --- /dev/null +++ b/mpi-energy2-extension/IEEEtran.cls @@ -0,0 +1,4733 @@ +%% +%% IEEEtran.cls 2011/11/03 version V1.8 based on +%% IEEEtran.cls 2007/03/05 version V1.7a +%% The changes in V1.8 are made with a single goal in mind: +%% to change the look of the output using the [conference] option +%% and the default font size (10pt) to match the Word template more closely. +%% These changes may well have undesired side effects when other options +%% are in force! +%% +%% +%% This is the official IEEE LaTeX class for authors of the Institute of +%% Electrical and Electronics Engineers (IEEE) Transactions journals and +%% conferences. +%% +%% Support sites: +%% http://www.michaelshell.org/tex/ieeetran/ +%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +%% and +%% http://www.ieee.org/ +%% +%% Based on the original 1993 IEEEtran.cls, but with many bug fixes +%% and enhancements (from both JVH and MDS) over the 1996/7 version. +%% +%% +%% Contributors: +%% Gerry Murray (1993), Silvano Balemi (1993), +%% Jon Dixon (1996), Peter N"uchter (1996), +%% Juergen von Hagen (2000), and Michael Shell (2001-2007) +%% +%% +%% Copyright (c) 1993-2000 by Gerry Murray, Silvano Balemi, +%% Jon Dixon, Peter N"uchter, +%% Juergen von Hagen +%% and +%% Copyright (c) 2001-2007 by Michael Shell +%% +%% Current maintainer (V1.3 to V1.7): Michael Shell +%% See: +%% http://www.michaelshell.org/ +%% for current contact information. +%% +%% Special thanks to Peter Wilson (CUA) and Donald Arseneau +%% for allowing the inclusion of the \@ifmtarg command +%% from their ifmtarg LaTeX package. +%% +%%************************************************************************* +%% Legal Notice: +%% This code is offered as-is without any warranty either expressed or +%% implied; without even the implied warranty of MERCHANTABILITY or +%% FITNESS FOR A PARTICULAR PURPOSE! +%% User assumes all risk. +%% In no event shall IEEE or any contributor to this code be liable for +%% any damages or losses, including, but not limited to, incidental, +%% consequential, or any other damages, resulting from the use or misuse +%% of any information contained here. +%% +%% All comments are the opinions of their respective authors and are not +%% necessarily endorsed by the IEEE. +%% +%% This work is distributed under the LaTeX Project Public License (LPPL) +%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, +%% distributed and modified. A copy of the LPPL, version 1.3, is included +%% in the base LaTeX documentation of all distributions of LaTeX released +%% 2003/12/01 or later. +%% Retain all contribution notices and credits. +%% ** Modified files should be clearly indicated as such, including ** +%% ** renaming them and changing author support contact information. ** +%% +%% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex, +%% bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex +%% +%% Major changes to the user interface should be indicated by an +%% increase in the version numbers. If a version is a beta, it will +%% be indicated with a BETA suffix, i.e., 1.4 BETA. +%% Small changes can be indicated by appending letters to the version +%% such as "IEEEtran_v14a.cls". +%% In all cases, \Providesclass, any \typeout messages to the user, +%% \IEEEtransversionmajor and \IEEEtransversionminor must reflect the +%% correct version information. +%% The changes should also be documented via source comments. +%%************************************************************************* +%% +% +% Available class options +% e.g., \documentclass[10pt,conference]{IEEEtran} +% +% *** choose only one from each category *** +% +% 9pt, 10pt, 11pt, 12pt +% Sets normal font size. The default is 10pt. +% +% conference, journal, technote, peerreview, peerreviewca +% determines format mode - conference papers, journal papers, +% correspondence papers (technotes), or peer review papers. The user +% should also select 9pt when using technote. peerreview is like +% journal mode, but provides for a single-column "cover" title page for +% anonymous peer review. The paper title (without the author names) is +% repeated at the top of the page after the cover page. For peer review +% papers, the \IEEEpeerreviewmaketitle command must be executed (will +% automatically be ignored for non-peerreview modes) at the place the +% cover page is to end, usually just after the abstract (keywords are +% not normally used with peer review papers). peerreviewca is like +% peerreview, but allows the author names to be entered and formatted +% as with conference mode so that author affiliation and contact +% information can be easily seen on the cover page. +% The default is journal. +% +% draft, draftcls, draftclsnofoot, final +% determines if paper is formatted as a widely spaced draft (for +% handwritten editor comments) or as a properly typeset final version. +% draftcls restricts draft mode to the class file while all other LaTeX +% packages (i.e., \usepackage{graphicx}) will behave as final - allows +% for a draft paper with visible figures, etc. draftclsnofoot is like +% draftcls, but does not display the date and the word "DRAFT" at the foot +% of the pages. If using one of the draft modes, the user will probably +% also want to select onecolumn. +% The default is final. +% +% letterpaper, a4paper +% determines paper size: 8.5in X 11in or 210mm X 297mm. CHANGING THE PAPER +% SIZE WILL NOT ALTER THE TYPESETTING OF THE DOCUMENT - ONLY THE MARGINS +% WILL BE AFFECTED. In particular, documents using the a4paper option will +% have reduced side margins (A4 is narrower than US letter) and a longer +% bottom margin (A4 is longer than US letter). For both cases, the top +% margins will be the same and the text will be horizontally centered. +% For final submission to IEEE, authors should use US letter (8.5 X 11in) +% paper. Note that authors should ensure that all post-processing +% (ps, pdf, etc.) uses the same paper specificiation as the .tex document. +% Problems here are by far the number one reason for incorrect margins. +% IEEEtran will automatically set the default paper size under pdflatex +% (without requiring a change to pdftex.cfg), so this issue is more +% important to dvips users. Fix config.ps, config.pdf, or ~/.dvipsrc for +% dvips, or use the dvips -t papersize option instead as needed. See the +% testflow documentation +% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/testflow +% for more details on dvips paper size configuration. +% The default is letterpaper. +% +% oneside, twoside +% determines if layout follows single sided or two sided (duplex) +% printing. The only notable change is with the headings at the top of +% the pages. +% The default is oneside. +% +% onecolumn, twocolumn +% determines if text is organized into one or two columns per page. One +% column mode is usually used only with draft papers. +% The default is twocolumn. +% +% compsoc +% Use the format of the IEEE Computer Society. +% +% romanappendices +% Use the "Appendix I" convention when numbering appendices. IEEEtran.cls +% now defaults to Alpha "Appendix A" convention - the opposite of what +% v1.6b and earlier did. +% +% captionsoff +% disables the display of the figure/table captions. Some IEEE journals +% request that captions be removed and figures/tables be put on pages +% of their own at the end of an initial paper submission. The endfloat +% package can be used with this class option to achieve this format. +% +% nofonttune +% turns off tuning of the font interword spacing. Maybe useful to those +% not using the standard Times fonts or for those who have already "tuned" +% their fonts. +% The default is to enable IEEEtran to tune font parameters. +% +% +%---------- +% Available CLASSINPUTs provided (all are macros unless otherwise noted): +% \CLASSINPUTbaselinestretch +% \CLASSINPUTinnersidemargin +% \CLASSINPUToutersidemargin +% \CLASSINPUTtoptextmargin +% \CLASSINPUTbottomtextmargin +% +% Available CLASSINFOs provided: +% \ifCLASSINFOpdf (TeX if conditional) +% \CLASSINFOpaperwidth (macro) +% \CLASSINFOpaperheight (macro) +% \CLASSINFOnormalsizebaselineskip (length) +% \CLASSINFOnormalsizeunitybaselineskip (length) +% +% Available CLASSOPTIONs provided: +% all class option flags (TeX if conditionals) unless otherwise noted, +% e.g., \ifCLASSOPTIONcaptionsoff +% point size options provided as a single macro: +% \CLASSOPTIONpt +% which will be defined as 9, 10, 11, or 12 depending on the document's +% normalsize point size. +% also, class option peerreviewca implies the use of class option peerreview +% and classoption draft implies the use of class option draftcls + + + + + +\ProvidesClass{IEEEtran}[2012/11/21 V1.8c by Harald Hanche-Olsen and Anders Christensen] +\typeout{-- Based on V1.7a by Michael Shell} +\typeout{-- See the "IEEEtran_HOWTO" manual for usage information.} +\typeout{-- http://www.michaelshell.org/tex/ieeetran/} +\NeedsTeXFormat{LaTeX2e} + +% IEEEtran.cls version numbers, provided as of V1.3 +% These values serve as a way a .tex file can +% determine if the new features are provided. +% The version number of this IEEEtrans.cls can be obtained from +% these values. i.e., V1.4 +% KEEP THESE AS INTEGERS! i.e., NO {4a} or anything like that- +% (no need to enumerate "a" minor changes here) +\def\IEEEtransversionmajor{1} +\def\IEEEtransversionminor{7} + +% These do nothing, but provide them like in article.cls +\newif\if@restonecol +\newif\if@titlepage + + +% class option conditionals +\newif\ifCLASSOPTIONonecolumn \CLASSOPTIONonecolumnfalse +\newif\ifCLASSOPTIONtwocolumn \CLASSOPTIONtwocolumntrue + +\newif\ifCLASSOPTIONoneside \CLASSOPTIONonesidetrue +\newif\ifCLASSOPTIONtwoside \CLASSOPTIONtwosidefalse + +\newif\ifCLASSOPTIONfinal \CLASSOPTIONfinaltrue +\newif\ifCLASSOPTIONdraft \CLASSOPTIONdraftfalse +\newif\ifCLASSOPTIONdraftcls \CLASSOPTIONdraftclsfalse +\newif\ifCLASSOPTIONdraftclsnofoot \CLASSOPTIONdraftclsnofootfalse + +\newif\ifCLASSOPTIONpeerreview \CLASSOPTIONpeerreviewfalse +\newif\ifCLASSOPTIONpeerreviewca \CLASSOPTIONpeerreviewcafalse + +\newif\ifCLASSOPTIONjournal \CLASSOPTIONjournaltrue +\newif\ifCLASSOPTIONconference \CLASSOPTIONconferencefalse +\newif\ifCLASSOPTIONtechnote \CLASSOPTIONtechnotefalse + +\newif\ifCLASSOPTIONnofonttune \CLASSOPTIONnofonttunefalse + +\newif\ifCLASSOPTIONcaptionsoff \CLASSOPTIONcaptionsofffalse + +\newif\ifCLASSOPTIONcompsoc \CLASSOPTIONcompsocfalse + +\newif\ifCLASSOPTIONromanappendices \CLASSOPTIONromanappendicesfalse + + +% class info conditionals + +% indicates if pdf (via pdflatex) output +\newif\ifCLASSINFOpdf \CLASSINFOpdffalse + + +% V1.6b internal flag to show if using a4paper +\newif\if@IEEEusingAfourpaper \@IEEEusingAfourpaperfalse + + + +% IEEEtran class scratch pad registers +% dimen +\newdimen\@IEEEtrantmpdimenA +\newdimen\@IEEEtrantmpdimenB +% count +\newcount\@IEEEtrantmpcountA +\newcount\@IEEEtrantmpcountB +% token list +\newtoks\@IEEEtrantmptoksA + +% we use \CLASSOPTIONpt so that we can ID the point size (even for 9pt docs) +% as well as LaTeX's \@ptsize to retain some compatability with some +% external packages +\def\@ptsize{0} +% LaTeX does not support 9pt, so we set \@ptsize to 0 - same as that of 10pt +\DeclareOption{9pt}{\def\CLASSOPTIONpt{9}\def\@ptsize{0}} +\DeclareOption{10pt}{\def\CLASSOPTIONpt{10}\def\@ptsize{0}} +\DeclareOption{11pt}{\def\CLASSOPTIONpt{11}\def\@ptsize{1}} +\DeclareOption{12pt}{\def\CLASSOPTIONpt{12}\def\@ptsize{2}} + + + +\DeclareOption{letterpaper}{\setlength{\paperheight}{11in}% + \setlength{\paperwidth}{8.5in}% + \@IEEEusingAfourpaperfalse + \def\CLASSOPTIONpaper{letter}% + \def\CLASSINFOpaperwidth{8.5in}% + \def\CLASSINFOpaperheight{11in}} + + +\DeclareOption{a4paper}{\setlength{\paperheight}{297mm}% + \setlength{\paperwidth}{210mm}% + \@IEEEusingAfourpapertrue + \def\CLASSOPTIONpaper{a4}% + \def\CLASSINFOpaperwidth{210mm}% + \def\CLASSINFOpaperheight{297mm}} + +\DeclareOption{oneside}{\@twosidefalse\@mparswitchfalse + \CLASSOPTIONonesidetrue\CLASSOPTIONtwosidefalse} +\DeclareOption{twoside}{\@twosidetrue\@mparswitchtrue + \CLASSOPTIONtwosidetrue\CLASSOPTIONonesidefalse} + +\DeclareOption{onecolumn}{\CLASSOPTIONonecolumntrue\CLASSOPTIONtwocolumnfalse} +\DeclareOption{twocolumn}{\CLASSOPTIONtwocolumntrue\CLASSOPTIONonecolumnfalse} + +% If the user selects draft, then this class AND any packages +% will go into draft mode. +\DeclareOption{draft}{\CLASSOPTIONdrafttrue\CLASSOPTIONdraftclstrue + \CLASSOPTIONdraftclsnofootfalse} +% draftcls is for a draft mode which will not affect any packages +% used by the document. +\DeclareOption{draftcls}{\CLASSOPTIONdraftfalse\CLASSOPTIONdraftclstrue + \CLASSOPTIONdraftclsnofootfalse} +% draftclsnofoot is like draftcls, but without the footer. +\DeclareOption{draftclsnofoot}{\CLASSOPTIONdraftfalse\CLASSOPTIONdraftclstrue + \CLASSOPTIONdraftclsnofoottrue} +\DeclareOption{final}{\CLASSOPTIONdraftfalse\CLASSOPTIONdraftclsfalse + \CLASSOPTIONdraftclsnofootfalse} + +\DeclareOption{journal}{\CLASSOPTIONpeerreviewfalse\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournaltrue\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotefalse} + +\DeclareOption{conference}{\CLASSOPTIONpeerreviewfalse\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencetrue\CLASSOPTIONtechnotefalse} + +\DeclareOption{technote}{\CLASSOPTIONpeerreviewfalse\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotetrue} + +\DeclareOption{peerreview}{\CLASSOPTIONpeerreviewtrue\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotefalse} + +\DeclareOption{peerreviewca}{\CLASSOPTIONpeerreviewtrue\CLASSOPTIONpeerreviewcatrue + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotefalse} + +\DeclareOption{nofonttune}{\CLASSOPTIONnofonttunetrue} + +\DeclareOption{captionsoff}{\CLASSOPTIONcaptionsofftrue} + +\DeclareOption{compsoc}{\CLASSOPTIONcompsoctrue} + +\DeclareOption{romanappendices}{\CLASSOPTIONromanappendicestrue} + + +% default to US letter paper, 10pt, twocolumn, one sided, final, journal +\ExecuteOptions{letterpaper,10pt,twocolumn,oneside,final,journal} +% overrride these defaults per user requests +\ProcessOptions + + + +% Computer Society conditional execution command +\long\def\@IEEEcompsoconly#1{\relax\ifCLASSOPTIONcompsoc\relax#1\relax\fi\relax} +% inverse +\long\def\@IEEEnotcompsoconly#1{\relax\ifCLASSOPTIONcompsoc\else\relax#1\relax\fi\relax} +% compsoc conference +\long\def\@IEEEcompsocconfonly#1{\relax\ifCLASSOPTIONcompsoc\ifCLASSOPTIONconference\relax#1\relax\fi\fi\relax} +% compsoc not conference +\long\def\@IEEEcompsocnotconfonly#1{\relax\ifCLASSOPTIONcompsoc\ifCLASSOPTIONconference\else\relax#1\relax\fi\fi\relax} + + +% IEEE uses Times Roman font, so we'll default to Times. +% These three commands make up the entire times.sty package. +\renewcommand{\sfdefault}{phv} +\renewcommand{\rmdefault}{ptm} +\renewcommand{\ttdefault}{pcr} + +\@IEEEcompsoconly{\typeout{-- Using IEEE Computer Society mode.}} + +% V1.7 compsoc nonconference papers, use Palatino/Palladio as the main text font, +% not Times Roman. +\@IEEEcompsocnotconfonly{\renewcommand{\rmdefault}{ppl}} + +% enable Times/Palatino main text font +\normalfont\selectfont + + + + + +% V1.7 conference notice message hook +\def\@IEEEconsolenoticeconference{\typeout{}% +\typeout{** Conference Paper **}% +\typeout{Before submitting the final camera ready copy, remember to:}% +\typeout{}% +\typeout{ 1. Manually equalize the lengths of two columns on the last page}% +\typeout{ of your paper;}% +\typeout{}% +\typeout{ 2. Ensure that any PostScript and/or PDF output post-processing}% +\typeout{ uses only Type 1 fonts and that every step in the generation}% +\typeout{ process uses the appropriate paper size.}% +\typeout{}} + + +% we can send console reminder messages to the user here +\AtEndDocument{\ifCLASSOPTIONconference\@IEEEconsolenoticeconference\fi} + + +% warn about the use of single column other than for draft mode +\ifCLASSOPTIONtwocolumn\else% + \ifCLASSOPTIONdraftcls\else% + \typeout{** ATTENTION: Single column mode is not typically used with IEEE publications.}% + \fi% +\fi + + +% V1.7 improved paper size setting code. +% Set pdfpage and dvips paper sizes. Conditional tests are similar to that +% of ifpdf.sty. Retain within {} to ensure tested macros are never altered, +% even if only effect is to set them to \relax. +% if \pdfoutput is undefined or equal to relax, output a dvips special +{\@ifundefined{pdfoutput}{\AtBeginDvi{\special{papersize=\CLASSINFOpaperwidth,\CLASSINFOpaperheight}}}{% +% pdfoutput is defined and not equal to \relax +% check for pdfpageheight existence just in case someone sets pdfoutput +% under non-pdflatex. If exists, set them regardless of value of \pdfoutput. +\@ifundefined{pdfpageheight}{\relax}{\global\pdfpagewidth\paperwidth +\global\pdfpageheight\paperheight}% +% if using \pdfoutput=0 under pdflatex, send dvips papersize special +\ifcase\pdfoutput +\AtBeginDvi{\special{papersize=\CLASSINFOpaperwidth,\CLASSINFOpaperheight}}% +\else +% we are using pdf output, set CLASSINFOpdf flag +\global\CLASSINFOpdftrue +\fi}} + +% let the user know the selected papersize +\typeout{-- Using \CLASSINFOpaperwidth\space x \CLASSINFOpaperheight\space +(\CLASSOPTIONpaper)\space paper.} + +\ifCLASSINFOpdf +\typeout{-- Using PDF output.} +\else +\typeout{-- Using DVI output.} +\fi + + +% The idea hinted here is for LaTeX to generate markleft{} and markright{} +% automatically for you after you enter \author{}, \journal{}, +% \journaldate{}, journalvol{}, \journalnum{}, etc. +% However, there may be some backward compatibility issues here as +% well as some special applications for IEEEtran.cls and special issues +% that may require the flexible \markleft{}, \markright{} and/or \markboth{}. +% We'll leave this as an open future suggestion. +%\newcommand{\journal}[1]{\def\@journal{#1}} +%\def\@journal{} + + + +% pointsize values +% used with ifx to determine the document's normal size +\def\@IEEEptsizenine{9} +\def\@IEEEptsizeten{10} +\def\@IEEEptsizeeleven{11} +\def\@IEEEptsizetwelve{12} + + + +% FONT DEFINITIONS (No sizexx.clo file needed) +% V1.6 revised font sizes, displayskip values and +% revised normalsize baselineskip to reduce underfull vbox problems +% on the 58pc = 696pt = 9.5in text height we want +% normalsize #lines/column baselineskip (aka leading) +% 9pt 63 11.0476pt (truncated down) +% 10pt 58 12pt (exact) +% 11pt 52 13.3846pt (truncated down) +% 12pt 50 13.92pt (exact) +% + +% we need to store the nominal baselineskip for the given font size +% in case baselinestretch ever changes. +% this is a dimen, so it will not hold stretch or shrink +\newdimen\@IEEEnormalsizeunitybaselineskip +\@IEEEnormalsizeunitybaselineskip\baselineskip + +\ifx\CLASSOPTIONpt\@IEEEptsizenine +\typeout{-- This is a 9 point document.} +\def\normalsize{\@setfontsize{\normalsize}{9}{11.0476pt}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{11.0476pt}% +\normalsize +\abovedisplayskip 1.5ex plus3pt minus1pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus3pt% +\belowdisplayshortskip 1.5ex plus3pt minus1pt +\def\small{\@setfontsize{\small}{8.5}{10pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{8}{9pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{7}{8pt}} +\def\tiny{\@setfontsize{\tiny}{5}{6pt}} +% sublargesize is the same as large - 10pt +\def\sublargesize{\@setfontsize{\sublargesize}{10}{12pt}} +\def\large{\@setfontsize{\large}{10}{12pt}} +\def\Large{\@setfontsize{\Large}{12}{14pt}} +\def\LARGE{\@setfontsize{\LARGE}{14}{17pt}} +\def\huge{\@setfontsize{\huge}{17}{20pt}} +\def\Huge{\@setfontsize{\Huge}{20}{24pt}} +\fi + + +% Check if we have selected 10 points +\ifx\CLASSOPTIONpt\@IEEEptsizeten +\typeout{-- This is a 10 point document.} +\def\normalsize{\@setfontsize{\normalsize}{10}{11}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{11pt}% +\normalsize +\abovedisplayskip 1.5ex plus4pt minus2pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus4pt% +\belowdisplayshortskip 1.5ex plus4pt minus2pt +\def\small{\@setfontsize{\small}{9}{10pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{8}{9pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{7}{8pt}} +\def\tiny{\@setfontsize{\tiny}{5}{6pt}} +% sublargesize is a tad smaller than large - 11pt +\def\sublargesize{\@setfontsize{\sublargesize}{11}{13.4pt}} +\def\large{\@setfontsize{\large}{12}{14pt}} +\def\Large{\@setfontsize{\Large}{14}{17pt}} +\def\LARGE{\@setfontsize{\LARGE}{17}{20pt}} +\def\huge{\@setfontsize{\huge}{20}{24pt}} +\def\Huge{\@setfontsize{\Huge}{24}{28pt}} +\fi + + +% Check if we have selected 11 points +\ifx\CLASSOPTIONpt\@IEEEptsizeeleven +\typeout{-- This is an 11 point document.} +\def\normalsize{\@setfontsize{\normalsize}{11}{13.3846pt}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{13.3846pt}% +\normalsize +\abovedisplayskip 1.5ex plus5pt minus3pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus5pt% +\belowdisplayshortskip 1.5ex plus5pt minus3pt +\def\small{\@setfontsize{\small}{10}{12pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{9}{10.5pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{8}{9pt}} +\def\tiny{\@setfontsize{\tiny}{6}{7pt}} +% sublargesize is the same as large - 12pt +\def\sublargesize{\@setfontsize{\sublargesize}{12}{14pt}} +\def\large{\@setfontsize{\large}{12}{14pt}} +\def\Large{\@setfontsize{\Large}{14}{17pt}} +\def\LARGE{\@setfontsize{\LARGE}{17}{20pt}} +\def\huge{\@setfontsize{\huge}{20}{24pt}} +\def\Huge{\@setfontsize{\Huge}{24}{28pt}} +\fi + + +% Check if we have selected 12 points +\ifx\CLASSOPTIONpt\@IEEEptsizetwelve +\typeout{-- This is a 12 point document.} +\def\normalsize{\@setfontsize{\normalsize}{12}{13.92pt}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{13.92pt}% +\normalsize +\abovedisplayskip 1.5ex plus6pt minus4pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus6pt% +\belowdisplayshortskip 1.5ex plus6pt minus4pt +\def\small{\@setfontsize{\small}{10}{12pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{9}{10.5pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{8}{9pt}} +\def\tiny{\@setfontsize{\tiny}{6}{7pt}} +% sublargesize is the same as large - 14pt +\def\sublargesize{\@setfontsize{\sublargesize}{14}{17pt}} +\def\large{\@setfontsize{\large}{14}{17pt}} +\def\Large{\@setfontsize{\Large}{17}{20pt}} +\def\LARGE{\@setfontsize{\LARGE}{20}{24pt}} +\def\huge{\@setfontsize{\huge}{22}{26pt}} +\def\Huge{\@setfontsize{\Huge}{24}{28pt}} +\fi + + +% V1.6 The Computer Modern Fonts will issue a substitution warning for +% 24pt titles (24.88pt is used instead) increase the substitution +% tolerance to turn off this warning +\def\fontsubfuzz{.9pt} +% However, the default (and correct) Times font will scale exactly as needed. + + +% warn the user in case they forget to use the 9pt option with +% technote +\ifCLASSOPTIONtechnote% + \ifx\CLASSOPTIONpt\@IEEEptsizenine\else% + \typeout{** ATTENTION: Technotes are normally 9pt documents.}% + \fi% +\fi + + +% V1.7 +% Improved \textunderscore to provide a much better fake _ when used with +% OT1 encoding. Under OT1, detect use of pcr or cmtt \ttfamily and use +% available true _ glyph for those two typewriter fonts. +\def\@IEEEstringptm{ptm} % Times Roman family +\def\@IEEEstringppl{ppl} % Palatino Roman family +\def\@IEEEstringphv{phv} % Helvetica Sans Serif family +\def\@IEEEstringpcr{pcr} % Courier typewriter family +\def\@IEEEstringcmtt{cmtt} % Computer Modern typewriter family +\DeclareTextCommandDefault{\textunderscore}{\leavevmode +\ifx\f@family\@IEEEstringpcr\string_\else +\ifx\f@family\@IEEEstringcmtt\string_\else +\ifx\f@family\@IEEEstringptm\kern 0em\vbox{\hrule\@width 0.5em\@height 0.5pt\kern -0.3ex}\else +\ifx\f@family\@IEEEstringppl\kern 0em\vbox{\hrule\@width 0.5em\@height 0.5pt\kern -0.3ex}\else +\ifx\f@family\@IEEEstringphv\kern -0.03em\vbox{\hrule\@width 0.62em\@height 0.52pt\kern -0.33ex}\kern -0.03em\else +\kern 0.09em\vbox{\hrule\@width 0.6em\@height 0.44pt\kern -0.63pt\kern -0.42ex}\kern 0.09em\fi\fi\fi\fi\fi\relax} + + + + +% set the default \baselinestretch +\def\baselinestretch{1} +\ifCLASSOPTIONdraftcls + \def\baselinestretch{1.5}% default baselinestretch for draft modes +\fi + + +% process CLASSINPUT baselinestretch +\ifx\CLASSINPUTbaselinestretch\@IEEEundefined +\else + \edef\baselinestretch{\CLASSINPUTbaselinestretch} % user CLASSINPUT override + \typeout{** ATTENTION: Overriding \string\baselinestretch\space to + \baselinestretch\space via \string\CLASSINPUT.} +\fi + +\normalsize % make \baselinestretch take affect + + + + +% store the normalsize baselineskip +\newdimen\CLASSINFOnormalsizebaselineskip +\CLASSINFOnormalsizebaselineskip=\baselineskip\relax +% and the normalsize unity (baselinestretch=1) baselineskip +% we could save a register by giving the user access to +% \@IEEEnormalsizeunitybaselineskip. However, let's protect +% its read only internal status +\newdimen\CLASSINFOnormalsizeunitybaselineskip +\CLASSINFOnormalsizeunitybaselineskip=\@IEEEnormalsizeunitybaselineskip\relax +% store the nominal value of jot +\newdimen\IEEEnormaljot +\IEEEnormaljot=0.25\baselineskip\relax + +% set \jot +\jot=\IEEEnormaljot\relax + + + + +% V1.6, we are now going to fine tune the interword spacing +% The default interword glue for Times under TeX appears to use a +% nominal interword spacing of 25% (relative to the font size, i.e., 1em) +% a maximum of 40% and a minimum of 19%. +% For example, 10pt text uses an interword glue of: +% +% 2.5pt plus 1.49998pt minus 0.59998pt +% +% However, IEEE allows for a more generous range which reduces the need +% for hyphenation, especially for two column text. Furthermore, IEEE +% tends to use a little bit more nominal space between the words. +% IEEE's interword spacing percentages appear to be: +% 35% nominal +% 23% minimum +% 50% maximum +% (They may even be using a tad more for the largest fonts such as 24pt.) +% +% for bold text, IEEE increases the spacing a little more: +% 37.5% nominal +% 23% minimum +% 55% maximum + +% here are the interword spacing ratios we'll use +% for medium (normal weight) +\def\@IEEEinterspaceratioM{0.35} +\def\@IEEEinterspaceMINratioM{0.23} +\def\@IEEEinterspaceMAXratioM{0.50} + +% for bold +\def\@IEEEinterspaceratioB{0.375} +\def\@IEEEinterspaceMINratioB{0.23} +\def\@IEEEinterspaceMAXratioB{0.55} + + +% command to revise the interword spacing for the current font under TeX: +% \fontdimen2 = nominal interword space +% \fontdimen3 = interword stretch +% \fontdimen4 = interword shrink +% since all changes to the \fontdimen are global, we can enclose these commands +% in braces to confine any font attribute or length changes +\def\@@@IEEEsetfontdimens#1#2#3{{% +\setlength{\@IEEEtrantmpdimenB}{\f@size pt}% grab the font size in pt, could use 1em instead. +\setlength{\@IEEEtrantmpdimenA}{#1\@IEEEtrantmpdimenB}% +\fontdimen2\font=\@IEEEtrantmpdimenA\relax +\addtolength{\@IEEEtrantmpdimenA}{-#2\@IEEEtrantmpdimenB}% +\fontdimen3\font=-\@IEEEtrantmpdimenA\relax +\setlength{\@IEEEtrantmpdimenA}{#1\@IEEEtrantmpdimenB}% +\addtolength{\@IEEEtrantmpdimenA}{-#3\@IEEEtrantmpdimenB}% +\fontdimen4\font=\@IEEEtrantmpdimenA\relax}} + +% revise the interword spacing for each font weight +\def\@@IEEEsetfontdimens{{% +\mdseries +\@@@IEEEsetfontdimens{\@IEEEinterspaceratioM}{\@IEEEinterspaceMAXratioM}{\@IEEEinterspaceMINratioM}% +\bfseries +\@@@IEEEsetfontdimens{\@IEEEinterspaceratioB}{\@IEEEinterspaceMAXratioB}{\@IEEEinterspaceMINratioB}% +}} + +% revise the interword spacing for each font shape +% \slshape is not often used for IEEE work and is not altered here. The \scshape caps are +% already a tad too large in the free LaTeX fonts (as compared to what IEEE uses) so we +% won't alter these either. +\def\@IEEEsetfontdimens{{% +\normalfont +\@@IEEEsetfontdimens +\normalfont\itshape +\@@IEEEsetfontdimens +}} + +% command to revise the interword spacing for each font size (and shape +% and weight). Only the \rmfamily is done here as \ttfamily uses a +% fixed spacing and \sffamily is not used as the main text of IEEE papers. +\def\@IEEEtunefonts{{\selectfont\rmfamily +\tiny\@IEEEsetfontdimens +\scriptsize\@IEEEsetfontdimens +\footnotesize\@IEEEsetfontdimens +\small\@IEEEsetfontdimens +\normalsize\@IEEEsetfontdimens +\sublargesize\@IEEEsetfontdimens +\large\@IEEEsetfontdimens +\LARGE\@IEEEsetfontdimens +\huge\@IEEEsetfontdimens +\Huge\@IEEEsetfontdimens}} + +% if the nofonttune class option is not given, revise the interword spacing +% now - in case IEEEtran makes any default length measurements, and make +% sure all the default fonts are loaded +\ifCLASSOPTIONnofonttune\else +\@IEEEtunefonts +\fi + +% and again at the start of the document in case the user loaded different fonts +\AtBeginDocument{\ifCLASSOPTIONnofonttune\else\@IEEEtunefonts\fi} + + + +% V1.6 +% LaTeX is a little to quick to use hyphenations +% So, we increase the penalty for their use and raise +% the badness level that triggers an underfull hbox +% warning. The author may still have to tweak things, +% but the appearance will be much better "right out +% of the box" than that under V1.5 and prior. +% TeX default is 50 +\hyphenpenalty=750 +% If we didn't adjust the interword spacing, 2200 might be better. +% The TeX default is 1000 +\hbadness=1350 +% IEEE does not use extra spacing after punctuation +\frenchspacing + +% V1.7 increase this a tad to discourage equation breaks +\binoppenalty=1000 % default 700 +\relpenalty=800 % default 500 + + +% margin note stuff +\marginparsep 10pt +\marginparwidth 20pt +\marginparpush 25pt + + +% if things get too close, go ahead and let them touch +\lineskip 0pt +\normallineskip 0pt +\lineskiplimit 0pt +\normallineskiplimit 0pt + +% The distance from the lower edge of the text body to the +% footline +\footskip 0.4in + +% normally zero, should be relative to font height. +% put in a little rubber to help stop some bad breaks (underfull vboxes) +\parskip 0ex plus 0.2ex minus 0.1ex +\ifCLASSOPTIONconference +\parskip 6pt plus 2pt minus 1pt +\fi + +\parindent 1.0em +\ifCLASSOPTIONconference +\parindent 14.45pt +\fi + +\topmargin -49.0pt +\headheight 12pt +\headsep 0.25in + +% use the normal font baselineskip +% so that \topskip is unaffected by changes in \baselinestretch +\topskip=\@IEEEnormalsizeunitybaselineskip +\textheight 58pc % 9.63in, 696pt +% Tweak textheight to a perfect integer number of lines/page. +% The normal baselineskip for each document point size is used +% to determine these values. +\ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=63\@IEEEnormalsizeunitybaselineskip\fi % 63 lines/page +\ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=58\@IEEEnormalsizeunitybaselineskip\fi % 58 lines/page +\ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=52\@IEEEnormalsizeunitybaselineskip\fi % 52 lines/page +\ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=50\@IEEEnormalsizeunitybaselineskip\fi % 50 lines/page + + +\columnsep 1.5pc +\textwidth 184.2mm + + +% the default side margins are equal +\if@IEEEusingAfourpaper +\oddsidemargin 14.32mm +\evensidemargin 14.32mm +\else +\oddsidemargin 0.680in +\evensidemargin 0.680in +\fi +% compensate for LaTeX's 1in offset +\addtolength{\oddsidemargin}{-1in} +\addtolength{\evensidemargin}{-1in} + + + +% adjust margins for conference mode +\ifCLASSOPTIONconference + \topmargin -0.25in + % we retain the reserved, but unused space for headers + \addtolength{\topmargin}{-\headheight} + \addtolength{\topmargin}{-\headsep} + \textheight 9.25in % The standard for conferences (668.4975pt) + % Tweak textheight to a perfect integer number of lines/page. + \ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=61\@IEEEnormalsizeunitybaselineskip\fi % 61 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=62\@IEEEnormalsizeunitybaselineskip\fi % 62 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=50\@IEEEnormalsizeunitybaselineskip\fi % 50 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=48\@IEEEnormalsizeunitybaselineskip\fi % 48 lines/page +\fi + + +% compsoc conference +\ifCLASSOPTIONcompsoc +\ifCLASSOPTIONconference + % compsoc conference use a larger value for columnsep + \columnsep 0.375in + % compsoc conferences want 1in top margin, 1.125in bottom margin + \topmargin 0in + \addtolength{\topmargin}{-6pt}% we tweak this a tad to better comply with top of line stuff + % we retain the reserved, but unused space for headers + \addtolength{\topmargin}{-\headheight} + \addtolength{\topmargin}{-\headsep} + \textheight 8.875in % (641.39625pt) + % Tweak textheight to a perfect integer number of lines/page. + \ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=58\@IEEEnormalsizeunitybaselineskip\fi % 58 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=53\@IEEEnormalsizeunitybaselineskip\fi % 53 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=48\@IEEEnormalsizeunitybaselineskip\fi % 48 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=46\@IEEEnormalsizeunitybaselineskip\fi % 46 lines/page + \textwidth 6.5in + % the default side margins are equal + \if@IEEEusingAfourpaper + \oddsidemargin 22.45mm + \evensidemargin 22.45mm + \else + \oddsidemargin 1in + \evensidemargin 1in + \fi + % compensate for LaTeX's 1in offset + \addtolength{\oddsidemargin}{-1in} + \addtolength{\evensidemargin}{-1in} +\fi\fi + + + +% draft mode settings override that of all other modes +% provides a nice 1in margin all around the paper and extra +% space between the lines for editor's comments +\ifCLASSOPTIONdraftcls + % want 1in from top of paper to text + \setlength{\topmargin}{-\headsep}% + \addtolength{\topmargin}{-\headheight}% + % we want 1in side margins regardless of paper type + \oddsidemargin 0in + \evensidemargin 0in + % set the text width + \setlength{\textwidth}{\paperwidth}% + \addtolength{\textwidth}{-2.0in}% + \setlength{\textheight}{\paperheight}% + \addtolength{\textheight}{-2.0in}% + % digitize textheight to be an integer number of lines. + % this may cause the bottom margin to be off a tad + \addtolength{\textheight}{-1\topskip}% + \divide\textheight by \baselineskip% + \multiply\textheight by \baselineskip% + \addtolength{\textheight}{\topskip}% +\fi + + + +% process CLASSINPUT inner/outer margin +% if inner margin defined, but outer margin not, set outer to inner. +\ifx\CLASSINPUTinnersidemargin\@IEEEundefined +\else + \ifx\CLASSINPUToutersidemargin\@IEEEundefined + \edef\CLASSINPUToutersidemargin{\CLASSINPUTinnersidemargin} + \fi +\fi + +\ifx\CLASSINPUToutersidemargin\@IEEEundefined +\else + % if outer margin defined, but inner margin not, set inner to outer. + \ifx\CLASSINPUTinnersidemargin\@IEEEundefined + \edef\CLASSINPUTinnersidemargin{\CLASSINPUToutersidemargin} + \fi + \setlength{\oddsidemargin}{\CLASSINPUTinnersidemargin} + \ifCLASSOPTIONtwoside + \setlength{\evensidemargin}{\CLASSINPUToutersidemargin} + \else + \setlength{\evensidemargin}{\CLASSINPUTinnersidemargin} + \fi + \addtolength{\oddsidemargin}{-1in} + \addtolength{\evensidemargin}{-1in} + \setlength{\textwidth}{\paperwidth} + \addtolength{\textwidth}{-\CLASSINPUTinnersidemargin} + \addtolength{\textwidth}{-\CLASSINPUToutersidemargin} + \typeout{** ATTENTION: Overriding inner side margin to \CLASSINPUTinnersidemargin\space and + outer side margin to \CLASSINPUToutersidemargin\space via \string\CLASSINPUT.} +\fi + + + +% process CLASSINPUT top/bottom text margin +% if toptext margin defined, but bottomtext margin not, set bottomtext to toptext margin +\ifx\CLASSINPUTtoptextmargin\@IEEEundefined +\else + \ifx\CLASSINPUTbottomtextmargin\@IEEEundefined + \edef\CLASSINPUTbottomtextmargin{\CLASSINPUTtoptextmargin} + \fi +\fi + +\ifx\CLASSINPUTbottomtextmargin\@IEEEundefined +\else + % if bottomtext margin defined, but toptext margin not, set toptext to bottomtext margin + \ifx\CLASSINPUTtoptextmargin\@IEEEundefined + \edef\CLASSINPUTtoptextmargin{\CLASSINPUTbottomtextmargin} + \fi + \setlength{\topmargin}{\CLASSINPUTtoptextmargin} + \addtolength{\topmargin}{-1in} + \addtolength{\topmargin}{-\headheight} + \addtolength{\topmargin}{-\headsep} + \setlength{\textheight}{\paperheight} + \addtolength{\textheight}{-\CLASSINPUTtoptextmargin} + \addtolength{\textheight}{-\CLASSINPUTbottomtextmargin} + % in the default format we use the normal baselineskip as topskip + % we only need 0.7 of this to clear typical top text and we need + % an extra 0.3 spacing at the bottom for descenders. This will + % correct for both. + \addtolength{\topmargin}{-0.3\@IEEEnormalsizeunitybaselineskip} + \typeout{** ATTENTION: Overriding top text margin to \CLASSINPUTtoptextmargin\space and + bottom text margin to \CLASSINPUTbottomtextmargin\space via \string\CLASSINPUT.} +\fi + + + + + + + +% LIST SPACING CONTROLS + +% Controls the amount of EXTRA spacing +% above and below \trivlist +% Both \list and IED lists override this. +% However, \trivlist will use this as will most +% things built from \trivlist like the \center +% environment. +\topsep 0.5\baselineskip + +% Controls the additional spacing around lists preceded +% or followed by blank lines. IEEE does not increase +% spacing before or after paragraphs so it is set to zero. +% \z@ is the same as zero, but faster. +\partopsep \z@ + +% Controls the spacing between paragraphs in lists. +% IEEE does not increase spacing before or after paragraphs +% so this is also zero. +% With IEEEtran.cls, global changes to +% this value DO affect lists (but not IED lists). +\parsep \z@ + +% Controls the extra spacing between list items. +% IEEE does not put extra spacing between items. +% With IEEEtran.cls, global changes to this value DO affect +% lists (but not IED lists). +\itemsep \z@ + +% \itemindent is the amount to indent the FIRST line of a list +% item. It is auto set to zero within the \list environment. To alter +% it, you have to do so when you call the \list. +% However, IEEE uses this for the theorem environment +% There is an alternative value for this near \leftmargini below +\itemindent -1em + +% \leftmargin, the spacing from the left margin of the main text to +% the left of the main body of a list item is set by \list. +% Hence this statement does nothing for lists. +% But, quote and verse do use it for indention. +\leftmargin 2em + +% we retain this stuff from the older IEEEtran.cls so that \list +% will work the same way as before. However, itemize, enumerate and +% description (IED) could care less about what these are as they +% all are overridden. +\leftmargini 2em +%\itemindent 2em % Alternative values: sometimes used. +%\leftmargini 0em +\leftmarginii 1em +\leftmarginiii 1.5em +\leftmarginiv 1.5em +\leftmarginv 1.0em +\leftmarginvi 1.0em +\labelsep 0.5em +\labelwidth \z@ + + +% The old IEEEtran.cls behavior of \list is retained. +% However, the new V1.3 IED list environments override all the +% @list stuff (\@listX is called within \list for the +% appropriate level just before the user's list_decl is called). +% \topsep is now 2pt as IEEE puts a little extra space around +% lists - used by those non-IED macros that depend on \list. +% Note that \parsep and \itemsep are not redefined as in +% the sizexx.clo \@listX (which article.cls uses) so global changes +% of these values DO affect \list +% +\def\@listi{\leftmargin\leftmargini \topsep 2pt plus 1pt minus 1pt} +\let\@listI\@listi +\def\@listii{\leftmargin\leftmarginii\labelwidth\leftmarginii% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listiii{\leftmargin\leftmarginiii\labelwidth\leftmarginiii% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listiv{\leftmargin\leftmarginiv\labelwidth\leftmarginiv% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listv{\leftmargin\leftmarginv\labelwidth\leftmarginv% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listvi{\leftmargin\leftmarginvi\labelwidth\leftmarginvi% + \advance\labelwidth-\labelsep \topsep 2pt} + + +% IEEE uses 5) not 5. +\def\labelenumi{\theenumi)} \def\theenumi{\arabic{enumi}} + +% IEEE uses a) not (a) +\def\labelenumii{\theenumii)} \def\theenumii{\alph{enumii}} + +% IEEE uses iii) not iii. +\def\labelenumiii{\theenumiii)} \def\theenumiii{\roman{enumiii}} + +% IEEE uses A) not A. +\def\labelenumiv{\theenumiv)} \def\theenumiv{\Alph{enumiv}} + +% exactly the same as in article.cls +\def\p@enumii{\theenumi} +\def\p@enumiii{\theenumi(\theenumii)} +\def\p@enumiv{\p@enumiii\theenumiii} + +% itemized list label styles +\def\labelitemi{$\bullet$} +\def\labelitemii{$\circ$} +\def\labelitemiii{\vrule height 0.8ex depth -0.2ex width 0.6ex} +\def\labelitemiv{$\ast$} + + + +% **** V1.3 ENHANCEMENTS **** +% Itemize, Enumerate and Description (IED) List Controls +% *************************** +% +% +% IEEE seems to use at least two different values by +% which ITEMIZED list labels are indented to the right +% For The Journal of Lightwave Technology (JLT) and The Journal +% on Selected Areas in Communications (JSAC), they tend to use +% an indention equal to \parindent. For Transactions on Communications +% they tend to indent ITEMIZED lists a little more--- 1.3\parindent. +% We'll provide both values here for you so that you can choose +% which one you like in your document using a command such as: +% setlength{\IEEEilabelindent}{\IEEEilabelindentB} +\newdimen\IEEEilabelindentA +\IEEEilabelindentA \parindent + +\newdimen\IEEEilabelindentB +\IEEEilabelindentB 1.3\parindent +% However, we'll default to using \parindent +% which makes more sense to me +\newdimen\IEEEilabelindent +\IEEEilabelindent \IEEEilabelindentA + + +% This controls the default amount the enumerated list labels +% are indented to the right. +% Normally, this is the same as the paragraph indention +\newdimen\IEEEelabelindent +\IEEEelabelindent \parindent + +% This controls the default amount the description list labels +% are indented to the right. +% Normally, this is the same as the paragraph indention +\newdimen\IEEEdlabelindent +\IEEEdlabelindent \parindent + +% This is the value actually used within the IED lists. +% The IED environments automatically set its value to +% one of the three values above, so global changes do +% not have any effect +\newdimen\IEEElabelindent +\IEEElabelindent \parindent + +% The actual amount labels will be indented is +% \IEEElabelindent multiplied by the factor below +% corresponding to the level of nesting depth +% This provides a means by which the user can +% alter the effective \IEEElabelindent for deeper +% levels +% There may not be such a thing as correct "standard IEEE" +% values. What IEEE actually does may depend on the specific +% circumstances. +% The first list level almost always has full indention. +% The second levels I've seen have only 75% of the normal indentation +% Three level or greater nestings are very rare. I am guessing +% that they don't use any indentation. +\def\IEEElabelindentfactori{1.0} % almost always one +\def\IEEElabelindentfactorii{0.75} % 0.0 or 1.0 may be used in some cases +\def\IEEElabelindentfactoriii{0.0} % 0.75? 0.5? 0.0? +\def\IEEElabelindentfactoriv{0.0} +\def\IEEElabelindentfactorv{0.0} +\def\IEEElabelindentfactorvi{0.0} + +% value actually used within IED lists, it is auto +% set to one of the 6 values above +% global changes here have no effect +\def\IEEElabelindentfactor{1.0} + +% This controls the default spacing between the end of the IED +% list labels and the list text, when normal text is used for +% the labels. +\newdimen\IEEEiednormlabelsep +\IEEEiednormlabelsep \parindent + +% This controls the default spacing between the end of the IED +% list labels and the list text, when math symbols are used for +% the labels (nomenclature lists). IEEE usually increases the +% spacing in these cases +\newdimen\IEEEiedmathlabelsep +\IEEEiedmathlabelsep 1.2em + +% This controls the extra vertical separation put above and +% below each IED list. IEEE usually puts a little extra spacing +% around each list. However, this spacing is barely noticeable. +\newskip\IEEEiedtopsep +\IEEEiedtopsep 2pt plus 1pt minus 1pt + + +% This command is executed within each IED list environment +% at the beginning of the list. You can use this to set the +% parameters for some/all your IED list(s) without disturbing +% global parameters that affect things other than lists. +% i.e., renewcommand{\IEEEiedlistdecl}{\setlength{\labelsep}{5em}} +% will alter the \labelsep for the next list(s) until +% \IEEEiedlistdecl is redefined. +\def\IEEEiedlistdecl{\relax} + +% This command provides an easy way to set \leftmargin based +% on the \labelwidth, \labelsep and the argument \IEEElabelindent +% Usage: \IEEEcalcleftmargin{width-to-indent-the-label} +% output is in the \leftmargin variable, i.e., effectively: +% \leftmargin = argument + \labelwidth + \labelsep +% Note controlled spacing here, shield end of lines with % +\def\IEEEcalcleftmargin#1{\setlength{\leftmargin}{#1}% +\addtolength{\leftmargin}{\labelwidth}% +\addtolength{\leftmargin}{\labelsep}} + +% This command provides an easy way to set \labelwidth to the +% width of the given text. It is the same as +% \settowidth{\labelwidth}{label-text} +% and useful as a shorter alternative. +% Typically used to set \labelwidth to be the width +% of the longest label in the list +\def\IEEEsetlabelwidth#1{\settowidth{\labelwidth}{#1}} + +% When this command is executed, IED lists will use the +% IEEEiedmathlabelsep label separation rather than the normal +% spacing. To have an effect, this command must be executed via +% the \IEEEiedlistdecl or within the option of the IED list +% environments. +\def\IEEEusemathlabelsep{\setlength{\labelsep}{\IEEEiedmathlabelsep}} + +% A flag which controls whether the IED lists automatically +% calculate \leftmargin from \IEEElabelindent, \labelwidth and \labelsep +% Useful if you want to specify your own \leftmargin +% This flag must be set (\IEEEnocalcleftmargintrue or \IEEEnocalcleftmarginfalse) +% via the \IEEEiedlistdecl or within the option of the IED list +% environments to have an effect. +\newif\ifIEEEnocalcleftmargin +\IEEEnocalcleftmarginfalse + +% A flag which controls whether \IEEElabelindent is multiplied by +% the \IEEElabelindentfactor for each list level. +% This flag must be set via the \IEEEiedlistdecl or within the option +% of the IED list environments to have an effect. +\newif\ifIEEEnolabelindentfactor +\IEEEnolabelindentfactorfalse + + +% internal variable to indicate type of IED label +% justification +% 0 - left; 1 - center; 2 - right +\def\@IEEEiedjustify{0} + + +% commands to allow the user to control IED +% label justifications. Use these commands within +% the IED environment option or in the \IEEEiedlistdecl +% Note that changing the normal list justifications +% is nonstandard and IEEE may not like it if you do so! +% I include these commands as they may be helpful to +% those who are using these enhanced list controls for +% other non-IEEE related LaTeX work. +% itemize and enumerate automatically default to right +% justification, description defaults to left. +\def\IEEEiedlabeljustifyl{\def\@IEEEiedjustify{0}}%left +\def\IEEEiedlabeljustifyc{\def\@IEEEiedjustify{1}}%center +\def\IEEEiedlabeljustifyr{\def\@IEEEiedjustify{2}}%right + + + + +% commands to save to and restore from the list parameter copies +% this allows us to set all the list parameters within +% the list_decl and prevent \list (and its \@list) +% from overriding any of our parameters +% V1.6 use \edefs instead of dimen's to conserve dimen registers +% Note controlled spacing here, shield end of lines with % +\def\@IEEEsavelistparams{\edef\@IEEEiedtopsep{\the\topsep}% +\edef\@IEEEiedlabelwidth{\the\labelwidth}% +\edef\@IEEEiedlabelsep{\the\labelsep}% +\edef\@IEEEiedleftmargin{\the\leftmargin}% +\edef\@IEEEiedpartopsep{\the\partopsep}% +\edef\@IEEEiedparsep{\the\parsep}% +\edef\@IEEEieditemsep{\the\itemsep}% +\edef\@IEEEiedrightmargin{\the\rightmargin}% +\edef\@IEEEiedlistparindent{\the\listparindent}% +\edef\@IEEEieditemindent{\the\itemindent}} + +% Note controlled spacing here +\def\@IEEErestorelistparams{\topsep\@IEEEiedtopsep\relax% +\labelwidth\@IEEEiedlabelwidth\relax% +\labelsep\@IEEEiedlabelsep\relax% +\leftmargin\@IEEEiedleftmargin\relax% +\partopsep\@IEEEiedpartopsep\relax% +\parsep\@IEEEiedparsep\relax% +\itemsep\@IEEEieditemsep\relax% +\rightmargin\@IEEEiedrightmargin\relax% +\listparindent\@IEEEiedlistparindent\relax% +\itemindent\@IEEEieditemindent\relax} + + +% v1.6b provide original LaTeX IED list environments +% note that latex.ltx defines \itemize and \enumerate, but not \description +% which must be created by the base classes +% save original LaTeX itemize and enumerate +\let\LaTeXitemize\itemize +\let\endLaTeXitemize\enditemize +\let\LaTeXenumerate\enumerate +\let\endLaTeXenumerate\endenumerate + +% provide original LaTeX description environment from article.cls +\newenvironment{LaTeXdescription} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand*\descriptionlabel[1]{\hspace\labelsep + \normalfont\bfseries #1} + + +% override LaTeX's default IED lists +\def\itemize{\@IEEEitemize} +\def\enditemize{\@endIEEEitemize} +\def\enumerate{\@IEEEenumerate} +\def\endenumerate{\@endIEEEenumerate} +\def\description{\@IEEEdescription} +\def\enddescription{\@endIEEEdescription} + +% provide the user with aliases - may help those using packages that +% override itemize, enumerate, or description +\def\IEEEitemize{\@IEEEitemize} +\def\endIEEEitemize{\@endIEEEitemize} +\def\IEEEenumerate{\@IEEEenumerate} +\def\endIEEEenumerate{\@endIEEEenumerate} +\def\IEEEdescription{\@IEEEdescription} +\def\endIEEEdescription{\@endIEEEdescription} + + +% V1.6 we want to keep the IEEEtran IED list definitions as our own internal +% commands so they are protected against redefinition +\def\@IEEEitemize{\@ifnextchar[{\@@IEEEitemize}{\@@IEEEitemize[\relax]}} +\def\@IEEEenumerate{\@ifnextchar[{\@@IEEEenumerate}{\@@IEEEenumerate[\relax]}} +\def\@IEEEdescription{\@ifnextchar[{\@@IEEEdescription}{\@@IEEEdescription[\relax]}} +\def\@endIEEEitemize{\endlist} +\def\@endIEEEenumerate{\endlist} +\def\@endIEEEdescription{\endlist} + + +% DO NOT ALLOW BLANK LINES TO BE IN THESE IED ENVIRONMENTS +% AS THIS WILL FORCE NEW PARAGRAPHS AFTER THE IED LISTS +% IEEEtran itemized list MDS 1/2001 +% Note controlled spacing here, shield end of lines with % +\def\@@IEEEitemize[#1]{% + \ifnum\@itemdepth>3\relax\@toodeep\else% + \ifnum\@listdepth>5\relax\@toodeep\else% + \advance\@itemdepth\@ne% + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + % get the labelindentfactor for this level + \advance\@listdepth\@ne% we need to know what the level WILL be + \edef\IEEElabelindentfactor{\csname IEEElabelindentfactor\romannumeral\the\@listdepth\endcsname}% + \advance\@listdepth-\@ne% undo our increment + \def\@IEEEiedjustify{2}% right justified labels are default + % set other defaults + \IEEEnocalcleftmarginfalse% + \IEEEnolabelindentfactorfalse% + \topsep\IEEEiedtopsep% + \IEEElabelindent\IEEEilabelindent% + \labelsep\IEEEiednormlabelsep% + \partopsep 0ex% + \parsep 0ex% + \itemsep \parskip% + \rightmargin 0em% + \listparindent 0em% + \itemindent 0em% + % calculate the label width + % the user can override this later if + % they specified a \labelwidth + \settowidth{\labelwidth}{\csname labelitem\romannumeral\the\@itemdepth\endcsname}% + \@IEEEsavelistparams% save our list parameters + \list{\csname\@itemitem\endcsname}{% + \@IEEErestorelistparams% override any list{} changes + % to our globals + \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel + \IEEEiedlistdecl% let user alter parameters + #1\relax% + % If the user has requested not to use the + % labelindent factor, don't revise \labelindent + \ifIEEEnolabelindentfactor\relax% + \else\IEEElabelindent=\IEEElabelindentfactor\labelindent% + \fi% + % Unless the user has requested otherwise, + % calculate our left margin based + % on \IEEElabelindent, \labelwidth and + % \labelsep + \ifIEEEnocalcleftmargin\relax% + \else\IEEEcalcleftmargin{\IEEElabelindent}% + \fi}\fi\fi}% + + +% DO NOT ALLOW BLANK LINES TO BE IN THESE IED ENVIRONMENTS +% AS THIS WILL FORCE NEW PARAGRAPHS AFTER THE IED LISTS +% IEEEtran enumerate list MDS 1/2001 +% Note controlled spacing here, shield end of lines with % +\def\@@IEEEenumerate[#1]{% + \ifnum\@enumdepth>3\relax\@toodeep\else% + \ifnum\@listdepth>5\relax\@toodeep\else% + \advance\@enumdepth\@ne% + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% + % get the labelindentfactor for this level + \advance\@listdepth\@ne% we need to know what the level WILL be + \edef\IEEElabelindentfactor{\csname IEEElabelindentfactor\romannumeral\the\@listdepth\endcsname}% + \advance\@listdepth-\@ne% undo our increment + \def\@IEEEiedjustify{2}% right justified labels are default + % set other defaults + \IEEEnocalcleftmarginfalse% + \IEEEnolabelindentfactorfalse% + \topsep\IEEEiedtopsep% + \IEEElabelindent\IEEEelabelindent% + \labelsep\IEEEiednormlabelsep% + \partopsep 0ex% + \parsep 0ex% + \itemsep 0ex% + \rightmargin 0em% + \listparindent 0em% + \itemindent 0em% + % calculate the label width + % We'll set it to the width suitable for all labels using + % normalfont 1) to 9) + % The user can override this later + \settowidth{\labelwidth}{9)}% + \@IEEEsavelistparams% save our list parameters + \list{\csname label\@enumctr\endcsname}{\usecounter{\@enumctr}% + \@IEEErestorelistparams% override any list{} changes + % to our globals + \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel + \IEEEiedlistdecl% let user alter parameters + #1\relax% + % If the user has requested not to use the + % IEEElabelindent factor, don't revise \IEEElabelindent + \ifIEEEnolabelindentfactor\relax% + \else\IEEElabelindent=\IEEElabelindentfactor\IEEElabelindent% + \fi% + % Unless the user has requested otherwise, + % calculate our left margin based + % on \IEEElabelindent, \labelwidth and + % \labelsep + \ifIEEEnocalcleftmargin\relax% + \else\IEEEcalcleftmargin{\IEEElabelindent}% + \fi}\fi\fi}% + + +% DO NOT ALLOW BLANK LINES TO BE IN THESE IED ENVIRONMENTS +% AS THIS WILL FORCE NEW PARAGRAPHS AFTER THE IED LISTS +% IEEEtran description list MDS 1/2001 +% Note controlled spacing here, shield end of lines with % +\def\@@IEEEdescription[#1]{% + \ifnum\@listdepth>5\relax\@toodeep\else% + % get the labelindentfactor for this level + \advance\@listdepth\@ne% we need to know what the level WILL be + \edef\IEEElabelindentfactor{\csname IEEElabelindentfactor\romannumeral\the\@listdepth\endcsname}% + \advance\@listdepth-\@ne% undo our increment + \def\@IEEEiedjustify{0}% left justified labels are default + % set other defaults + \IEEEnocalcleftmarginfalse% + \IEEEnolabelindentfactorfalse% + \topsep\IEEEiedtopsep% + \IEEElabelindent\IEEEdlabelindent% + % assume normal labelsep + \labelsep\IEEEiednormlabelsep% + \partopsep 0ex% + \parsep 0ex% + \itemsep 0ex% + \rightmargin 0em% + \listparindent 0em% + \itemindent 0em% + % Bogus label width in case the user forgets + % to set it. + % TIP: If you want to see what a variable's width is you + % can use the TeX command \showthe\width-variable to + % display it on the screen during compilation + % (This might be helpful to know when you need to find out + % which label is the widest) + \settowidth{\labelwidth}{Hello}% + \@IEEEsavelistparams% save our list parameters + \list{}{\@IEEErestorelistparams% override any list{} changes + % to our globals + \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel + \IEEEiedlistdecl% let user alter parameters + #1\relax% + % If the user has requested not to use the + % labelindent factor, don't revise \IEEElabelindent + \ifIEEEnolabelindentfactor\relax% + \else\IEEElabelindent=\IEEElabelindentfactor\IEEElabelindent% + \fi% + % Unless the user has requested otherwise, + % calculate our left margin based + % on \IEEElabelindent, \labelwidth and + % \labelsep + \ifIEEEnocalcleftmargin\relax% + \else\IEEEcalcleftmargin{\IEEElabelindent}\relax% + \fi}\fi} + +% v1.6b we use one makelabel that does justification as needed. +\def\@IEEEiedmakelabel#1{\relax\if\@IEEEiedjustify 0\relax +\makebox[\labelwidth][l]{\normalfont #1}\else +\if\@IEEEiedjustify 1\relax +\makebox[\labelwidth][c]{\normalfont #1}\else +\makebox[\labelwidth][r]{\normalfont #1}\fi\fi} + + +% VERSE and QUOTE +% V1.7 define environments with newenvironment +\newenvironment{verse}{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em \listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item\relax} + {\endlist} +\newenvironment{quotation}{\list{}{\listparindent 1.5em \itemindent\listparindent + \rightmargin\leftmargin \parsep 0pt plus 1pt}\item\relax} + {\endlist} +\newenvironment{quote}{\list{}{\rightmargin\leftmargin}\item\relax} + {\endlist} + + +% \titlepage +% provided only for backward compatibility. \maketitle is the correct +% way to create the title page. +\newif\if@restonecol +\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty}\c@page\z@} +\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} + +% standard values from article.cls +\arraycolsep 5pt +\arrayrulewidth .4pt +\doublerulesep 2pt + +\tabcolsep 6pt +\tabbingsep 0.5em + + +%% FOOTNOTES +% +%\skip\footins 10pt plus 4pt minus 2pt +% V1.6 respond to changes in font size +% space added above the footnotes (if present) +\skip\footins 0.9\baselineskip plus 0.4\baselineskip minus 0.2\baselineskip + +% V1.6, we need to make \footnotesep responsive to changes +% in \baselineskip or strange spacings will result when in +% draft mode. Here is a little LaTeX secret - \footnotesep +% determines the height of an invisible strut that is placed +% *above* the baseline of footnotes after the first. Since +% LaTeX considers the space for characters to be 0.7/baselineskip +% above the baseline and 0.3/baselineskip below it, we need to +% use 0.7/baselineskip as a \footnotesep to maintain equal spacing +% between all the lines of the footnotes. IEEE often uses a tad +% more, so use 0.8\baselineskip. This slightly larger value also helps +% the text to clear the footnote marks. Note that \thanks in IEEEtran +% uses its own value of \footnotesep which is set in \maketitle. +{\footnotesize +\global\footnotesep 0.8\baselineskip} + +\def\unnumberedfootnote{\gdef\@thefnmark{\quad}\@footnotetext} + +\skip\@mpfootins 0.3\baselineskip +\fboxsep = 3pt +\fboxrule = .4pt +% V1.6 use 1em, then use LaTeX2e's \@makefnmark +% Note that IEEE normally *left* aligns the footnote marks, so we don't need +% box resizing tricks here. +%\long\def\@makefnmark{\scriptsize\normalfont\@thefnmark} +\long\def\@makefntext#1{\parindent 1em\indent\hbox{\@makefnmark}#1}% V1.6 use 1em +\long\def\@maketablefntext#1{\raggedleft\leavevmode\hbox{\@makefnmark}#1} +% V1.7 compsoc does not use superscipts for footnote marks +\ifCLASSOPTIONcompsoc +\def\@IEEEcompsocmakefnmark{\hbox{\normalfont\@thefnmark.\ }} +\long\def\@makefntext#1{\parindent 1em\indent\hbox{\@IEEEcompsocmakefnmark}#1} +\fi + +% IEEE does not use footnote rules. Or do they? +\def\footnoterule{\vskip-2pt \hrule height 0.6pt depth \z@ \vskip1.6pt\relax} +\toks@\expandafter{\@setminipage\let\footnoterule\relax\footnotesep\z@} +\edef\@setminipage{\the\toks@} + +% V1.7 for compsoc, IEEE uses a footnote rule only for \thanks. We devise a "one-shot" +% system to implement this. +\newif\if@IEEEenableoneshotfootnoterule +\@IEEEenableoneshotfootnoterulefalse +\ifCLASSOPTIONcompsoc +\def\footnoterule{\relax\if@IEEEenableoneshotfootnoterule +\kern-5pt +\hbox to \columnwidth{\hfill\vrule width 0.5\columnwidth height 0.4pt\hfill} +\kern4.6pt +\global\@IEEEenableoneshotfootnoterulefalse +\else +\relax +\fi} +\fi + +% V1.6 do not allow LaTeX to break a footnote across multiple pages +\interfootnotelinepenalty=10000 + +% V1.6 discourage breaks within equations +% Note that amsmath normally sets this to 10000, +% but LaTeX2e normally uses 100. +\interdisplaylinepenalty=2500 + +% default allows section depth up to /paragraph +\setcounter{secnumdepth}{4} + +% technotes do not allow /paragraph +\ifCLASSOPTIONtechnote + \setcounter{secnumdepth}{3} +\fi +% neither do compsoc conferences +\@IEEEcompsocconfonly{\setcounter{secnumdepth}{3}} + + +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] + +% used only by IEEEtran's IEEEeqnarray as other packages may +% have their own, different, implementations +\newcounter{IEEEsubequation}[equation] + +% as shown when called by user from \ref, \label and in table of contents +\def\theequation{\arabic{equation}} % 1 +\def\theIEEEsubequation{\theequation\alph{IEEEsubequation}} % 1a (used only by IEEEtran's IEEEeqnarray) +\ifCLASSOPTIONcompsoc +% compsoc is all arabic +\def\thesection{\arabic{section}} +\def\thesubsection{\thesection.\arabic{subsection}} +\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} +\def\theparagraph{\thesubsubsection.\arabic{paragraph}} +\else +\def\thesection{\Roman{section}} % I +% V1.7, \mbox prevents breaks around - +\def\thesubsection{\mbox{\thesection-\Alph{subsection}}} % I-A +% V1.7 use I-A1 format used by IEEE rather than I-A.1 +\def\thesubsubsection{\thesubsection\arabic{subsubsection}} % I-A1 +\def\theparagraph{\thesubsubsection\alph{paragraph}} % I-A1a +\fi + +% From Heiko Oberdiek. Because of the \mbox in \thesubsection, we need to +% tell hyperref to disable the \mbox command when making PDF bookmarks. +% This done already with hyperref.sty version 6.74o and later, but +% it will not hurt to do it here again for users of older versions. +\@ifundefined{pdfstringdefPreHook}{\let\pdfstringdefPreHook\@empty}{}% +\g@addto@macro\pdfstringdefPreHook{\let\mbox\relax} + + +% Main text forms (how shown in main text headings) +% V1.6, using \thesection in \thesectiondis allows changes +% in the former to automatically appear in the latter +\ifCLASSOPTIONcompsoc + \ifCLASSOPTIONconference% compsoc conference + \def\thesectiondis{\thesection.} + \def\thesubsectiondis{\thesectiondis\arabic{subsection}.} + \def\thesubsubsectiondis{\thesubsectiondis\arabic{subsubsection}.} + \def\theparagraphdis{\thesubsubsectiondis\arabic{paragraph}.} + \else% compsoc not conferencs + \def\thesectiondis{\thesection} + \def\thesubsectiondis{\thesectiondis.\arabic{subsection}} + \def\thesubsubsectiondis{\thesubsectiondis.\arabic{subsubsection}} + \def\theparagraphdis{\thesubsubsectiondis.\arabic{paragraph}} + \fi +\else% not compsoc + \def\thesectiondis{\thesection.} % I. + \def\thesubsectiondis{\Alph{subsection}.} % B. + \def\thesubsubsectiondis{\arabic{subsubsection})} % 3) + \def\theparagraphdis{\alph{paragraph})} % d) +\fi + +% just like LaTeX2e's \@eqnnum +\def\theequationdis{{\normalfont \normalcolor (\theequation)}}% (1) +% IEEEsubequation used only by IEEEtran's IEEEeqnarray +\def\theIEEEsubequationdis{{\normalfont \normalcolor (\theIEEEsubequation)}}% (1a) +% redirect LaTeX2e's equation number display and all that depend on +% it, through IEEEtran's \theequationdis +\def\@eqnnum{\theequationdis} + + + +% V1.7 provide string macros as article.cls does +\def\contentsname{Contents} +\def\listfigurename{List of Figures} +\def\listtablename{List of Tables} +\def\refname{References} +\def\indexname{Index} +\def\figurename{Fig.} +\def\tablename{TABLE} +\@IEEEcompsocconfonly{\def\figurename{Figure}\def\tablename{Table}} +\def\partname{Part} +\def\appendixname{Appendix} +\def\abstractname{Abstract} +% IEEE specific names +\def\IEEEkeywordsname{Keywords} +\def\IEEEproofname{Proof} + + +% LIST OF FIGURES AND TABLES AND TABLE OF CONTENTS +% +\def\@pnumwidth{1.55em} +\def\@tocrmarg{2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{3} + +% adjusted some spacings here so that section numbers will not easily +% collide with the section titles. +% VIII; VIII-A; and VIII-A.1 are usually the worst offenders. +% MDS 1/2001 +\def\tableofcontents{\section*{\contentsname}\@starttoc{toc}} +\def\l@section#1#2{\addpenalty{\@secpenalty}\addvspace{1.0em plus 1pt}% + \@tempdima 2.75em \begingroup \parindent \z@ \rightskip \@pnumwidth% + \parfillskip-\@pnumwidth {\bfseries\leavevmode #1}\hfil\hbox to\@pnumwidth{\hss #2}\par% + \endgroup} +% argument format #1:level, #2:labelindent,#3:labelsep +\def\l@subsection{\@dottedtocline{2}{2.75em}{3.75em}} +\def\l@subsubsection{\@dottedtocline{3}{6.5em}{4.5em}} +% must provide \l@ defs for ALL sublevels EVEN if tocdepth +% is such as they will not appear in the table of contents +% these defs are how TOC knows what level these things are! +\def\l@paragraph{\@dottedtocline{4}{6.5em}{5.5em}} +\def\l@subparagraph{\@dottedtocline{5}{6.5em}{6.5em}} +\def\listoffigures{\section*{\listfigurename}\@starttoc{lof}} +\def\l@figure{\@dottedtocline{1}{0em}{2.75em}} +\def\listoftables{\section*{\listtablename}\@starttoc{lot}} +\let\l@table\l@figure + + +%% Definitions for floats +%% +%% Normal Floats +\floatsep 1\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip +\textfloatsep 1.7\baselineskip plus 0.2\baselineskip minus 0.4\baselineskip +\@fptop 0pt plus 1fil +\@fpsep 0.75\baselineskip plus 2fil +\@fpbot 0pt plus 1fil +\def\topfraction{0.9} +\def\bottomfraction{0.4} +\def\floatpagefraction{0.8} +% V1.7, let top floats approach 90% of page +\def\textfraction{0.1} + +%% Double Column Floats +\dblfloatsep 1\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip + +\dbltextfloatsep 1.7\baselineskip plus 0.2\baselineskip minus 0.4\baselineskip +% Note that it would be nice if the rubber here actually worked in LaTeX2e. +% There is a long standing limitation in LaTeX, first discovered (to the best +% of my knowledge) by Alan Jeffrey in 1992. LaTeX ignores the stretchable +% portion of \dbltextfloatsep, and as a result, double column figures can and +% do result in an non-integer number of lines in the main text columns with +% underfull vbox errors as a consequence. A post to comp.text.tex +% by Donald Arseneau confirms that this had not yet been fixed in 1998. +% IEEEtran V1.6 will fix this problem for you in the titles, but it doesn't +% protect you from other double floats. Happy vspace'ing. + +\@dblfptop 0pt plus 1fil +\@dblfpsep 0.75\baselineskip plus 2fil +\@dblfpbot 0pt plus 1fil +\def\dbltopfraction{0.8} +\def\dblfloatpagefraction{0.8} +\setcounter{dbltopnumber}{4} + +\intextsep 1\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip +\setcounter{topnumber}{2} +\setcounter{bottomnumber}{2} +\setcounter{totalnumber}{4} + + + +% article class provides these, we should too. +\newlength\abovecaptionskip +\newlength\belowcaptionskip +% but only \abovecaptionskip is used above figure captions and *below* table +% captions +\setlength\abovecaptionskip{0.65\baselineskip} +\setlength\belowcaptionskip{0.75\baselineskip} +% V1.6 create hooks in case the caption spacing ever needs to be +% overridden by a user +\def\@IEEEfigurecaptionsepspace{\vskip\abovecaptionskip\relax}% +\def\@IEEEtablecaptionsepspace{\vskip\belowcaptionskip\relax}% + + +% 1.6b revise caption system so that \@makecaption uses two arguments +% as with LaTeX2e. Otherwise, there will be problems when using hyperref. +\def\@IEEEtablestring{table} + +\ifCLASSOPTIONcompsoc +% V1.7 compsoc \@makecaption +\ifCLASSOPTIONconference% compsoc conference +\long\def\@makecaption#1#2{% +% test if is a for a figure or table +\ifx\@captype\@IEEEtablestring% +% if a table, do table caption +\normalsize\begin{center}{\normalfont\sffamily\normalsize {#1.}~ #2}\end{center}% +\@IEEEtablecaptionsepspace +% if not a table, format it as a figure +\else +\@IEEEfigurecaptionsepspace +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ #2}% +\ifdim \wd\@tempboxa >\hsize% +% if caption is longer than a line, let it wrap around +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ }% +\parbox[t]{\hsize}{\normalfont\sffamily\normalsize \noindent\unhbox\@tempboxa#2}% +% if caption is shorter than a line, center +\else% +\hbox to\hsize{\normalfont\sffamily\normalsize\hfil\box\@tempboxa\hfil}% +\fi\fi} +\else% nonconference compsoc +\long\def\@makecaption#1#2{% +% test if is a for a figure or table +\ifx\@captype\@IEEEtablestring% +% if a table, do table caption +\normalsize\begin{center}{\normalfont\sffamily\normalsize #1}\\{\normalfont\sffamily\normalsize #2}\end{center}% +\@IEEEtablecaptionsepspace +% if not a table, format it as a figure +\else +\@IEEEfigurecaptionsepspace +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ #2}% +\ifdim \wd\@tempboxa >\hsize% +% if caption is longer than a line, let it wrap around +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ }% +\parbox[t]{\hsize}{\normalfont\sffamily\normalsize \noindent\unhbox\@tempboxa#2}% +% if caption is shorter than a line, left justify +\else% +\hbox to\hsize{\normalfont\sffamily\normalsize\box\@tempboxa\hfil}% +\fi\fi} +\fi + +\else% traditional noncompsoc \@makecaption +\long\def\@makecaption#1#2{% +% test if is a for a figure or table +\ifx\@captype\@IEEEtablestring% +% if a table, do table caption +\footnotesize{\centering\normalfont\footnotesize#1.\qquad\scshape #2\par}% +\@IEEEtablecaptionsepspace +% if not a table, format it as a figure +\else +\@IEEEfigurecaptionsepspace +% 3/2001 use footnotesize, not small; use two nonbreaking spaces, not one +\setbox\@tempboxa\hbox{\normalfont\footnotesize {#1.}~~ #2}% +\ifdim \wd\@tempboxa >\hsize% +% if caption is longer than a line, let it wrap around +\setbox\@tempboxa\hbox{\normalfont\footnotesize {#1.}~~ }% +\parbox[t]{\hsize}{\normalfont\footnotesize\noindent\unhbox\@tempboxa#2}% +% if caption is shorter than a line, center if conference, left justify otherwise +\else% +\ifCLASSOPTIONconference \hbox to\hsize{\normalfont\footnotesize\box\@tempboxa\hfil}% +\else \hbox to\hsize{\normalfont\footnotesize\box\@tempboxa\hfil}% +\fi\fi\fi} +\fi + + + +% V1.7 disable captions class option, do so in a way that retains operation of \label +% within \caption +\ifCLASSOPTIONcaptionsoff +\long\def\@makecaption#1#2{\vspace*{2em}\footnotesize\begin{center}{\footnotesize #1}\end{center}% +\let\@IEEEtemporiglabeldefsave\label +\let\@IEEEtemplabelargsave\relax +\def\label##1{\gdef\@IEEEtemplabelargsave{##1}}% +\setbox\@tempboxa\hbox{#2}% +\let\label\@IEEEtemporiglabeldefsave +\ifx\@IEEEtemplabelargsave\relax\else\label{\@IEEEtemplabelargsave}\fi} +\fi + + +% V1.7 define end environments with \def not \let so as to work OK with +% preview-latex +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename~\thefigure} +\def\figure{\@float{figure}} +\def\endfigure{\end@float} +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} +\newcounter{table} +\ifCLASSOPTIONcompsoc +\def\thetable{\arabic{table}} +\else +\def\thetable{\@Roman\c@table} +\fi +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename~\thetable} +% V1.6 IEEE uses 8pt text for tables +% to default to footnotesize, we hack into LaTeX2e's \@floatboxreset and pray +\def\table{\def\@floatboxreset{\reset@font\scriptsize\@setminipage}% + \let\@makefntext\@maketablefntext + \@float{table}} +\def\endtable{\end@float} +% v1.6b double column tables need to default to footnotesize as well. +\@namedef{table*}{\def\@floatboxreset{\reset@font\scriptsize\@setminipage}\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + + + + +%% +%% START OF IEEEeqnarry DEFINITIONS +%% +%% Inspired by the concepts, examples, and previous works of LaTeX +%% coders and developers such as Donald Arseneau, Fred Bartlett, +%% David Carlisle, Tony Liu, Frank Mittelbach, Piet van Oostrum, +%% Roland Winkler and Mark Wooding. +%% I don't make the claim that my work here is even near their calibre. ;) + + +% hook to allow easy changeover to IEEEtran.cls/tools.sty error reporting +\def\@IEEEclspkgerror{\ClassError{IEEEtran}} + +\newif\if@IEEEeqnarraystarform% flag to indicate if the environment was called as the star form +\@IEEEeqnarraystarformfalse + +\newif\if@advanceIEEEeqncolcnt% tracks if the environment should advance the col counter +% allows a way to make an \IEEEeqnarraybox that can be used within an \IEEEeqnarray +% used by IEEEeqnarraymulticol so that it can work properly in both +\@advanceIEEEeqncolcnttrue + +\newcount\@IEEEeqnnumcols % tracks how many IEEEeqnarray cols are defined +\newcount\@IEEEeqncolcnt % tracks how many IEEEeqnarray cols the user actually used + + +% The default math style used by the columns +\def\IEEEeqnarraymathstyle{\displaystyle} +% The default text style used by the columns +% default to using the current font +\def\IEEEeqnarraytextstyle{\relax} + +% like the iedlistdecl but for \IEEEeqnarray +\def\IEEEeqnarraydecl{\relax} +\def\IEEEeqnarrayboxdecl{\relax} + +% \yesnumber is the opposite of \nonumber +% a novel concept with the same def as the equationarray package +% However, we give IEEE versions too since some LaTeX packages such as +% the MDWtools mathenv.sty redefine \nonumber to something else. +\providecommand{\yesnumber}{\global\@eqnswtrue} +\def\IEEEyesnumber{\global\@eqnswtrue} +\def\IEEEnonumber{\global\@eqnswfalse} + + +\def\IEEEyessubnumber{\global\@IEEEissubequationtrue\global\@eqnswtrue% +\if@IEEEeqnarrayISinner% only do something inside an IEEEeqnarray +\if@IEEElastlinewassubequation\addtocounter{equation}{-1}\else\setcounter{IEEEsubequation}{1}\fi% +\def\@currentlabel{\p@IEEEsubequation\theIEEEsubequation}\fi} + +% flag to indicate that an equation is a sub equation +\newif\if@IEEEissubequation% +\@IEEEissubequationfalse + +% allows users to "push away" equations that get too close to the equation numbers +\def\IEEEeqnarraynumspace{\hphantom{\if@IEEEissubequation\theIEEEsubequationdis\else\theequationdis\fi}} + +% provides a way to span multiple columns within IEEEeqnarray environments +% will consider \if@advanceIEEEeqncolcnt before globally advancing the +% column counter - so as to work within \IEEEeqnarraybox +% usage: \IEEEeqnarraymulticol{number cols. to span}{col type}{cell text} +\long\def\IEEEeqnarraymulticol#1#2#3{\multispan{#1}% +% check if column is defined +\relax\expandafter\ifx\csname @IEEEeqnarraycolDEF#2\endcsname\@IEEEeqnarraycolisdefined% +\csname @IEEEeqnarraycolPRE#2\endcsname#3\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST#2\endcsname% +\else% if not, error and use default type +\@IEEEclspkgerror{Invalid column type "#2" in \string\IEEEeqnarraymulticol.\MessageBreak +Using a default centering column instead}% +{You must define IEEEeqnarray column types before use.}% +\csname @IEEEeqnarraycolPRE@IEEEdefault\endcsname#3\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST@IEEEdefault\endcsname% +\fi% +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by #1\relax\fi} + +% like \omit, but maintains track of the column counter for \IEEEeqnarray +\def\IEEEeqnarrayomit{\omit\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by 1\relax\fi} + + +% provides a way to define a letter referenced column type +% usage: \IEEEeqnarraydefcol{col. type letter/name}{pre insertion text}{post insertion text} +\def\IEEEeqnarraydefcol#1#2#3{\expandafter\def\csname @IEEEeqnarraycolPRE#1\endcsname{#2}% +\expandafter\def\csname @IEEEeqnarraycolPOST#1\endcsname{#3}% +\expandafter\def\csname @IEEEeqnarraycolDEF#1\endcsname{1}} + + +% provides a way to define a numerically referenced inter-column glue types +% usage: \IEEEeqnarraydefcolsep{col. glue number}{glue definition} +\def\IEEEeqnarraydefcolsep#1#2{\expandafter\def\csname @IEEEeqnarraycolSEP\romannumeral #1\endcsname{#2}% +\expandafter\def\csname @IEEEeqnarraycolSEPDEF\romannumeral #1\endcsname{1}} + + +\def\@IEEEeqnarraycolisdefined{1}% just a macro for 1, used for checking undefined column types + + +% expands and appends the given argument to the \@IEEEtrantmptoksA token list +% used to build up the \halign preamble +\def\@IEEEappendtoksA#1{\edef\@@IEEEappendtoksA{\@IEEEtrantmptoksA={\the\@IEEEtrantmptoksA #1}}% +\@@IEEEappendtoksA} + +% also appends to \@IEEEtrantmptoksA, but does not expand the argument +% uses \toks8 as a scratchpad register +\def\@IEEEappendNOEXPANDtoksA#1{\toks8={#1}% +\edef\@@IEEEappendNOEXPANDtoksA{\@IEEEtrantmptoksA={\the\@IEEEtrantmptoksA\the\toks8}}% +\@@IEEEappendNOEXPANDtoksA} + +% define some common column types for the user +% math +\IEEEeqnarraydefcol{l}{$\IEEEeqnarraymathstyle}{$\hfil} +\IEEEeqnarraydefcol{c}{\hfil$\IEEEeqnarraymathstyle}{$\hfil} +\IEEEeqnarraydefcol{r}{\hfil$\IEEEeqnarraymathstyle}{$} +\IEEEeqnarraydefcol{L}{$\IEEEeqnarraymathstyle{}}{{}$\hfil} +\IEEEeqnarraydefcol{C}{\hfil$\IEEEeqnarraymathstyle{}}{{}$\hfil} +\IEEEeqnarraydefcol{R}{\hfil$\IEEEeqnarraymathstyle{}}{{}$} +% text +\IEEEeqnarraydefcol{s}{\IEEEeqnarraytextstyle}{\hfil} +\IEEEeqnarraydefcol{t}{\hfil\IEEEeqnarraytextstyle}{\hfil} +\IEEEeqnarraydefcol{u}{\hfil\IEEEeqnarraytextstyle}{} + +% vertical rules +\IEEEeqnarraydefcol{v}{}{\vrule width\arrayrulewidth} +\IEEEeqnarraydefcol{vv}{\vrule width\arrayrulewidth\hfil}{\hfil\vrule width\arrayrulewidth} +\IEEEeqnarraydefcol{V}{}{\vrule width\arrayrulewidth\hskip\doublerulesep\vrule width\arrayrulewidth} +\IEEEeqnarraydefcol{VV}{\vrule width\arrayrulewidth\hskip\doublerulesep\vrule width\arrayrulewidth\hfil}% +{\hfil\vrule width\arrayrulewidth\hskip\doublerulesep\vrule width\arrayrulewidth} + +% horizontal rules +\IEEEeqnarraydefcol{h}{}{\leaders\hrule height\arrayrulewidth\hfil} +\IEEEeqnarraydefcol{H}{}{\leaders\vbox{\hrule width\arrayrulewidth\vskip\doublerulesep\hrule width\arrayrulewidth}\hfil} + +% plain +\IEEEeqnarraydefcol{x}{}{} +\IEEEeqnarraydefcol{X}{$}{$} + +% the default column type to use in the event a column type is not defined +\IEEEeqnarraydefcol{@IEEEdefault}{\hfil$\IEEEeqnarraymathstyle}{$\hfil} + + +% a zero tabskip (used for "-" col types) +\def\@IEEEeqnarraycolSEPzero{0pt plus 0pt minus 0pt} +% a centering tabskip (used for "+" col types) +\def\@IEEEeqnarraycolSEPcenter{1000pt plus 0pt minus 1000pt} + +% top level default tabskip glues for the start, end, and inter-column +% may be reset within environments not always at the top level, e.g., \IEEEeqnarraybox +\edef\@IEEEeqnarraycolSEPdefaultstart{\@IEEEeqnarraycolSEPcenter}% default start glue +\edef\@IEEEeqnarraycolSEPdefaultend{\@IEEEeqnarraycolSEPcenter}% default end glue +\edef\@IEEEeqnarraycolSEPdefaultmid{\@IEEEeqnarraycolSEPzero}% default inter-column glue + + + +% creates a vertical rule that extends from the bottom to the top a a cell +% Provided in case other packages redefine \vline some other way. +% usage: \IEEEeqnarrayvrule[rule thickness] +% If no argument is provided, \arrayrulewidth will be used for the rule thickness. +\newcommand\IEEEeqnarrayvrule[1][\arrayrulewidth]{\vrule\@width#1\relax} + +% creates a blank separator row +% usage: \IEEEeqnarrayseprow[separation length][font size commands] +% default is \IEEEeqnarrayseprow[0.25\normalbaselineskip][\relax] +% blank arguments inherit the default values +% uses \skip5 as a scratch register - calls \@IEEEeqnarraystrutsize which uses more scratch registers +\def\IEEEeqnarrayseprow{\relax\@ifnextchar[{\@IEEEeqnarrayseprow}{\@IEEEeqnarrayseprow[0.25\normalbaselineskip]}} +\def\@IEEEeqnarrayseprow[#1]{\relax\@ifnextchar[{\@@IEEEeqnarrayseprow[#1]}{\@@IEEEeqnarrayseprow[#1][\relax]}} +\def\@@IEEEeqnarrayseprow[#1][#2]{\def\@IEEEeqnarrayseprowARGONE{#1}% +\ifx\@IEEEeqnarrayseprowARGONE\@empty% +% get the skip value, based on the font commands +% use skip5 because \IEEEeqnarraystrutsize uses \skip0, \skip2, \skip3 +% assign within a bogus box to confine the font changes +{\setbox0=\hbox{#2\relax\global\skip5=0.25\normalbaselineskip}}% +\else% +{\setbox0=\hbox{#2\relax\global\skip5=#1}}% +\fi% +\@IEEEeqnarrayhoptolastcolumn\IEEEeqnarraystrutsize{\skip5}{0pt}[\relax]\relax} + +% creates a blank separator row, but omits all the column templates +% usage: \IEEEeqnarrayseprowcut[separation length][font size commands] +% default is \IEEEeqnarrayseprowcut[0.25\normalbaselineskip][\relax] +% blank arguments inherit the default values +% uses \skip5 as a scratch register - calls \@IEEEeqnarraystrutsize which uses more scratch registers +\def\IEEEeqnarrayseprowcut{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarrayseprowcut}{\@IEEEeqnarrayseprowcut[0.25\normalbaselineskip]}} +\def\@IEEEeqnarrayseprowcut[#1]{\relax\@ifnextchar[{\@@IEEEeqnarrayseprowcut[#1]}{\@@IEEEeqnarrayseprowcut[#1][\relax]}} +\def\@@IEEEeqnarrayseprowcut[#1][#2]{\def\@IEEEeqnarrayseprowARGONE{#1}% +\ifx\@IEEEeqnarrayseprowARGONE\@empty% +% get the skip value, based on the font commands +% use skip5 because \IEEEeqnarraystrutsize uses \skip0, \skip2, \skip3 +% assign within a bogus box to confine the font changes +{\setbox0=\hbox{#2\relax\global\skip5=0.25\normalbaselineskip}}% +\else% +{\setbox0=\hbox{#2\relax\global\skip5=#1}}% +\fi% +\IEEEeqnarraystrutsize{\skip5}{0pt}[\relax]\relax} + + + +% draws a single rule across all the columns optional +% argument determines the rule width, \arrayrulewidth is the default +% updates column counter as needed and turns off struts +% usage: \IEEEeqnarrayrulerow[rule line thickness] +\def\IEEEeqnarrayrulerow{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarrayrulerow}{\@IEEEeqnarrayrulerow[\arrayrulewidth]}} +\def\@IEEEeqnarrayrulerow[#1]{\leaders\hrule height#1\hfil\relax% put in our rule +% turn off any struts +\IEEEeqnarraystrutsize{0pt}{0pt}[\relax]\relax} + + +% draws a double rule by using a single rule row, a separator row, and then +% another single rule row +% first optional argument determines the rule thicknesses, \arrayrulewidth is the default +% second optional argument determines the rule spacing, \doublerulesep is the default +% usage: \IEEEeqnarraydblrulerow[rule line thickness][rule spacing] +\def\IEEEeqnarraydblrulerow{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarraydblrulerow}{\@IEEEeqnarraydblrulerow[\arrayrulewidth]}} +\def\@IEEEeqnarraydblrulerow[#1]{\relax\@ifnextchar[{\@@IEEEeqnarraydblrulerow[#1]}% +{\@@IEEEeqnarraydblrulerow[#1][\doublerulesep]}} +\def\@@IEEEeqnarraydblrulerow[#1][#2]{\def\@IEEEeqnarraydblrulerowARG{#1}% +% we allow the user to say \IEEEeqnarraydblrulerow[][] +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]\relax% +\fi% +\def\@IEEEeqnarraydblrulerowARG{#2}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\\\IEEEeqnarrayseprow[\doublerulesep][\relax]% +\else% +\\\IEEEeqnarrayseprow[#2][\relax]% +\fi% +\\\multispan{\@IEEEeqnnumcols}% +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\def\@IEEEeqnarraydblrulerowARG{#1}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]% +\fi% +} + +% draws a double rule by using a single rule row, a separator (cutting) row, and then +% another single rule row +% first optional argument determines the rule thicknesses, \arrayrulewidth is the default +% second optional argument determines the rule spacing, \doublerulesep is the default +% usage: \IEEEeqnarraydblrulerow[rule line thickness][rule spacing] +\def\IEEEeqnarraydblrulerowcut{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarraydblrulerowcut}{\@IEEEeqnarraydblrulerowcut[\arrayrulewidth]}} +\def\@IEEEeqnarraydblrulerowcut[#1]{\relax\@ifnextchar[{\@@IEEEeqnarraydblrulerowcut[#1]}% +{\@@IEEEeqnarraydblrulerowcut[#1][\doublerulesep]}} +\def\@@IEEEeqnarraydblrulerowcut[#1][#2]{\def\@IEEEeqnarraydblrulerowARG{#1}% +% we allow the user to say \IEEEeqnarraydblrulerow[][] +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]% +\fi% +\def\@IEEEeqnarraydblrulerowARG{#2}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\\\IEEEeqnarrayseprowcut[\doublerulesep][\relax]% +\else% +\\\IEEEeqnarrayseprowcut[#2][\relax]% +\fi% +\\\multispan{\@IEEEeqnnumcols}% +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\def\@IEEEeqnarraydblrulerowARG{#1}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]% +\fi% +} + + + +% inserts a full row's worth of &'s +% relies on \@IEEEeqnnumcols to provide the correct number of columns +% uses \@IEEEtrantmptoksA, \count0 as scratch registers +\def\@IEEEeqnarrayhoptolastcolumn{\@IEEEtrantmptoksA={}\count0=1\relax% +\loop% add cols if the user did not use them all +\ifnum\count0<\@IEEEeqnnumcols\relax% +\@IEEEappendtoksA{&}% +\advance\count0 by 1\relax% update the col count +\repeat% +\the\@IEEEtrantmptoksA%execute the &'s +} + + + +\newif\if@IEEEeqnarrayISinner % flag to indicate if we are within the lines +\@IEEEeqnarrayISinnerfalse % of an IEEEeqnarray - after the IEEEeqnarraydecl + +\edef\@IEEEeqnarrayTHEstrutheight{0pt} % height and depth of IEEEeqnarray struts +\edef\@IEEEeqnarrayTHEstrutdepth{0pt} + +\edef\@IEEEeqnarrayTHEmasterstrutheight{0pt} % default height and depth of +\edef\@IEEEeqnarrayTHEmasterstrutdepth{0pt} % struts within an IEEEeqnarray + +\edef\@IEEEeqnarrayTHEmasterstrutHSAVE{0pt} % saved master strut height +\edef\@IEEEeqnarrayTHEmasterstrutDSAVE{0pt} % and depth + +\newif\if@IEEEeqnarrayusemasterstrut % flag to indicate that the master strut value +\@IEEEeqnarrayusemasterstruttrue % is to be used + + + +% saves the strut height and depth of the master strut +\def\@IEEEeqnarraymasterstrutsave{\relax% +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +% remove stretchability +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% save values +\edef\@IEEEeqnarrayTHEmasterstrutHSAVE{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutDSAVE{\the\dimen2}} + +% restores the strut height and depth of the master strut +\def\@IEEEeqnarraymasterstrutrestore{\relax% +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutHSAVE\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutDSAVE\relax% +% remove stretchability +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% restore values +\edef\@IEEEeqnarrayTHEmasterstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutdepth{\the\dimen2}} + + +% globally restores the strut height and depth to the +% master values and sets the master strut flag to true +\def\@IEEEeqnarraystrutreset{\relax% +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +% remove stretchability +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% restore values +\xdef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\xdef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\global\@IEEEeqnarrayusemasterstruttrue} + + +% if the master strut is not to be used, make the current +% values of \@IEEEeqnarrayTHEstrutheight, \@IEEEeqnarrayTHEstrutdepth +% and the use master strut flag, global +% this allows user strut commands issued in the last column to be carried +% into the isolation/strut column +\def\@IEEEeqnarrayglobalizestrutstatus{\relax% +\if@IEEEeqnarrayusemasterstrut\else% +\xdef\@IEEEeqnarrayTHEstrutheight{\@IEEEeqnarrayTHEstrutheight}% +\xdef\@IEEEeqnarrayTHEstrutdepth{\@IEEEeqnarrayTHEstrutdepth}% +\global\@IEEEeqnarrayusemasterstrutfalse% +\fi} + + + +% usage: \IEEEeqnarraystrutsize{height}{depth}[font size commands] +% If called outside the lines of an IEEEeqnarray, sets the height +% and depth of both the master and local struts. If called inside +% an IEEEeqnarray line, sets the height and depth of the local strut +% only and sets the flag to indicate the use of the local strut +% values. If the height or depth is left blank, 0.7\normalbaselineskip +% and 0.3\normalbaselineskip will be used, respectively. +% The optional argument can be used to evaluate the lengths under +% a different font size and styles. If none is specified, the current +% font is used. +% uses scratch registers \skip0, \skip2, \skip3, \dimen0, \dimen2 +\def\IEEEeqnarraystrutsize#1#2{\relax\@ifnextchar[{\@IEEEeqnarraystrutsize{#1}{#2}}{\@IEEEeqnarraystrutsize{#1}{#2}[\relax]}} +\def\@IEEEeqnarraystrutsize#1#2[#3]{\def\@IEEEeqnarraystrutsizeARG{#1}% +\ifx\@IEEEeqnarraystrutsizeARG\@empty% +{\setbox0=\hbox{#3\relax\global\skip3=0.7\normalbaselineskip}}% +\skip0=\skip3\relax% +\else% arg one present +{\setbox0=\hbox{#3\relax\global\skip3=#1\relax}}% +\skip0=\skip3\relax% +\fi% if null arg +\def\@IEEEeqnarraystrutsizeARG{#2}% +\ifx\@IEEEeqnarraystrutsizeARG\@empty% +{\setbox0=\hbox{#3\relax\global\skip3=0.3\normalbaselineskip}}% +\skip2=\skip3\relax% +\else% arg two present +{\setbox0=\hbox{#3\relax\global\skip3=#2\relax}}% +\skip2=\skip3\relax% +\fi% if null arg +% remove stretchability, just to be safe +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% dimen0 = height, dimen2 = depth +\if@IEEEeqnarrayISinner% inner does not touch master strut size +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstrutfalse% do not use master +\else% outer, have to set master strut too +\edef\@IEEEeqnarrayTHEmasterstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutdepth{\the\dimen2}% +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstruttrue% use master strut +\fi} + + +% usage: \IEEEeqnarraystrutsizeadd{added height}{added depth}[font size commands] +% If called outside the lines of an IEEEeqnarray, adds the given height +% and depth to both the master and local struts. +% If called inside an IEEEeqnarray line, adds the given height and depth +% to the local strut only and sets the flag to indicate the use +% of the local strut values. +% In both cases, if a height or depth is left blank, 0pt is used instead. +% The optional argument can be used to evaluate the lengths under +% a different font size and styles. If none is specified, the current +% font is used. +% uses scratch registers \skip0, \skip2, \skip3, \dimen0, \dimen2 +\def\IEEEeqnarraystrutsizeadd#1#2{\relax\@ifnextchar[{\@IEEEeqnarraystrutsizeadd{#1}{#2}}{\@IEEEeqnarraystrutsizeadd{#1}{#2}[\relax]}} +\def\@IEEEeqnarraystrutsizeadd#1#2[#3]{\def\@IEEEeqnarraystrutsizearg{#1}% +\ifx\@IEEEeqnarraystrutsizearg\@empty% +\skip0=0pt\relax% +\else% arg one present +{\setbox0=\hbox{#3\relax\global\skip3=#1}}% +\skip0=\skip3\relax% +\fi% if null arg +\def\@IEEEeqnarraystrutsizearg{#2}% +\ifx\@IEEEeqnarraystrutsizearg\@empty% +\skip2=0pt\relax% +\else% arg two present +{\setbox0=\hbox{#3\relax\global\skip3=#2}}% +\skip2=\skip3\relax% +\fi% if null arg +% remove stretchability, just to be safe +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% dimen0 = height, dimen2 = depth +\if@IEEEeqnarrayISinner% inner does not touch master strut size +% get local strut size +\expandafter\skip0=\@IEEEeqnarrayTHEstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEstrutdepth\relax% +% add it to the user supplied values +\advance\dimen0 by \skip0\relax% +\advance\dimen2 by \skip2\relax% +% update the local strut size +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstrutfalse% do not use master +\else% outer, have to set master strut too +% get master strut size +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +% add it to the user supplied values +\advance\dimen0 by \skip0\relax% +\advance\dimen2 by \skip2\relax% +% update the local and master strut sizes +\edef\@IEEEeqnarrayTHEmasterstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutdepth{\the\dimen2}% +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstruttrue% use master strut +\fi} + + +% allow user a way to see the struts +\newif\ifIEEEvisiblestruts +\IEEEvisiblestrutsfalse + +% inserts an invisible strut using the master or local strut values +% uses scratch registers \skip0, \skip2, \dimen0, \dimen2 +\def\@IEEEeqnarrayinsertstrut{\relax% +\if@IEEEeqnarrayusemasterstrut +% get master strut size +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +\else% +% get local strut size +\expandafter\skip0=\@IEEEeqnarrayTHEstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEstrutdepth\relax% +\fi% +% remove stretchability, probably not needed +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% dimen0 = height, dimen2 = depth +% allow user to see struts if desired +\ifIEEEvisiblestruts% +\vrule width0.2pt height\dimen0 depth\dimen2\relax% +\else% +\vrule width0pt height\dimen0 depth\dimen2\relax\fi} + + +% creates an invisible strut, useable even outside \IEEEeqnarray +% if \IEEEvisiblestrutstrue, the strut will be visible and 0.2pt wide. +% usage: \IEEEstrut[height][depth][font size commands] +% default is \IEEEstrut[0.7\normalbaselineskip][0.3\normalbaselineskip][\relax] +% blank arguments inherit the default values +% uses \dimen0, \dimen2, \skip0, \skip2 +\def\IEEEstrut{\relax\@ifnextchar[{\@IEEEstrut}{\@IEEEstrut[0.7\normalbaselineskip]}} +\def\@IEEEstrut[#1]{\relax\@ifnextchar[{\@@IEEEstrut[#1]}{\@@IEEEstrut[#1][0.3\normalbaselineskip]}} +\def\@@IEEEstrut[#1][#2]{\relax\@ifnextchar[{\@@@IEEEstrut[#1][#2]}{\@@@IEEEstrut[#1][#2][\relax]}} +\def\@@@IEEEstrut[#1][#2][#3]{\mbox{#3\relax% +\def\@IEEEstrutARG{#1}% +\ifx\@IEEEstrutARG\@empty% +\skip0=0.7\normalbaselineskip\relax% +\else% +\skip0=#1\relax% +\fi% +\def\@IEEEstrutARG{#2}% +\ifx\@IEEEstrutARG\@empty% +\skip2=0.3\normalbaselineskip\relax% +\else% +\skip2=#2\relax% +\fi% +% remove stretchability, probably not needed +\dimen0\skip0\relax% +\dimen2\skip2\relax% +\ifIEEEvisiblestruts% +\vrule width0.2pt height\dimen0 depth\dimen2\relax% +\else% +\vrule width0.0pt height\dimen0 depth\dimen2\relax\fi}} + + +% enables strut mode by setting a default strut size and then zeroing the +% \baselineskip, \lineskip, \lineskiplimit and \jot +\def\IEEEeqnarraystrutmode{\IEEEeqnarraystrutsize{0.7\normalbaselineskip}{0.3\normalbaselineskip}[\relax]% +\baselineskip=0pt\lineskip=0pt\lineskiplimit=0pt\jot=0pt} + + + +\def\IEEEeqnarray{\@IEEEeqnarraystarformfalse\@IEEEeqnarray} +\def\endIEEEeqnarray{\end@IEEEeqnarray} + +\@namedef{IEEEeqnarray*}{\@IEEEeqnarraystarformtrue\@IEEEeqnarray} +\@namedef{endIEEEeqnarray*}{\end@IEEEeqnarray} + + +% \IEEEeqnarray is an enhanced \eqnarray. +% The star form defaults to not putting equation numbers at the end of each row. +% usage: \IEEEeqnarray[decl]{cols} +\def\@IEEEeqnarray{\relax\@ifnextchar[{\@@IEEEeqnarray}{\@@IEEEeqnarray[\relax]}} +\def\@@IEEEeqnarray[#1]#2{% + % default to showing the equation number or not based on whether or not + % the star form was involked + \if@IEEEeqnarraystarform\global\@eqnswfalse + \else% not the star form + \global\@eqnswtrue + \fi% if star form + \@IEEEissubequationfalse% default to no subequations + \@IEEElastlinewassubequationfalse% assume last line is not a sub equation + \@IEEEeqnarrayISinnerfalse% not yet within the lines of the halign + \@IEEEeqnarraystrutsize{0pt}{0pt}[\relax]% turn off struts by default + \@IEEEeqnarrayusemasterstruttrue% use master strut till user asks otherwise + \IEEEvisiblestrutsfalse% diagnostic mode defaults to off + % no extra space unless the user specifically requests it + \lineskip=0pt\relax + \lineskiplimit=0pt\relax + \baselineskip=\normalbaselineskip\relax% + \jot=\IEEEnormaljot\relax% + \mathsurround\z@\relax% no extra spacing around math + \@advanceIEEEeqncolcnttrue% advance the col counter for each col the user uses, + % used in \IEEEeqnarraymulticol and in the preamble build + \stepcounter{equation}% advance equation counter before first line + \setcounter{IEEEsubequation}{0}% no subequation yet + \def\@currentlabel{\p@equation\theequation}% redefine the ref label + \IEEEeqnarraydecl\relax% allow a way for the user to make global overrides + #1\relax% allow user to override defaults + \let\\\@IEEEeqnarraycr% replace newline with one that can put in eqn. numbers + \global\@IEEEeqncolcnt\z@% col. count = 0 for first line + \@IEEEbuildpreamble #2\end\relax% build the preamble and put it into \@IEEEtrantmptoksA + % put in the column for the equation number + \ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi% col separator for those after the first + \toks0={##}% + % advance the \@IEEEeqncolcnt for the isolation col, this helps with error checking + \@IEEEappendtoksA{\global\advance\@IEEEeqncolcnt by 1\relax}% + % add the isolation column + \@IEEEappendtoksA{\tabskip\z@skip\bgroup\the\toks0\egroup}% + % advance the \@IEEEeqncolcnt for the equation number col, this helps with error checking + \@IEEEappendtoksA{&\global\advance\@IEEEeqncolcnt by 1\relax}% + % add the equation number col to the preamble + \@IEEEappendtoksA{\tabskip\z@skip\hb@xt@\z@\bgroup\hss\the\toks0\egroup}% + % note \@IEEEeqnnumcols does not count the equation col or isolation col + % set the starting tabskip glue as determined by the preamble build + \tabskip=\@IEEEBPstartglue\relax + % begin the display alignment + \@IEEEeqnarrayISinnertrue% commands are now within the lines + $$\everycr{}\halign to\displaywidth\bgroup + % "exspand" the preamble + \span\the\@IEEEtrantmptoksA\cr} + +% enter isolation/strut column (or the next column if the user did not use +% every column), record the strut status, complete the columns, do the strut if needed, +% restore counters to correct values and exit +\def\end@IEEEeqnarray{\@IEEEeqnarrayglobalizestrutstatus&\@@IEEEeqnarraycr\egroup% +\if@IEEElastlinewassubequation\global\advance\c@IEEEsubequation\m@ne\fi% +\global\advance\c@equation\m@ne% +$$\@ignoretrue} + +% need a way to remember if last line is a subequation +\newif\if@IEEElastlinewassubequation% +\@IEEElastlinewassubequationfalse + +% IEEEeqnarray uses a modifed \\ instead of the plain \cr to +% end rows. This allows for things like \\*[vskip amount] +% This "cr" macros are modified versions those for LaTeX2e's eqnarray +% the {\ifnum0=`} braces must be kept away from the last column to avoid +% altering spacing of its math, so we use & to advance to the next column +% as there is an isolation/strut column after the user's columns +\def\@IEEEeqnarraycr{\@IEEEeqnarrayglobalizestrutstatus&% save strut status and advance to next column + {\ifnum0=`}\fi + \@ifstar{% + \global\@eqpen\@M\@IEEEeqnarrayYCR + }{% + \global\@eqpen\interdisplaylinepenalty \@IEEEeqnarrayYCR + }% +} + +\def\@IEEEeqnarrayYCR{\@testopt\@IEEEeqnarrayXCR\z@skip} + +\def\@IEEEeqnarrayXCR[#1]{% + \ifnum0=`{\fi}% + \@@IEEEeqnarraycr + \noalign{\penalty\@eqpen\vskip\jot\vskip #1\relax}}% + +\def\@@IEEEeqnarraycr{\@IEEEtrantmptoksA={}% clear token register + \advance\@IEEEeqncolcnt by -1\relax% adjust col count because of the isolation column + \ifnum\@IEEEeqncolcnt>\@IEEEeqnnumcols\relax + \@IEEEclspkgerror{Too many columns within the IEEEeqnarray\MessageBreak + environment}% + {Use fewer \string &'s or put more columns in the IEEEeqnarry column\MessageBreak + specifications.}\relax% + \else + \loop% add cols if the user did not use them all + \ifnum\@IEEEeqncolcnt<\@IEEEeqnnumcols\relax + \@IEEEappendtoksA{&}% + \advance\@IEEEeqncolcnt by 1\relax% update the col count + \repeat + % this number of &'s will take us the the isolation column + \fi + % execute the &'s + \the\@IEEEtrantmptoksA% + % handle the strut/isolation column + \@IEEEeqnarrayinsertstrut% do the strut if needed + \@IEEEeqnarraystrutreset% reset the strut system for next line or IEEEeqnarray + &% and enter the equation number column + % is this line needs an equation number, display it and advance the + % (sub)equation counters, record what type this line was + \if@eqnsw% + \if@IEEEissubequation\theIEEEsubequationdis\addtocounter{equation}{1}\stepcounter{IEEEsubequation}% + \global\@IEEElastlinewassubequationtrue% + \else% display a standard equation number, initialize the IEEEsubequation counter + \theequationdis\stepcounter{equation}\setcounter{IEEEsubequation}{0}% + \global\@IEEElastlinewassubequationfalse\fi% + \fi% + % reset the eqnsw flag to indicate default preference of the display of equation numbers + \if@IEEEeqnarraystarform\global\@eqnswfalse\else\global\@eqnswtrue\fi + \global\@IEEEissubequationfalse% reset the subequation flag + % reset the number of columns the user actually used + \global\@IEEEeqncolcnt\z@\relax + % the real end of the line + \cr} + + + + + +% \IEEEeqnarraybox is like \IEEEeqnarray except the box form puts everything +% inside a vtop, vbox, or vcenter box depending on the letter in the second +% optional argument (t,b,c). Vbox is the default. Unlike \IEEEeqnarray, +% equation numbers are not displayed and \IEEEeqnarraybox can be nested. +% \IEEEeqnarrayboxm is for math mode (like \array) and does not put the vbox +% within an hbox. +% \IEEEeqnarrayboxt is for text mode (like \tabular) and puts the vbox within +% a \hbox{$ $} construct. +% \IEEEeqnarraybox will auto detect whether to use \IEEEeqnarrayboxm or +% \IEEEeqnarrayboxt depending on the math mode. +% The third optional argument specifies the width this box is to be set to - +% natural width is the default. +% The * forms do not add \jot line spacing +% usage: \IEEEeqnarraybox[decl][pos][width]{cols} +\def\IEEEeqnarrayboxm{\@IEEEeqnarraystarformfalse\@IEEEeqnarrayboxHBOXSWfalse\@IEEEeqnarraybox} +\def\endIEEEeqnarrayboxm{\end@IEEEeqnarraybox} +\@namedef{IEEEeqnarrayboxm*}{\@IEEEeqnarraystarformtrue\@IEEEeqnarrayboxHBOXSWfalse\@IEEEeqnarraybox} +\@namedef{endIEEEeqnarrayboxm*}{\end@IEEEeqnarraybox} + +\def\IEEEeqnarrayboxt{\@IEEEeqnarraystarformfalse\@IEEEeqnarrayboxHBOXSWtrue\@IEEEeqnarraybox} +\def\endIEEEeqnarrayboxt{\end@IEEEeqnarraybox} +\@namedef{IEEEeqnarrayboxt*}{\@IEEEeqnarraystarformtrue\@IEEEeqnarrayboxHBOXSWtrue\@IEEEeqnarraybox} +\@namedef{endIEEEeqnarrayboxt*}{\end@IEEEeqnarraybox} + +\def\IEEEeqnarraybox{\@IEEEeqnarraystarformfalse\ifmmode\@IEEEeqnarrayboxHBOXSWfalse\else\@IEEEeqnarrayboxHBOXSWtrue\fi% +\@IEEEeqnarraybox} +\def\endIEEEeqnarraybox{\end@IEEEeqnarraybox} + +\@namedef{IEEEeqnarraybox*}{\@IEEEeqnarraystarformtrue\ifmmode\@IEEEeqnarrayboxHBOXSWfalse\else\@IEEEeqnarrayboxHBOXSWtrue\fi% +\@IEEEeqnarraybox} +\@namedef{endIEEEeqnarraybox*}{\end@IEEEeqnarraybox} + +% flag to indicate if the \IEEEeqnarraybox needs to put things into an hbox{$ $} +% for \vcenter in non-math mode +\newif\if@IEEEeqnarrayboxHBOXSW% +\@IEEEeqnarrayboxHBOXSWfalse + +\def\@IEEEeqnarraybox{\relax\@ifnextchar[{\@@IEEEeqnarraybox}{\@@IEEEeqnarraybox[\relax]}} +\def\@@IEEEeqnarraybox[#1]{\relax\@ifnextchar[{\@@@IEEEeqnarraybox[#1]}{\@@@IEEEeqnarraybox[#1][b]}} +\def\@@@IEEEeqnarraybox[#1][#2]{\relax\@ifnextchar[{\@@@@IEEEeqnarraybox[#1][#2]}{\@@@@IEEEeqnarraybox[#1][#2][\relax]}} + +% #1 = decl; #2 = t,b,c; #3 = width, #4 = col specs +\def\@@@@IEEEeqnarraybox[#1][#2][#3]#4{\@IEEEeqnarrayISinnerfalse % not yet within the lines of the halign + \@IEEEeqnarraymasterstrutsave% save current master strut values + \@IEEEeqnarraystrutsize{0pt}{0pt}[\relax]% turn off struts by default + \@IEEEeqnarrayusemasterstruttrue% use master strut till user asks otherwise + \IEEEvisiblestrutsfalse% diagnostic mode defaults to off + % no extra space unless the user specifically requests it + \lineskip=0pt\relax% + \lineskiplimit=0pt\relax% + \baselineskip=\normalbaselineskip\relax% + \jot=\IEEEnormaljot\relax% + \mathsurround\z@\relax% no extra spacing around math + % the default end glues are zero for an \IEEEeqnarraybox + \edef\@IEEEeqnarraycolSEPdefaultstart{\@IEEEeqnarraycolSEPzero}% default start glue + \edef\@IEEEeqnarraycolSEPdefaultend{\@IEEEeqnarraycolSEPzero}% default end glue + \edef\@IEEEeqnarraycolSEPdefaultmid{\@IEEEeqnarraycolSEPzero}% default inter-column glue + \@advanceIEEEeqncolcntfalse% do not advance the col counter for each col the user uses, + % used in \IEEEeqnarraymulticol and in the preamble build + \IEEEeqnarrayboxdecl\relax% allow a way for the user to make global overrides + #1\relax% allow user to override defaults + \let\\\@IEEEeqnarrayboxcr% replace newline with one that allows optional spacing + \@IEEEbuildpreamble #4\end\relax% build the preamble and put it into \@IEEEtrantmptoksA + % add an isolation column to the preamble to stop \\'s {} from getting into the last col + \ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi% col separator for those after the first + \toks0={##}% + % add the isolation column to the preamble + \@IEEEappendtoksA{\tabskip\z@skip\bgroup\the\toks0\egroup}% + % set the starting tabskip glue as determined by the preamble build + \tabskip=\@IEEEBPstartglue\relax + % begin the alignment + \everycr{}% + % use only the very first token to determine the positioning + % this stops some problems when the user uses more than one letter, + % but is probably not worth the effort + % \noindent is used as a delimiter + \def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% + \@IEEEgrabfirstoken#2\relax\relax\noindent + % \@IEEEgrabbedfirstoken has the first token, the rest are discarded + % if we need to put things into and hbox and go into math mode, do so now + \if@IEEEeqnarrayboxHBOXSW \leavevmode \hbox \bgroup $\fi% + % use the appropriate vbox type + \if\@IEEEgrabbedfirstoken t\relax\vtop\else\if\@IEEEgrabbedfirstoken c\relax% + \vcenter\else\vbox\fi\fi\bgroup% + \@IEEEeqnarrayISinnertrue% commands are now within the lines + \ifx#3\relax\halign\else\halign to #3\relax\fi% + \bgroup + % "exspand" the preamble + \span\the\@IEEEtrantmptoksA\cr} + +% carry strut status and enter the isolation/strut column, +% exit from math mode if needed, and exit +\def\end@IEEEeqnarraybox{\@IEEEeqnarrayglobalizestrutstatus% carry strut status +&% enter isolation/strut column +\@IEEEeqnarrayinsertstrut% do strut if needed +\@IEEEeqnarraymasterstrutrestore% restore the previous master strut values +% reset the strut system for next IEEEeqnarray +% (sets local strut values back to previous master strut values) +\@IEEEeqnarraystrutreset% +% ensure last line, exit from halign, close vbox +\crcr\egroup\egroup% +% exit from math mode and close hbox if needed +\if@IEEEeqnarrayboxHBOXSW $\egroup\fi} + + + +% IEEEeqnarraybox uses a modifed \\ instead of the plain \cr to +% end rows. This allows for things like \\[vskip amount] +% This "cr" macros are modified versions those for LaTeX2e's eqnarray +% For IEEEeqnarraybox, \\* is the same as \\ +% the {\ifnum0=`} braces must be kept away from the last column to avoid +% altering spacing of its math, so we use & to advance to the isolation/strut column +% carry strut status into isolation/strut column +\def\@IEEEeqnarrayboxcr{\@IEEEeqnarrayglobalizestrutstatus% carry strut status +&% enter isolation/strut column +\@IEEEeqnarrayinsertstrut% do strut if needed +% reset the strut system for next line or IEEEeqnarray +\@IEEEeqnarraystrutreset% +{\ifnum0=`}\fi% +\@ifstar{\@IEEEeqnarrayboxYCR}{\@IEEEeqnarrayboxYCR}} + +% test and setup the optional argument to \\[] +\def\@IEEEeqnarrayboxYCR{\@testopt\@IEEEeqnarrayboxXCR\z@skip} + +% IEEEeqnarraybox does not automatically increase line spacing by \jot +\def\@IEEEeqnarrayboxXCR[#1]{\ifnum0=`{\fi}% +\cr\noalign{\if@IEEEeqnarraystarform\else\vskip\jot\fi\vskip#1\relax}} + + + +% starts the halign preamble build +\def\@IEEEbuildpreamble{\@IEEEtrantmptoksA={}% clear token register +\let\@IEEEBPcurtype=u%current column type is not yet known +\let\@IEEEBPprevtype=s%the previous column type was the start +\let\@IEEEBPnexttype=u%next column type is not yet known +% ensure these are valid +\def\@IEEEBPcurglue={0pt plus 0pt minus 0pt}% +\def\@IEEEBPcurcolname{@IEEEdefault}% name of current column definition +% currently acquired numerically referenced glue +% use a name that is easier to remember +\let\@IEEEBPcurnum=\@IEEEtrantmpcountA% +\@IEEEBPcurnum=0% +% tracks number of columns in the preamble +\@IEEEeqnnumcols=0% +% record the default end glues +\edef\@IEEEBPstartglue{\@IEEEeqnarraycolSEPdefaultstart}% +\edef\@IEEEBPendglue{\@IEEEeqnarraycolSEPdefaultend}% +% now parse the user's column specifications +\@@IEEEbuildpreamble} + + +% parses and builds the halign preamble +\def\@@IEEEbuildpreamble#1#2{\let\@@nextIEEEbuildpreamble=\@@IEEEbuildpreamble% +% use only the very first token to check the end +% \noindent is used as a delimiter as \end can be present here +\def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% +\@IEEEgrabfirstoken#1\relax\relax\noindent +\ifx\@IEEEgrabbedfirstoken\end\let\@@nextIEEEbuildpreamble=\@@IEEEfinishpreamble\else% +% identify current and next token type +\@IEEEgetcoltype{#1}{\@IEEEBPcurtype}{1}% current, error on invalid +\@IEEEgetcoltype{#2}{\@IEEEBPnexttype}{0}% next, no error on invalid next +% if curtype is a glue, get the glue def +\if\@IEEEBPcurtype g\@IEEEgetcurglue{#1}{\@IEEEBPcurglue}\fi% +% if curtype is a column, get the column def and set the current column name +\if\@IEEEBPcurtype c\@IEEEgetcurcol{#1}\fi% +% if curtype is a numeral, acquire the user defined glue +\if\@IEEEBPcurtype n\@IEEEprocessNcol{#1}\fi% +% process the acquired glue +\if\@IEEEBPcurtype g\@IEEEprocessGcol\fi% +% process the acquired col +\if\@IEEEBPcurtype c\@IEEEprocessCcol\fi% +% ready prevtype for next col spec. +\let\@IEEEBPprevtype=\@IEEEBPcurtype% +% be sure and put back the future token(s) as a group +\fi\@@nextIEEEbuildpreamble{#2}} + + +% executed just after preamble build is completed +% warn about zero cols, and if prevtype type = u, put in end tabskip glue +\def\@@IEEEfinishpreamble#1{\ifnum\@IEEEeqnnumcols<1\relax +\@IEEEclspkgerror{No column specifiers declared for IEEEeqnarray}% +{At least one column type must be declared for each IEEEeqnarray.}% +\fi%num cols less than 1 +%if last type undefined, set default end tabskip glue +\if\@IEEEBPprevtype u\@IEEEappendtoksA{\tabskip=\@IEEEBPendglue}\fi} + + +% Identify and return the column specifier's type code +\def\@IEEEgetcoltype#1#2#3{% +% use only the very first token to determine the type +% \noindent is used as a delimiter as \end can be present here +\def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% +\@IEEEgrabfirstoken#1\relax\relax\noindent +% \@IEEEgrabfirstoken has the first token, the rest are discarded +% n = number +% g = glue (any other char in catagory 12) +% c = letter +% e = \end +% u = undefined +% third argument: 0 = no error message, 1 = error on invalid char +\let#2=u\relax% assume invalid until know otherwise +\ifx\@IEEEgrabbedfirstoken\end\let#2=e\else +\ifcat\@IEEEgrabbedfirstoken\relax\else% screen out control sequences +\if0\@IEEEgrabbedfirstoken\let#2=n\else +\if1\@IEEEgrabbedfirstoken\let#2=n\else +\if2\@IEEEgrabbedfirstoken\let#2=n\else +\if3\@IEEEgrabbedfirstoken\let#2=n\else +\if4\@IEEEgrabbedfirstoken\let#2=n\else +\if5\@IEEEgrabbedfirstoken\let#2=n\else +\if6\@IEEEgrabbedfirstoken\let#2=n\else +\if7\@IEEEgrabbedfirstoken\let#2=n\else +\if8\@IEEEgrabbedfirstoken\let#2=n\else +\if9\@IEEEgrabbedfirstoken\let#2=n\else +\ifcat,\@IEEEgrabbedfirstoken\let#2=g\relax +\else\ifcat a\@IEEEgrabbedfirstoken\let#2=c\relax\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\if#2u\relax +\if0\noexpand#3\relax\else\@IEEEclspkgerror{Invalid character in column specifications}% +{Only letters, numerals and certain other symbols are allowed \MessageBreak +as IEEEeqnarray column specifiers.}\fi\fi} + + +% identify the current letter referenced column +% if invalid, use a default column +\def\@IEEEgetcurcol#1{\expandafter\ifx\csname @IEEEeqnarraycolDEF#1\endcsname\@IEEEeqnarraycolisdefined% +\def\@IEEEBPcurcolname{#1}\else% invalid column name +\@IEEEclspkgerror{Invalid column type "#1" in column specifications.\MessageBreak +Using a default centering column instead}% +{You must define IEEEeqnarray column types before use.}% +\def\@IEEEBPcurcolname{@IEEEdefault}\fi} + + +% identify and return the predefined (punctuation) glue value +\def\@IEEEgetcurglue#1#2{% +% ! = \! (neg small) -0.16667em (-3/18 em) +% , = \, (small) 0.16667em ( 3/18 em) +% : = \: (med) 0.22222em ( 4/18 em) +% ; = \; (large) 0.27778em ( 5/18 em) +% ' = \quad 1em +% " = \qquad 2em +% . = 0.5\arraycolsep +% / = \arraycolsep +% ? = 2\arraycolsep +% * = 1fil +% + = \@IEEEeqnarraycolSEPcenter +% - = \@IEEEeqnarraycolSEPzero +% Note that all em values are referenced to the math font (textfont2) fontdimen6 +% value for 1em. +% +% use only the very first token to determine the type +% this prevents errant tokens from getting in the main text +% \noindent is used as a delimiter here +\def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% +\@IEEEgrabfirstoken#1\relax\relax\noindent +% get the math font 1em value +% LaTeX2e's NFSS2 does not preload the fonts, but \IEEEeqnarray needs +% to gain access to the math (\textfont2) font's spacing parameters. +% So we create a bogus box here that uses the math font to ensure +% that \textfont2 is loaded and ready. If this is not done, +% the \textfont2 stuff here may not work. +% Thanks to Bernd Raichle for his 1997 post on this topic. +{\setbox0=\hbox{$\displaystyle\relax$}}% +% fontdimen6 has the width of 1em (a quad). +\@IEEEtrantmpdimenA=\fontdimen6\textfont2\relax% +% identify the glue value based on the first token +% we discard anything after the first +\if!\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=-0.16667\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if,\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.16667\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if:\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.22222\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if;\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.27778\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if'\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=1\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if"\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=2\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if.\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.5\arraycolsep\edef#2{\the\@IEEEtrantmpdimenA}\else +\if/\@IEEEgrabbedfirstoken\edef#2{\the\arraycolsep}\else +\if?\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=2\arraycolsep\edef#2{\the\@IEEEtrantmpdimenA}\else +\if *\@IEEEgrabbedfirstoken\edef#2{0pt plus 1fil minus 0pt}\else +\if+\@IEEEgrabbedfirstoken\edef#2{\@IEEEeqnarraycolSEPcenter}\else +\if-\@IEEEgrabbedfirstoken\edef#2{\@IEEEeqnarraycolSEPzero}\else +\edef#2{\@IEEEeqnarraycolSEPzero}% +\@IEEEclspkgerror{Invalid predefined inter-column glue type "#1" in\MessageBreak +column specifications. Using a default value of\MessageBreak +0pt instead}% +{Only !,:;'"./?*+ and - are valid predefined glue types in the\MessageBreak +IEEEeqnarray column specifications.}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} + + + +% process a numerical digit from the column specification +% and look up the corresponding user defined glue value +% can transform current type from n to g or a as the user defined glue is acquired +\def\@IEEEprocessNcol#1{\if\@IEEEBPprevtype g% +\@IEEEclspkgerror{Back-to-back inter-column glue specifiers in column\MessageBreak +specifications. Ignoring consecutive glue specifiers\MessageBreak +after the first}% +{You cannot have two or more glue types next to each other\MessageBreak +in the IEEEeqnarray column specifications.}% +\let\@IEEEBPcurtype=a% abort this glue, future digits will be discarded +\@IEEEBPcurnum=0\relax% +\else% if we previously aborted a glue +\if\@IEEEBPprevtype a\@IEEEBPcurnum=0\let\@IEEEBPcurtype=a%maintain digit abortion +\else%acquire this number +% save the previous type before the numerical digits started +\if\@IEEEBPprevtype n\else\let\@IEEEBPprevsavedtype=\@IEEEBPprevtype\fi% +\multiply\@IEEEBPcurnum by 10\relax% +\advance\@IEEEBPcurnum by #1\relax% add in number, \relax is needed to stop TeX's number scan +\if\@IEEEBPnexttype n\else%close acquisition +\expandafter\ifx\csname @IEEEeqnarraycolSEPDEF\expandafter\romannumeral\number\@IEEEBPcurnum\endcsname\@IEEEeqnarraycolisdefined% +\edef\@IEEEBPcurglue{\csname @IEEEeqnarraycolSEP\expandafter\romannumeral\number\@IEEEBPcurnum\endcsname}% +\else%user glue not defined +\@IEEEclspkgerror{Invalid user defined inter-column glue type "\number\@IEEEBPcurnum" in\MessageBreak +column specifications. Using a default value of\MessageBreak +0pt instead}% +{You must define all IEEEeqnarray numerical inter-column glue types via\MessageBreak +\string\IEEEeqnarraydefcolsep \space before they are used in column specifications.}% +\edef\@IEEEBPcurglue{\@IEEEeqnarraycolSEPzero}% +\fi% glue defined or not +\let\@IEEEBPcurtype=g% change the type to reflect the acquired glue +\let\@IEEEBPprevtype=\@IEEEBPprevsavedtype% restore the prev type before this number glue +\@IEEEBPcurnum=0\relax%ready for next acquisition +\fi%close acquisition, get glue +\fi%discard or acquire number +\fi%prevtype glue or not +} + + +% process an acquired glue +% add any acquired column/glue pair to the preamble +\def\@IEEEprocessGcol{\if\@IEEEBPprevtype a\let\@IEEEBPcurtype=a%maintain previous glue abortions +\else +% if this is the start glue, save it, but do nothing else +% as this is not used in the preamble, but before +\if\@IEEEBPprevtype s\edef\@IEEEBPstartglue{\@IEEEBPcurglue}% +\else%not the start glue +\if\@IEEEBPprevtype g%ignore if back to back glues +\@IEEEclspkgerror{Back-to-back inter-column glue specifiers in column\MessageBreak +specifications. Ignoring consecutive glue specifiers\MessageBreak +after the first}% +{You cannot have two or more glue types next to each other\MessageBreak +in the IEEEeqnarray column specifications.}% +\let\@IEEEBPcurtype=a% abort this glue +\else% not a back to back glue +\if\@IEEEBPprevtype c\relax% if the previoustype was a col, add column/glue pair to preamble +\ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi +\toks0={##}% +% make preamble advance col counter if this environment needs this +\if@advanceIEEEeqncolcnt\@IEEEappendtoksA{\global\advance\@IEEEeqncolcnt by 1\relax}\fi +% insert the column defintion into the preamble, being careful not to expand +% the column definition +\@IEEEappendtoksA{\tabskip=\@IEEEBPcurglue}% +\@IEEEappendNOEXPANDtoksA{\begingroup\csname @IEEEeqnarraycolPRE}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname}% +\@IEEEappendtoksA{\the\toks0}% +\@IEEEappendNOEXPANDtoksA{\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\endgroup}% +\advance\@IEEEeqnnumcols by 1\relax%one more column in the preamble +\else% error: non-start glue with no pending column +\@IEEEclspkgerror{Inter-column glue specifier without a prior column\MessageBreak +type in the column specifications. Ignoring this glue\MessageBreak +specifier}% +{Except for the first and last positions, glue can be placed only\MessageBreak +between column types.}% +\let\@IEEEBPcurtype=a% abort this glue +\fi% previous was a column +\fi% back-to-back glues +\fi% is start column glue +\fi% prev type not a +} + + +% process an acquired letter referenced column and, if necessary, add it to the preamble +\def\@IEEEprocessCcol{\if\@IEEEBPnexttype g\else +\if\@IEEEBPnexttype n\else +% we have a column followed by something other than a glue (or numeral glue) +% so we must add this column to the preamble now +\ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi%col separator for those after the first +\if\@IEEEBPnexttype e\@IEEEappendtoksA{\tabskip=\@IEEEBPendglue\relax}\else%put in end glue +\@IEEEappendtoksA{\tabskip=\@IEEEeqnarraycolSEPdefaultmid\relax}\fi% or default mid glue +\toks0={##}% +% make preamble advance col counter if this environment needs this +\if@advanceIEEEeqncolcnt\@IEEEappendtoksA{\global\advance\@IEEEeqncolcnt by 1\relax}\fi +% insert the column definition into the preamble, being careful not to expand +% the column definition +\@IEEEappendNOEXPANDtoksA{\begingroup\csname @IEEEeqnarraycolPRE}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname}% +\@IEEEappendtoksA{\the\toks0}% +\@IEEEappendNOEXPANDtoksA{\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\endgroup}% +\advance\@IEEEeqnnumcols by 1\relax%one more column in the preamble +\fi%next type not numeral +\fi%next type not glue +} + + +%% +%% END OF IEEEeqnarry DEFINITIONS +%% + + + + +% set up the running headings, this complex because of all the different +% modes IEEEtran supports +\if@twoside + \ifCLASSOPTIONtechnote + \def\ps@headings{% + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage} + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}} + \ifCLASSOPTIONdraftcls + \ifCLASSOPTIONdraftclsnofoot + \def\@oddfoot{}\def\@evenfoot{}% + \else + \def\@oddfoot{\scriptsize\@date\hfil DRAFT} + \def\@evenfoot{\scriptsize DRAFT\hfil\@date} + \fi + \else + \def\@oddfoot{}\def\@evenfoot{} + \fi} + \else % not a technote + \def\ps@headings{% + \ifCLASSOPTIONconference + \def\@oddhead{} + \def\@evenhead{} + \else + \def\@oddhead{\hbox{}\scriptsize\rightmark \hfil \thepage} + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}} + \fi + \ifCLASSOPTIONdraftcls + \def\@oddhead{\hbox{}\scriptsize\rightmark \hfil \thepage} + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}} + \ifCLASSOPTIONdraftclsnofoot + \def\@oddfoot{}\def\@evenfoot{}% + \else + \def\@oddfoot{\scriptsize\@date\hfil DRAFT} + \def\@evenfoot{\scriptsize DRAFT\hfil\@date} + \fi + \else + \def\@oddfoot{}\def\@evenfoot{}% + \fi} + \fi +\else % single side +\def\ps@headings{% + \ifCLASSOPTIONconference + \def\@oddhead{} + \def\@evenhead{} + \else + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage} + \def\@evenhead{} + \fi + \ifCLASSOPTIONdraftcls + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage} + \def\@evenhead{} + \ifCLASSOPTIONdraftclsnofoot + \def\@oddfoot{} + \else + \def\@oddfoot{\scriptsize \@date \hfil DRAFT} + \fi + \else + \def\@oddfoot{} + \fi + \def\@evenfoot{}} +\fi + + +% title page style +\def\ps@IEEEtitlepagestyle{\def\@oddfoot{}\def\@evenfoot{}% +\ifCLASSOPTIONconference + \def\@oddhead{}% + \def\@evenhead{}% +\else + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage}% + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}}% +\fi +\ifCLASSOPTIONdraftcls + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage}% + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}}% + \ifCLASSOPTIONdraftclsnofoot\else + \def\@oddfoot{\scriptsize \@date\hfil DRAFT}% + \def\@evenfoot{\scriptsize DRAFT\hfil \@date}% + \fi +\else + % all non-draft mode footers + \if@IEEEusingpubid + % for title pages that are using a pubid + % do not repeat pubid if using peer review option + \ifCLASSOPTIONpeerreview + \else + \footskip 0pt% + \ifCLASSOPTIONcompsoc + \def\@oddfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \else + \def\@oddfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \fi + \fi + \fi +\fi} + + +% peer review cover page style +\def\ps@IEEEpeerreviewcoverpagestyle{% +\def\@oddhead{}\def\@evenhead{}% +\def\@oddfoot{}\def\@evenfoot{}% +\ifCLASSOPTIONdraftcls + \ifCLASSOPTIONdraftclsnofoot\else + \def\@oddfoot{\scriptsize \@date\hfil DRAFT}% + \def\@evenfoot{\scriptsize DRAFT\hfil \@date}% + \fi +\else + % non-draft mode footers + \if@IEEEusingpubid + \footskip 0pt% + \ifCLASSOPTIONcompsoc + \def\@oddfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \else + \def\@oddfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \fi + \fi +\fi} + + +% start with empty headings +\def\rightmark{}\def\leftmark{} + + +%% Defines the command for putting the header. \footernote{TEXT} is the same +%% as \markboth{TEXT}{TEXT}. +%% Note that all the text is forced into uppercase, if you have some text +%% that needs to be in lower case, for instance et. al., then either manually +%% set \leftmark and \rightmark or use \MakeLowercase{et. al.} within the +%% arguments to \markboth. +\def\markboth#1#2{\def\leftmark{\@IEEEcompsoconly{\sffamily}\MakeUppercase{#1}}% +\def\rightmark{\@IEEEcompsoconly{\sffamily}\MakeUppercase{#2}}} +\def\footernote#1{\markboth{#1}{#1}} + +\def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} + + + + +%% CITATION AND BIBLIOGRAPHY COMMANDS +%% +%% V1.6 no longer supports the older, nonstandard \shortcite and \citename setup stuff +% +% +% Modify Latex2e \@citex to separate citations with "], [" +\def\@citex[#1]#2{% + \let\@citea\@empty + \@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{], [}% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}% + \G@refundefinedtrue + \@latex@warning + {Citation `\@citeb' on page \thepage \space undefined}}% + {\hbox{\csname b@\@citeb\endcsname}}}}{#1}} + +% V1.6 we create hooks for the optional use of Donald Arseneau's +% cite.sty package. cite.sty is "smart" and will notice that the +% following format controls are already defined and will not +% redefine them. The result will be the proper sorting of the +% citation numbers and auto detection of 3 or more entry "ranges" - +% all in IEEE style: [1], [2], [5]--[7], [12] +% This also allows for an optional note, i.e., \cite[mynote]{..}. +% If the \cite with note has more than one reference, the note will +% be applied to the last of the listed references. It is generally +% desired that if a note is given, only one reference is listed in +% that \cite. +% Thanks to Mr. Arseneau for providing the required format arguments +% to produce the IEEE style. +\def\citepunct{], [} +\def\citedash{]--[} + +% V1.7 default to using same font for urls made by url.sty +\AtBeginDocument{\csname url@samestyle\endcsname} + +% V1.6 class files should always provide these +\def\newblock{\hskip .11em\@plus.33em\@minus.07em} +\let\@openbib@code\@empty + + +% Provide support for the control entries of IEEEtran.bst V1.00 and later. +% V1.7 optional argument allows for a different aux file to be specified in +% order to handle multiple bibliographies. For example, with multibib.sty: +% \newcites{sec}{Secondary Literature} +% \bstctlcite[@auxoutsec]{BSTcontrolhak} +\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}} +\def\@bstctlcite[#1]#2{\@bsphack + \@for\@citeb:=#2\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}% + \@esphack} + +% V1.6 provide a way for a user to execute a command just before +% a given reference number - used to insert a \newpage to balance +% the columns on the last page +\edef\@IEEEtriggerrefnum{0} % the default of zero means that + % the command is not executed +\def\@IEEEtriggercmd{\newpage} + +% allow the user to alter the triggered command +\long\def\IEEEtriggercmd#1{\long\def\@IEEEtriggercmd{#1}} + +% allow user a way to specify the reference number just before the +% command is executed +\def\IEEEtriggeratref#1{\@IEEEtrantmpcountA=#1% +\edef\@IEEEtriggerrefnum{\the\@IEEEtrantmpcountA}}% + +% trigger command at the given reference +\def\@IEEEbibitemprefix{\@IEEEtrantmpcountA=\@IEEEtriggerrefnum\relax% +\advance\@IEEEtrantmpcountA by -1\relax% +\ifnum\c@enumiv=\@IEEEtrantmpcountA\relax\@IEEEtriggercmd\relax\fi} + + +\def\@biblabel#1{[#1]} + +% compsoc journals left align the reference numbers +\@IEEEcompsocnotconfonly{\def\@biblabel#1{[#1]\hfill}} + +% controls bib item spacing +\def\IEEEbibitemsep{2.5pt plus .5pt} + +\@IEEEcompsocconfonly{\def\IEEEbibitemsep{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}} + + +\def\thebibliography#1{\section*{\refname}% + \addcontentsline{toc}{section}{\refname}% + % V1.6 add some rubber space here and provide a command trigger + \footnotesize\@IEEEcompsocconfonly{\small}\vskip 0.3\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \labelsep 1em + \advance\leftmargin\labelsep\relax + \itemsep \IEEEbibitemsep\relax + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \let\@IEEElatexbibitem\bibitem% + \def\bibitem{\@IEEEbibitemprefix\@IEEElatexbibitem}% +\def\newblock{\hskip .11em plus .33em minus .07em}% +% originally: +% \sloppy\clubpenalty4000\widowpenalty4000% +% by adding the \interlinepenalty here, we make it more +% difficult, but not impossible, for LaTeX to break within a reference. +% IEEE almost never breaks a reference (but they do it more often with +% technotes). You may get an underfull vbox warning around the bibliography, +% but the final result will be much more like what IEEE will publish. +% MDS 11/2000 +\ifCLASSOPTIONtechnote\sloppy\clubpenalty4000\widowpenalty4000\interlinepenalty100% +\else\sloppy\clubpenalty4000\widowpenalty4000\interlinepenalty500\fi% + \sfcode`\.=1000\relax} +\let\endthebibliography=\endlist + + + + +% TITLE PAGE COMMANDS +% +% +% \IEEEmembership is used to produce the sublargesize italic font used to indicate author +% IEEE membership. compsoc uses a large size sans slant font +\def\IEEEmembership#1{{\@IEEEnotcompsoconly{\sublargesize}\normalfont\@IEEEcompsoconly{\sffamily}\textit{#1}}} + + +% \IEEEauthorrefmark{} produces a footnote type symbol to indicate author affiliation. +% When given an argument of 1 to 9, \IEEEauthorrefmark{} follows the standard LaTeX footnote +% symbol sequence convention. However, for arguments 10 and above, \IEEEauthorrefmark{} +% reverts to using lower case roman numerals, so it cannot overflow. Do note that you +% cannot use \footnotemark[] in place of \IEEEauthorrefmark{} within \author as the footnote +% symbols will have been turned off to prevent \thanks from creating footnote marks. +% \IEEEauthorrefmark{} produces a symbol that appears to LaTeX as having zero vertical +% height - this allows for a more compact line packing, but the user must ensure that +% the interline spacing is large enough to prevent \IEEEauthorrefmark{} from colliding +% with the text above. +% V1.7 make this a robust command +\DeclareRobustCommand*{\IEEEauthorrefmark}[1]{\raisebox{0pt}[0pt][0pt]{\textsuperscript{\footnotesize\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or% + \mathsection\or \mathparagraph\or \|\or **\or \dagger\dagger% + \or \ddagger\ddagger \else\textsuperscript{\expandafter\romannumeral#1}\fi}}}} + + +% FONT CONTROLS AND SPACINGS FOR CONFERENCE MODE AUTHOR NAME AND AFFILIATION BLOCKS +% +% The default font styles for the author name and affiliation blocks (confmode) +\def\@IEEEauthorblockNstyle{\normalfont\@IEEEcompsocnotconfonly{\sffamily}\sublargesize\@IEEEcompsocconfonly{\large}} +\def\@IEEEauthorblockAstyle{\normalfont\@IEEEcompsocnotconfonly{\sffamily}\@IEEEcompsocconfonly{\itshape}\normalsize\@IEEEcompsocconfonly{\large}} +% The default if the user does not use an author block +\def\@IEEEauthordefaulttextstyle{\normalfont\@IEEEcompsocnotconfonly{\sffamily}\sublargesize} + +% spacing from title (or special paper notice) to author name blocks (confmode) +% can be negative +\def\@IEEEauthorblockconfadjspace{-0.25em} +% compsoc conferences need more space here +\@IEEEcompsocconfonly{\def\@IEEEauthorblockconfadjspace{0.75\@IEEEnormalsizeunitybaselineskip}} +\ifCLASSOPTIONconference\def\@IEEEauthorblockconfadjspace{20pt}\fi + +% spacing between name and affiliation blocks (confmode) +% This can be negative. +% IEEE doesn't want any added spacing here, but I will leave these +% controls in place in case they ever change their mind. +% Personally, I like 0.75ex. +%\def\@IEEEauthorblockNtopspace{0.75ex} +%\def\@IEEEauthorblockAtopspace{0.75ex} +\def\@IEEEauthorblockNtopspace{0.0ex} +\def\@IEEEauthorblockAtopspace{0.0ex} +% baseline spacing within name and affiliation blocks (confmode) +% must be positive, spacings below certain values will make +% the position of line of text sensitive to the contents of the +% line above it i.e., whether or not the prior line has descenders, +% subscripts, etc. For this reason it is a good idea to keep +% these above 2.6ex +\def\@IEEEauthorblockNinterlinespace{2.6ex} +\def\@IEEEauthorblockAinterlinespace{2.75ex} + +% This tracks the required strut size. +% See the \@IEEEauthorhalign command for the actual default value used. +\def\@IEEEauthorblockXinterlinespace{2.7ex} + +% variables to retain font size and style across groups +% values given here have no effect as they will be overwritten later +\gdef\@IEEESAVESTATEfontsize{10} +\gdef\@IEEESAVESTATEfontbaselineskip{12} +\gdef\@IEEESAVESTATEfontencoding{OT1} +\gdef\@IEEESAVESTATEfontfamily{ptm} +\gdef\@IEEESAVESTATEfontseries{m} +\gdef\@IEEESAVESTATEfontshape{n} + +% saves the current font attributes +\def\@IEEEcurfontSAVE{\global\let\@IEEESAVESTATEfontsize\f@size% +\global\let\@IEEESAVESTATEfontbaselineskip\f@baselineskip% +\global\let\@IEEESAVESTATEfontencoding\f@encoding% +\global\let\@IEEESAVESTATEfontfamily\f@family% +\global\let\@IEEESAVESTATEfontseries\f@series% +\global\let\@IEEESAVESTATEfontshape\f@shape} + +% restores the saved font attributes +\def\@IEEEcurfontRESTORE{\fontsize{\@IEEESAVESTATEfontsize}{\@IEEESAVESTATEfontbaselineskip}% +\fontencoding{\@IEEESAVESTATEfontencoding}% +\fontfamily{\@IEEESAVESTATEfontfamily}% +\fontseries{\@IEEESAVESTATEfontseries}% +\fontshape{\@IEEESAVESTATEfontshape}% +\selectfont} + + +% variable to indicate if the current block is the first block in the column +\newif\if@IEEEprevauthorblockincol \@IEEEprevauthorblockincolfalse + + +% the command places a strut with height and depth = \@IEEEauthorblockXinterlinespace +% we use this technique to have complete manual control over the spacing of the lines +% within the halign environment. +% We set the below baseline portion at 30%, the above +% baseline portion at 70% of the total length. +% Responds to changes in the document's \baselinestretch +\def\@IEEEauthorstrutrule{\@IEEEtrantmpdimenA\@IEEEauthorblockXinterlinespace% +\@IEEEtrantmpdimenA=\baselinestretch\@IEEEtrantmpdimenA% +\rule[-0.3\@IEEEtrantmpdimenA]{0pt}{\@IEEEtrantmpdimenA}} + + +% blocks to hold the authors' names and affilations. +% Makes formatting easy for conferences +% +% use real definitions in conference mode +% name block +\def\IEEEauthorblockN#1{\relax\@IEEEauthorblockNstyle% set the default text style +\gdef\@IEEEauthorblockXinterlinespace{0pt}% disable strut for spacer row +% the \expandafter hides the \cr in conditional tex, see the array.sty docs +% for details, probably not needed here as the \cr is in a macro +% do a spacer row if needed +\if@IEEEprevauthorblockincol\expandafter\@IEEEauthorblockNtopspaceline\fi +\global\@IEEEprevauthorblockincoltrue% we now have a block in this column +%restore the correct strut value +\gdef\@IEEEauthorblockXinterlinespace{\@IEEEauthorblockNinterlinespace}% +% input the author names +#1% +% end the row if the user did not already +\crcr} +% spacer row for names +\def\@IEEEauthorblockNtopspaceline{\cr\noalign{\vskip\@IEEEauthorblockNtopspace}} +% +% affiliation block +\def\IEEEauthorblockA#1{\relax\@IEEEauthorblockAstyle% set the default text style +\gdef\@IEEEauthorblockXinterlinespace{0pt}%disable strut for spacer row +% the \expandafter hides the \cr in conditional tex, see the array.sty docs +% for details, probably not needed here as the \cr is in a macro +% do a spacer row if needed +\if@IEEEprevauthorblockincol\expandafter\@IEEEauthorblockAtopspaceline\fi +\global\@IEEEprevauthorblockincoltrue% we now have a block in this column +%restore the correct strut value +\gdef\@IEEEauthorblockXinterlinespace{\@IEEEauthorblockAinterlinespace}% +% input the author affiliations +#1% +% end the row if the user did not already +\crcr} +% spacer row for affiliations +\def\@IEEEauthorblockAtopspaceline{\cr\noalign{\vskip\@IEEEauthorblockAtopspace}} + + +% allow papers to compile even if author blocks are used in modes other +% than conference or peerreviewca. For such cases, we provide dummy blocks. +\ifCLASSOPTIONconference +\else + \ifCLASSOPTIONpeerreviewca\else + % not conference or peerreviewca mode + \def\IEEEauthorblockN#1{#1}% + \def\IEEEauthorblockA#1{#1}% + \fi +\fi + + + +% we provide our own halign so as not to have to depend on tabular +\def\@IEEEauthorhalign{\@IEEEauthordefaulttextstyle% default text style + \lineskip=0pt\relax% disable line spacing + \lineskiplimit=0pt\relax% + \baselineskip=0pt\relax% + \@IEEEcurfontSAVE% save the current font + \mathsurround\z@\relax% no extra spacing around math + \let\\\@IEEEauthorhaligncr% replace newline with halign friendly one + \tabskip=0pt\relax% no column spacing + \everycr{}% ensure no problems here + \@IEEEprevauthorblockincolfalse% no author blocks yet + \def\@IEEEauthorblockXinterlinespace{2.7ex}% default interline space + \vtop\bgroup%vtop box + \halign\bgroup&\relax\hfil\@IEEEcurfontRESTORE\relax ##\relax + \hfil\@IEEEcurfontSAVE\@IEEEauthorstrutrule\cr} + +% ensure last line, exit from halign, close vbox +\def\end@IEEEauthorhalign{\crcr\egroup\egroup} + +% handle bogus star form +\def\@IEEEauthorhaligncr{{\ifnum0=`}\fi\@ifstar{\@@IEEEauthorhaligncr}{\@@IEEEauthorhaligncr}} + +% test and setup the optional argument to \\[] +\def\@@IEEEauthorhaligncr{\@testopt\@@@IEEEauthorhaligncr\z@skip} + +% end the line and do the optional spacer +\def\@@@IEEEauthorhaligncr[#1]{\ifnum0=`{\fi}\cr\noalign{\vskip#1\relax}} + + + +% flag to prevent multiple \and warning messages +\newif\if@IEEEWARNand +\@IEEEWARNandtrue + +% if in conference or peerreviewca modes, we support the use of \and as \author is a +% tabular environment, otherwise we warn the user that \and is invalid +% outside of conference or peerreviewca modes. +\def\and{\relax} % provide a bogus \and that we will then override + +\renewcommand{\and}[1][\relax]{\if@IEEEWARNand\typeout{** WARNING: \noexpand\and is valid only + when in conference or peerreviewca}\typeout{modes (line \the\inputlineno).}\fi\global\@IEEEWARNandfalse} + +\ifCLASSOPTIONconference% +\renewcommand{\and}[1][\hfill]{\end{@IEEEauthorhalign}#1\begin{@IEEEauthorhalign}}% +\fi +\ifCLASSOPTIONpeerreviewca +\renewcommand{\and}[1][\hfill]{\end{@IEEEauthorhalign}#1\begin{@IEEEauthorhalign}}% +\fi + + +% page clearing command +% based on LaTeX2e's \cleardoublepage, but allows different page styles +% for the inserted blank pages +\def\@IEEEcleardoublepage#1{\clearpage\if@twoside\ifodd\c@page\else +\hbox{}\thispagestyle{#1}\newpage\if@twocolumn\hbox{}\thispagestyle{#1}\newpage\fi\fi\fi} + + +% user command to invoke the title page +\def\maketitle{\par% + \begingroup% + \normalfont% + \def\thefootnote{}% the \thanks{} mark type is empty + \def\footnotemark{}% and kill space from \thanks within author + \let\@makefnmark\relax% V1.7, must *really* kill footnotemark to remove all \textsuperscript spacing as well. + \footnotesize% equal spacing between thanks lines + \footnotesep 0.7\baselineskip%see global setting of \footnotesep for more info + % V1.7 disable \thanks note indention for compsoc + \@IEEEcompsoconly{\long\def\@makefntext##1{\parindent 1em\noindent\hbox{\@makefnmark}##1}}% + \normalsize% + \ifCLASSOPTIONpeerreview + \newpage\global\@topnum\z@ \@maketitle\@IEEEstatictitlevskip\@IEEEaftertitletext% + \thispagestyle{IEEEpeerreviewcoverpagestyle}\@thanks% + \else + \if@twocolumn% + \ifCLASSOPTIONtechnote% + \newpage\global\@topnum\z@ \@maketitle\@IEEEstatictitlevskip\@IEEEaftertitletext% + \else + \twocolumn[\@maketitle\@IEEEstatictitlevskip\@IEEEaftertitletext]% + \fi + \else + \newpage\global\@topnum\z@ \@maketitle\@IEEEstatictitlevskip\@IEEEaftertitletext% + \fi + \thispagestyle{IEEEtitlepagestyle}\@thanks% + \fi + % pullup page for pubid if used. + \if@IEEEusingpubid + \enlargethispage{-\@IEEEpubidpullup}% + \fi + \endgroup + \setcounter{footnote}{0}\let\maketitle\relax\let\@maketitle\relax + \gdef\@thanks{}% + % v1.6b do not clear these as we will need the title again for peer review papers + % \gdef\@author{}\gdef\@title{}% + \let\thanks\relax} + + + +% V1.7 parbox to format \@IEEEcompsoctitleabstractindextext +\long\def\@IEEEcompsoctitleabstractindextextbox#1{\parbox{0.915\textwidth}{#1}} + +% formats the Title, authors names, affiliations and special paper notice +% THIS IS A CONTROLLED SPACING COMMAND! Do not allow blank lines or unintentional +% spaces to enter the definition - use % at the end of each line +\def\@maketitle{\newpage +\begingroup\centering +\ifCLASSOPTIONtechnote% technotes + {\bfseries\large\@IEEEcompsoconly{\sffamily}\@title\par}\vskip 1.3em{\lineskip .5em\@IEEEcompsoconly{\sffamily}\@author + \@IEEEspecialpapernotice\par{\@IEEEcompsoconly{\vskip 1.5em\relax + \@IEEEcompsoctitleabstractindextextbox{\@IEEEcompsoctitleabstractindextext}\par + \hfill\@IEEEcompsocdiamondline\hfill\hbox{}\par}}}\relax +\else% not a technote + \vskip0.2em{\Huge\@IEEEcompsoconly{\sffamily}\@IEEEcompsocconfonly{\normalfont\normalsize\vskip 2\@IEEEnormalsizeunitybaselineskip + \bfseries\Large}\@title\par}\vskip1.0em\par% + % V1.6 handle \author differently if in conference mode + \ifCLASSOPTIONconference% + {\@IEEEspecialpapernotice\mbox{}\vskip\@IEEEauthorblockconfadjspace% + \mbox{}\hfill\begin{@IEEEauthorhalign}\@author\end{@IEEEauthorhalign}\hfill\mbox{}\par}\relax + \else% peerreviewca, peerreview or journal + \ifCLASSOPTIONpeerreviewca + % peerreviewca handles author names just like conference mode + {\@IEEEcompsoconly{\sffamily}\@IEEEspecialpapernotice\mbox{}\vskip\@IEEEauthorblockconfadjspace% + \mbox{}\hfill\begin{@IEEEauthorhalign}\@author\end{@IEEEauthorhalign}\hfill\mbox{}\par + {\@IEEEcompsoconly{\vskip 1.5em\relax + \@IEEEcompsoctitleabstractindextextbox{\@IEEEcompsoctitleabstractindextext}\par\hfill + \@IEEEcompsocdiamondline\hfill\hbox{}\par}}}\relax + \else% journal or peerreview + {\lineskip.5em\@IEEEcompsoconly{\sffamily}\sublargesize\@author\@IEEEspecialpapernotice\par + {\@IEEEcompsoconly{\vskip 1.5em\relax + \@IEEEcompsoctitleabstractindextextbox{\@IEEEcompsoctitleabstractindextext}\par\hfill + \@IEEEcompsocdiamondline\hfill\hbox{}\par}}}\relax + \fi + \fi +\fi\par\endgroup} + + + +% V1.7 Computer Society "diamond line" which follows index terms for nonconference papers +\def\@IEEEcompsocdiamondline{\vrule depth 0pt height 0.5pt width 4cm\hspace{7.5pt}% +\raisebox{-3.5pt}{\fontfamily{pzd}\fontencoding{U}\fontseries{m}\fontshape{n}\fontsize{11}{12}\selectfont\char70}% +\hspace{7.5pt}\vrule depth 0pt height 0.5pt width 4cm\relax} + +% V1.7 standard LateX2e \thanks, but with \itshape under compsoc. Also make it a \long\def +% We also need to trigger the one-shot footnote rule +\def\@IEEEtriggeroneshotfootnoterule{\global\@IEEEenableoneshotfootnoteruletrue} + + +\long\def\thanks#1{\footnotemark + \protected@xdef\@thanks{\@thanks + \protect\footnotetext[\the\c@footnote]{\@IEEEcompsoconly{\itshape + \protect\@IEEEtriggeroneshotfootnoterule\relax}\ignorespaces#1}}} +\let\@thanks\@empty + +% V1.7 allow \author to contain \par's. This is needed to allow \thanks to contain \par. +\long\def\author#1{\gdef\@author{#1}} + + +% in addition to setting up IEEEitemize, we need to remove a baselineskip space above and +% below it because \list's \pars introduce blank lines because of the footnote struts. +\def\@IEEEsetupcompsocitemizelist{\def\labelitemi{$\bullet$}% +\setlength{\IEEElabelindent}{0pt}\setlength{\parskip}{0pt}% +\setlength{\partopsep}{0pt}\setlength{\topsep}{0.5\baselineskip}\vspace{-1\baselineskip}\relax} + + +% flag for fake non-compsoc \IEEEcompsocthanksitem - prevents line break on very first item +\newif\if@IEEEbreakcompsocthanksitem \@IEEEbreakcompsocthanksitemfalse + +\ifCLASSOPTIONcompsoc +% V1.7 compsoc bullet item \thanks +% also, we need to redefine this to destroy the argument in \@IEEEdynamictitlevspace +\long\def\IEEEcompsocitemizethanks#1{\relax\@IEEEbreakcompsocthanksitemfalse\footnotemark + \protected@xdef\@thanks{\@thanks + \protect\footnotetext[\the\c@footnote]{\itshape\protect\@IEEEtriggeroneshotfootnoterule + {\let\IEEEiedlistdecl\relax\protect\begin{IEEEitemize}[\protect\@IEEEsetupcompsocitemizelist]\ignorespaces#1\relax + \protect\end{IEEEitemize}}\protect\vspace{-1\baselineskip}}}} +\DeclareRobustCommand*{\IEEEcompsocthanksitem}{\item} +\else +% non-compsoc, allow for dual compilation via rerouting to normal \thanks +\long\def\IEEEcompsocitemizethanks#1{\thanks{#1}} +% redirect to "pseudo-par" \hfil\break\indent after swallowing [] from \IEEEcompsocthanksitem[] +\DeclareRobustCommand{\IEEEcompsocthanksitem}{\@ifnextchar [{\@IEEEthanksswallowoptionalarg}% +{\@IEEEthanksswallowoptionalarg[\relax]}} +% be sure and break only after first item, be sure and ignore spaces after optional argument +\def\@IEEEthanksswallowoptionalarg[#1]{\relax\if@IEEEbreakcompsocthanksitem\hfil\break +\indent\fi\@IEEEbreakcompsocthanksitemtrue\ignorespaces} +\fi + + +% V1.6b define the \IEEEpeerreviewmaketitle as needed +\ifCLASSOPTIONpeerreview +\def\IEEEpeerreviewmaketitle{\@IEEEcleardoublepage{empty}% +\ifCLASSOPTIONtwocolumn +\twocolumn[\@IEEEpeerreviewmaketitle\@IEEEdynamictitlevspace] +\else +\newpage\@IEEEpeerreviewmaketitle\@IEEEstatictitlevskip +\fi +\thispagestyle{IEEEtitlepagestyle}} +\else +% \IEEEpeerreviewmaketitle does nothing if peer review option has not been selected +\def\IEEEpeerreviewmaketitle{\relax} +\fi + +% peerreview formats the repeated title like the title in journal papers. +\def\@IEEEpeerreviewmaketitle{\begin{center}\@IEEEcompsoconly{\sffamily}% +\normalfont\normalsize\vskip0.2em{\Huge\@title\par}\vskip1.0em\par +\end{center}} + + + +% V1.6 +% this is a static rubber spacer between the title/authors and the main text +% used for single column text, or when the title appears in the first column +% of two column text (technotes). +\def\@IEEEstatictitlevskip{{\normalfont\normalsize +% adjust spacing to next text +% v1.6b handle peer review papers +\ifCLASSOPTIONpeerreview +% for peer review papers, the same value is used for both title pages +% regardless of the other paper modes + \vskip 1\baselineskip plus 0.375\baselineskip minus 0.1875\baselineskip +\else + \ifCLASSOPTIONconference% conference + \vskip 0.6\baselineskip + \else% + \ifCLASSOPTIONtechnote% technote + \vskip 1\baselineskip plus 0.375\baselineskip minus 0.1875\baselineskip% + \else% journal uses more space + \vskip 2.5\baselineskip plus 0.75\baselineskip minus 0.375\baselineskip% + \fi + \fi +\fi}} + + +% V1.6 +% This is a dynamically determined rigid spacer between the title/authors +% and the main text. This is used only for single column titles over two +% column text (most common) +% This is bit tricky because we have to ensure that the textheight of the +% main text is an integer multiple of \baselineskip +% otherwise underfull vbox problems may develop in the second column of the +% text on the titlepage +% The possible use of \IEEEpubid must also be taken into account. +\def\@IEEEdynamictitlevspace{{% + % we run within a group so that all the macros can be forgotten when we are done + \long\def\thanks##1{\relax}%don't allow \thanks to run when we evaluate the vbox height + \long\def\IEEEcompsocitemizethanks##1{\relax}%don't allow \IEEEcompsocitemizethanks to run when we evaluate the vbox height + \normalfont\normalsize% we declare more descriptive variable names + \let\@IEEEmaintextheight=\@IEEEtrantmpdimenA%height of the main text columns + \let\@IEEEINTmaintextheight=\@IEEEtrantmpdimenB%height of the main text columns with integer # lines + % set the nominal and minimum values for the title spacer + % the dynamic algorithm will not allow the spacer size to + % become less than \@IEEEMINtitlevspace - instead it will be + % lengthened + % default to journal values + \def\@IEEENORMtitlevspace{2.5\baselineskip}% + \def\@IEEEMINtitlevspace{2\baselineskip}% + % conferences and technotes need tighter spacing + \ifCLASSOPTIONconference%conference + \def\@IEEENORMtitlevspace{1\baselineskip}% + \def\@IEEEMINtitlevspace{0.75\baselineskip}% + \fi + \ifCLASSOPTIONtechnote%technote + \def\@IEEENORMtitlevspace{1\baselineskip}% + \def\@IEEEMINtitlevspace{0.75\baselineskip}% + \fi% + % get the height that the title will take up + \ifCLASSOPTIONpeerreview + \settoheight{\@IEEEmaintextheight}{\vbox{\hsize\textwidth \@IEEEpeerreviewmaketitle}}% + \else + \settoheight{\@IEEEmaintextheight}{\vbox{\hsize\textwidth \@maketitle}}% + \fi + \@IEEEmaintextheight=-\@IEEEmaintextheight% title takes away from maintext, so reverse sign + % add the height of the page textheight + \advance\@IEEEmaintextheight by \textheight% + % correct for title pages using pubid + \ifCLASSOPTIONpeerreview\else + % peerreview papers use the pubid on the cover page only. + % And the cover page uses a static spacer. + \if@IEEEusingpubid\advance\@IEEEmaintextheight by -\@IEEEpubidpullup\fi + \fi% + % subtract off the nominal value of the title bottom spacer + \advance\@IEEEmaintextheight by -\@IEEENORMtitlevspace% + % \topskip takes away some too + \advance\@IEEEmaintextheight by -\topskip% + % calculate the column height of the main text for lines + % now we calculate the main text height as if holding + % an integer number of \normalsize lines after the first + % and discard any excess fractional remainder + % we subtracted the first line, because the first line + % is placed \topskip into the maintext, not \baselineskip like the + % rest of the lines. + \@IEEEINTmaintextheight=\@IEEEmaintextheight% + \divide\@IEEEINTmaintextheight by \baselineskip% + \multiply\@IEEEINTmaintextheight by \baselineskip% + % now we calculate how much the title spacer height will + % have to be reduced from nominal (\@IEEEREDUCEmaintextheight is always + % a positive value) so that the maintext area will contain an integer + % number of normal size lines + % we change variable names here (to avoid confusion) as we no longer + % need \@IEEEINTmaintextheight and can reuse its dimen register + \let\@IEEEREDUCEmaintextheight=\@IEEEINTmaintextheight% + \advance\@IEEEREDUCEmaintextheight by -\@IEEEmaintextheight% + \advance\@IEEEREDUCEmaintextheight by \baselineskip% + % this is the calculated height of the spacer + % we change variable names here (to avoid confusion) as we no longer + % need \@IEEEmaintextheight and can reuse its dimen register + \let\@IEEECOMPENSATElen=\@IEEEmaintextheight% + \@IEEECOMPENSATElen=\@IEEENORMtitlevspace% set the nominal value + % we go with the reduced length if it is smaller than an increase + \ifdim\@IEEEREDUCEmaintextheight < 0.5\baselineskip\relax% + \advance\@IEEECOMPENSATElen by -\@IEEEREDUCEmaintextheight% + % if the resulting spacer is too small back out and go with an increase instead + \ifdim\@IEEECOMPENSATElen<\@IEEEMINtitlevspace\relax% + \advance\@IEEECOMPENSATElen by \baselineskip% + \fi% + \else% + % go with an increase because it is closer to the nominal than a decrease + \advance\@IEEECOMPENSATElen by -\@IEEEREDUCEmaintextheight% + \advance\@IEEECOMPENSATElen by \baselineskip% + \fi% + % set the calculated rigid spacer + \vspace{\@IEEECOMPENSATElen}}} + + + +% V1.6 +% we allow the user access to the last part of the title area +% useful in emergencies such as when a different spacing is needed +% This text is NOT compensated for in the dynamic sizer. +\let\@IEEEaftertitletext=\relax +\long\def\IEEEaftertitletext#1{\def\@IEEEaftertitletext{#1}} + +% V1.7 provide a way for users to enter abstract and keywords +% into the onecolumn title are. This text is compensated for +% in the dynamic sizer. +\let\@IEEEcompsoctitleabstractindextext=\relax +\long\def\IEEEcompsoctitleabstractindextext#1{\def\@IEEEcompsoctitleabstractindextext{#1}} +% V1.7 provide a way for users to get the \@IEEEcompsoctitleabstractindextext if +% not in compsoc journal mode - this way abstract and keywords can be placed +% in their conventional position if not in compsoc mode. +\def\IEEEdisplaynotcompsoctitleabstractindextext{% +\ifCLASSOPTIONcompsoc% display if compsoc conf +\ifCLASSOPTIONconference\@IEEEcompsoctitleabstractindextext\fi +\else% or if not compsoc +\@IEEEcompsoctitleabstractindextext\fi} + + +% command to allow alteration of baselinestretch, but only if the current +% baselineskip is unity. Used to tweak the compsoc abstract and keywords line spacing. +\def\@IEEEtweakunitybaselinestretch#1{{\def\baselinestretch{1}\selectfont +\global\@tempskipa\baselineskip}\ifnum\@tempskipa=\baselineskip% +\def\baselinestretch{#1}\selectfont\fi\relax} + + +% abstract and keywords are in \small, except +% for 9pt docs in which they are in \footnotesize +% Because 9pt docs use an 8pt footnotesize, \small +% becomes a rather awkward 8.5pt +\def\@IEEEabskeysecsize{\small} +\ifx\CLASSOPTIONpt\@IEEEptsizenine + \def\@IEEEabskeysecsize{\footnotesize} +\fi + +% compsoc journals use \footnotesize, compsoc conferences use normalsize +\@IEEEcompsoconly{\def\@IEEEabskeysecsize{\footnotesize}} +\@IEEEcompsocconfonly{\def\@IEEEabskeysecsize{\normalsize}} + + + + +% V1.6 have abstract and keywords strip leading spaces, pars and newlines +% so that spacing is more tightly controlled. +\def\abstract{\normalfont + \if@twocolumn + \par\@IEEEabskeysecsize\bfseries\leavevmode\kern-1pt\textit{\abstractname}---\relax + \else + \begin{center}\vspace{-1.78ex}\@IEEEabskeysecsize\textbf{\abstractname}\end{center}\quotation\@IEEEabskeysecsize + \fi\@IEEEgobbleleadPARNLSP} +% V1.6 IEEE wants only 1 pica from end of abstract to introduction heading when in +% conference mode (the heading already has this much above it) +\def\endabstract{\relax\ifCLASSOPTIONconference\vspace{0ex}\else\vspace{1.34ex}\fi\par\if@twocolumn\else\endquotation\fi + \normalfont\normalsize} + +\def\IEEEkeywords{\normalfont + \if@twocolumn + \@IEEEabskeysecsize\bfseries\leavevmode\kern-1pt\textit{\IEEEkeywordsname}---\relax + \else + \begin{center}\@IEEEabskeysecsize\textbf{\IEEEkeywordsname}\end{center}\quotation\@IEEEabskeysecsize + \fi\itshape\@IEEEgobbleleadPARNLSP} +\def\endIEEEkeywords{\relax\ifCLASSOPTIONtechnote\vspace{1.34ex}\else\vspace{0.5ex}\fi + \par\if@twocolumn\else\endquotation\fi% + \normalfont\normalsize} + +% V1.7 compsoc keywords index terms +\ifCLASSOPTIONcompsoc + \ifCLASSOPTIONconference% compsoc conference +\def\abstract{\normalfont + \begin{center}\@IEEEabskeysecsize\textbf{\large\abstractname}\end{center}\vskip 0.5\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip + \if@twocolumn\else\quotation\fi\itshape\@IEEEabskeysecsize% + \par\@IEEEgobbleleadPARNLSP} +\def\IEEEkeywords{\normalfont\vskip 1.5\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip + \begin{center}\@IEEEabskeysecsize\textbf{\large\IEEEkeywordsname}\end{center}\vskip 0.5\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip + \if@twocolumn\else\quotation\fi\itshape\@IEEEabskeysecsize% + \par\@IEEEgobbleleadPARNLSP} + \else% compsoc not conference +\def\abstract{\normalfont\@IEEEtweakunitybaselinestretch{1.15}\sffamily + \if@twocolumn + \@IEEEabskeysecsize\noindent\textbf{\abstractname}---\relax + \else + \begin{center}\vspace{-1.78ex}\@IEEEabskeysecsize\textbf{\abstractname}\end{center}\quotation\@IEEEabskeysecsize% + \fi\@IEEEgobbleleadPARNLSP} +\def\IEEEkeywords{\normalfont\@IEEEtweakunitybaselinestretch{1.15}\sffamily + \if@twocolumn + \@IEEEabskeysecsize\vskip 0.5\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip\noindent + \textbf{\IEEEkeywordsname}---\relax + \else + \begin{center}\@IEEEabskeysecsize\textbf{\IEEEkeywordsname}\end{center}\quotation\@IEEEabskeysecsize% + \fi\@IEEEgobbleleadPARNLSP} + \fi +\fi + + + +% gobbles all leading \, \\ and \par, upon finding first token that +% is not a \ , \\ or a \par, it ceases and returns that token +% +% used to strip leading \, \\ and \par from the input +% so that such things in the beginning of an environment will not +% affect the formatting of the text +\long\def\@IEEEgobbleleadPARNLSP#1{\let\@IEEEswallowthistoken=0% +\let\@IEEEgobbleleadPARNLSPtoken#1% +\let\@IEEEgobbleleadPARtoken=\par% +\let\@IEEEgobbleleadNLtoken=\\% +\let\@IEEEgobbleleadSPtoken=\ % +\def\@IEEEgobbleleadSPMACRO{\ }% +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadPARtoken% +\let\@IEEEswallowthistoken=1% +\fi% +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadNLtoken% +\let\@IEEEswallowthistoken=1% +\fi% +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadSPtoken% +\let\@IEEEswallowthistoken=1% +\fi% +% a control space will come in as a macro +% when it is the last one on a line +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadSPMACRO% +\let\@IEEEswallowthistoken=1% +\fi% +% if we have to swallow this token, do so and taste the next one +% else spit it out and stop gobbling +\ifx\@IEEEswallowthistoken 1\let\@IEEEnextgobbleleadPARNLSP=\@IEEEgobbleleadPARNLSP\else% +\let\@IEEEnextgobbleleadPARNLSP=#1\fi% +\@IEEEnextgobbleleadPARNLSP}% + + + + +% TITLING OF SECTIONS +\def\@IEEEsectpunct{:\ \,} % Punctuation after run-in section heading (headings which are + % part of the paragraphs), need little bit more than a single space + % spacing from section number to title +% compsoc conferences use regular period/space punctuation +\ifCLASSOPTIONcompsoc +\ifCLASSOPTIONconference +\def\@IEEEsectpunct{.\ } +\fi\fi + +\def\@seccntformat#1{\hb@xt@ 1.4em{\csname the#1dis\endcsname\hss\relax}} +\def\@seccntformatinl#1{\hb@xt@ 1.1em{\csname the#1dis\endcsname\hss\relax}} +\def\@seccntformatch#1{\csname the#1dis\endcsname\hskip 1em\relax} + +\ifCLASSOPTIONcompsoc +% compsoc journals need extra spacing +\ifCLASSOPTIONconference\else +\def\@seccntformat#1{\csname the#1dis\endcsname\hskip 1em\relax} +\fi\fi + +%v1.7 put {} after #6 to allow for some types of user font control +%and use \@@par rather than \par +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + % load section label and spacer into \@svsec + \ifnum #2=1 + \protected@edef\@svsec{\@seccntformatch{#1}\relax}% + \else + \ifnum #2>2 + \protected@edef\@svsec{\@seccntformatinl{#1}\relax}% + \else + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi + \fi + \fi% + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@% tempskipa determines whether is treated as a high + \begingroup #6{\relax% or low level heading + \noindent % subsections are NOT indented + % print top level headings. \@svsec is label, #8 is heading title + % IEEE does not block indent the section title text, it flows like normal + {\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\@@par}}% + \endgroup + \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth\relax\else + \protect\numberline{\csname the#1\endcsname}\fi#7}% + \else % printout low level headings + % svsechd seems to swallow the trailing space, protect it with \mbox{} + % got rid of sectionmark stuff + \def\@svsechd{#6{\hskip #3\relax\@svsec #8\@IEEEsectpunct\mbox{}}% + \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth\relax\else + \protect\numberline{\csname the#1\endcsname}\fi#7}}% + \fi%skip down + \@xsect{#5}} + + +% section* handler +%v1.7 put {} after #4 to allow for some types of user font control +%and use \@@par rather than \par +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + %\begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M #5\par}\endgroup + % IEEE does not block indent the section title text, it flows like normal + \begingroup \noindent #4{\relax{\hskip #1}{\interlinepenalty \@M #5\@@par}}\endgroup + % svsechd swallows the trailing space, protect it with \mbox{} + \else \def\@svsechd{#4{\hskip #1\relax #5\@IEEEsectpunct\mbox{}}}\fi + \@xsect{#3}} + + +%% SECTION heading spacing and font +%% +% arguments are: #1 - sectiontype name +% (for \@sect) #2 - section level +% #3 - section heading indent +% #4 - top separation (absolute value used, neg indicates not to indent main text) +% If negative, make stretch parts negative too! +% #5 - (absolute value used) positive: bottom separation after heading, +% negative: amount to indent main text after heading +% Both #4 and #5 negative means to indent main text and use negative top separation +% #6 - font control +% You've got to have \normalfont\normalsize in the font specs below to prevent +% trouble when you do something like: +% \section{Note}{\ttfamily TT-TEXT} is known to ... +% IEEE sometimes REALLY stretches the area before a section +% heading by up to about 0.5in. However, it may not be a good +% idea to let LaTeX have quite this much rubber. +\ifCLASSOPTIONconference% +% IEEE wants section heading spacing to decrease for conference mode +\def\section{\@startsection{section}{1}{\z@}{1.5ex plus 1.5ex minus 0.5ex}% +{1sp}{\normalfont\normalsize\centering\scshape}}% +\def\subsection{\@startsection{subsection}{2}{\z@}{1.5ex plus 1.5ex minus 0.5ex}% +{1sp}{\normalfont\normalsize\itshape}}% +\else % for journals +\def\section{\@startsection{section}{1}{\z@}{3.0ex plus 1.5ex minus 1.5ex}% V1.6 3.0ex from 3.5ex +{0.7ex plus 1ex minus 0ex}{\normalfont\normalsize\centering\scshape}}% +\def\subsection{\@startsection{subsection}{2}{\z@}{3.5ex plus 1.5ex minus 1.5ex}% +{0.7ex plus .5ex minus 0ex}{\normalfont\normalsize\itshape}}% +\fi + +% for both journals and conferences +% decided to put in a little rubber above the section, might help somebody +\def\subsubsection{\@startsection{subsubsection}{3}{\parindent}{0ex plus 0.1ex minus 0.1ex}% +{0ex}{\normalfont\normalsize\itshape}}% +\def\paragraph{\@startsection{paragraph}{4}{2\parindent}{0ex plus 0.1ex minus 0.1ex}% +{0ex}{\normalfont\normalsize\itshape}}% + + +% compsoc +\ifCLASSOPTIONcompsoc +\ifCLASSOPTIONconference +% compsoc conference +\def\section{\@startsection{section}{1}{\z@}{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}% +{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}{\normalfont\large\bfseries}}% +\def\subsection{\@startsection{subsection}{2}{\z@}{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}% +{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}{\normalfont\sublargesize\bfseries}}% +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}% +{0ex}{\normalfont\normalsize\bfseries}}% +\def\paragraph{\@startsection{paragraph}{4}{2\parindent}{0ex plus 0.1ex minus 0.1ex}% +{0ex}{\normalfont\normalsize}}% +\else% compsoc journals +% use negative top separation as compsoc journals do not indent paragraphs after section titles +\def\section{\@startsection{section}{1}{\z@}{-3ex plus -2ex minus -1.5ex}% +{0.7ex plus 1ex minus 0ex}{\normalfont\large\sffamily\bfseries\scshape}}% +% Note that subsection and smaller may not be correct for the Computer Society, +% I have to look up an example. +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.5ex plus -1.5ex minus -1.5ex}% +{0.7ex plus .5ex minus 0ex}{\normalfont\normalsize\sffamily\bfseries}}% +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-2.5ex plus -1ex minus -1ex}% +{0.5ex plus 0.5ex minus 0ex}{\normalfont\normalsize\sffamily\itshape}}% +\def\paragraph{\@startsection{paragraph}{4}{2\parindent}{-0ex plus -0.1ex minus -0.1ex}% +{0ex}{\normalfont\normalsize}}% +\fi\fi + + + + +%% ENVIRONMENTS +% "box" symbols at end of proofs +\def\IEEEQEDclosed{\mbox{\rule[0pt]{1.3ex}{1.3ex}}} % for a filled box +% V1.6 some journals use an open box instead that will just fit around a closed one +\def\IEEEQEDopen{{\setlength{\fboxsep}{0pt}\setlength{\fboxrule}{0.2pt}\fbox{\rule[0pt]{0pt}{1.3ex}\rule[0pt]{1.3ex}{0pt}}}} +\ifCLASSOPTIONcompsoc +\def\IEEEQED{\IEEEQEDopen} % default to open for compsoc +\else +\def\IEEEQED{\IEEEQEDclosed} % otherwise default to closed +\fi + +% v1.7 name change to avoid namespace collision with amsthm. Also add support +% for an optional argument. +\def\IEEEproof{\@ifnextchar[{\@IEEEproof}{\@IEEEproof[\IEEEproofname]}} +\def\@IEEEproof[#1]{\par\noindent\hspace{2em}{\itshape #1: }} +\def\endIEEEproof{\hspace*{\fill}~\IEEEQED\par} + + +%\itemindent is set to \z@ by list, so define new temporary variable +\newdimen\@IEEEtmpitemindent +\def\@begintheorem#1#2{\@IEEEtmpitemindent\itemindent\topsep 0pt\rmfamily\trivlist% + \item[\hskip \labelsep{\indent\itshape #1\ #2:}]\itemindent\@IEEEtmpitemindent} +\def\@opargbegintheorem#1#2#3{\@IEEEtmpitemindent\itemindent\topsep 0pt\rmfamily \trivlist% +% V1.6 IEEE is back to using () around theorem names which are also in italics +% Thanks to Christian Peel for reporting this. + \item[\hskip\labelsep{\indent\itshape #1\ #2\ (#3):}]\itemindent\@IEEEtmpitemindent} +% V1.7 remove bogus \unskip that caused equations in theorems to collide with +% lines below. +\def\@endtheorem{\endtrivlist} + +% V1.6 +% display command for the section the theorem is in - so that \thesection +% is not used as this will be in Roman numerals when we want arabic. +% LaTeX2e uses \def\@thmcounter#1{\noexpand\arabic{#1}} for the theorem number +% (second part) display and \def\@thmcountersep{.} as a separator. +% V1.7 intercept calls to the section counter and reroute to \@IEEEthmcounterinsection +% to allow \appendix(ices} to override as needed. +% +% special handler for sections, allows appendix(ices) to override +\gdef\@IEEEthmcounterinsection#1{\arabic{#1}} +% string macro +\edef\@IEEEstringsection{section} + +% redefine the #1#2[#3] form of newtheorem to use a hook to \@IEEEthmcounterinsection +% if section in_counter is used +\def\@xnthm#1#2[#3]{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}\@newctr{#1}[#3]% + \edef\@IEEEstringtmp{#3} + \ifx\@IEEEstringtmp\@IEEEstringsection + \expandafter\xdef\csname the#1\endcsname{% + \noexpand\@IEEEthmcounterinsection{#3}\@thmcountersep + \@thmcounter{#1}}% + \else + \expandafter\xdef\csname the#1\endcsname{% + \expandafter\noexpand\csname the#3\endcsname \@thmcountersep + \@thmcounter{#1}}% + \fi + \global\@namedef{#1}{\@thm{#1}{#2}}% + \global\@namedef{end#1}{\@endtheorem}}} + + + +%% SET UP THE DEFAULT PAGESTYLE +\ps@headings +\pagenumbering{arabic} + +% normally the page counter starts at 1 +\setcounter{page}{1} +% however, for peerreview the cover sheet is page 0 or page -1 +% (for duplex printing) +\ifCLASSOPTIONpeerreview + \if@twoside + \setcounter{page}{-1} + \else + \setcounter{page}{0} + \fi +\fi + +% standard book class behavior - let bottom line float up and down as +% needed when single sided +\ifCLASSOPTIONtwoside\else\raggedbottom\fi +% if two column - turn on twocolumn, allow word spacings to stretch more and +% enforce a rigid position for the last lines +\ifCLASSOPTIONtwocolumn +% the peer review option delays invoking twocolumn + \ifCLASSOPTIONpeerreview\else + \twocolumn + \fi +\sloppy +\flushbottom +\fi + + + + +% \APPENDIX and \APPENDICES definitions + +% This is the \@ifmtarg command from the LaTeX ifmtarg package +% by Peter Wilson (CUA) and Donald Arseneau +% \@ifmtarg is used to determine if an argument to a command +% is present or not. +% For instance: +% \@ifmtarg{#1}{\typeout{empty}}{\typeout{has something}} +% \@ifmtarg is used with our redefined \section command if +% \appendices is invoked. +% The command \section will behave slightly differently depending +% on whether the user specifies a title: +% \section{My appendix title} +% or not: +% \section{} +% This way, we can eliminate the blank lines where the title +% would be, and the unneeded : after Appendix in the table of +% contents +\begingroup +\catcode`\Q=3 +\long\gdef\@ifmtarg#1{\@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil} +\long\gdef\@xifmtarg#1#2Q#3#4#5\@nil{#4} +\endgroup +% end of \@ifmtarg defs + + +% V1.7 +% command that allows the one time saving of the original definition +% of section to \@IEEEappendixsavesection for \appendix or \appendices +% we don't save \section here as it may be redefined later by other +% packages (hyperref.sty, etc.) +\def\@IEEEsaveoriginalsectiononce{\let\@IEEEappendixsavesection\section +\let\@IEEEsaveoriginalsectiononce\relax} + +% neat trick to grab and process the argument from \section{argument} +% we process differently if the user invoked \section{} with no +% argument (title) +% note we reroute the call to the old \section* +\def\@IEEEprocessthesectionargument#1{% +\@ifmtarg{#1}{% +\@IEEEappendixsavesection*{\appendixname~\thesectiondis}% +\addcontentsline{toc}{section}{\appendixname~\thesection}}{% +\@IEEEappendixsavesection*{\appendixname~\thesectiondis \\* #1}% +\addcontentsline{toc}{section}{\appendixname~\thesection: #1}}} + +% we use this if the user calls \section{} after +% \appendix-- which has no meaning. So, we ignore the +% command and its argument. Then, warn the user. +\def\@IEEEdestroythesectionargument#1{\typeout{** WARNING: Ignoring useless +\protect\section\space in Appendix (line \the\inputlineno).}} + + +% remember \thesection forms will be displayed in \ref calls +% and in the Table of Contents. +% The \sectiondis form is used in the actual heading itself + +% appendix command for one single appendix +% normally has no heading. However, if you want a +% heading, you can do so via the optional argument: +% \appendix[Optional Heading] +\def\appendix{\relax} +\renewcommand{\appendix}[1][]{\@IEEEsaveoriginalsectiononce\par + % v1.6 keep hyperref's identifiers unique + \gdef\theHsection{Appendix.A}% + % v1.6 adjust hyperref's string name for the section + \xdef\Hy@chapapp{appendix}% + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \setcounter{subsubsection}{0}% + \setcounter{paragraph}{0}% + \gdef\thesection{A}% + \gdef\thesectiondis{}% + \gdef\thesubsection{\Alph{subsection}}% + \gdef\@IEEEthmcounterinsection##1{A} + \refstepcounter{section}% update the \ref counter + \@ifmtarg{#1}{\@IEEEappendixsavesection*{\appendixname}% + \addcontentsline{toc}{section}{\appendixname}}{% + \@IEEEappendixsavesection*{\appendixname~\\* #1}% + \addcontentsline{toc}{section}{\appendixname: #1}}% + % redefine \section command for appendix + % leave \section* as is + \def\section{\@ifstar{\@IEEEappendixsavesection*}{% + \@IEEEdestroythesectionargument}}% throw out the argument + % of the normal form +} + + + +% appendices command for multiple appendices +% user then calls \section with an argument (possibly empty) to +% declare the individual appendices +\def\appendices{\@IEEEsaveoriginalsectiononce\par + % v1.6 keep hyperref's identifiers unique + \gdef\theHsection{Appendix.\Alph{section}}% + % v1.6 adjust hyperref's string name for the section + \xdef\Hy@chapapp{appendix}% + \setcounter{section}{-1}% we want \refstepcounter to use section 0 + \setcounter{subsection}{0}% + \setcounter{subsubsection}{0}% + \setcounter{paragraph}{0}% + \ifCLASSOPTIONromanappendices% + \gdef\thesection{\Roman{section}}% + \gdef\thesectiondis{\Roman{section}}% + \@IEEEcompsocconfonly{\gdef\thesectiondis{\Roman{section}.}}% + \gdef\@IEEEthmcounterinsection##1{A\arabic{##1}} + \else% + \gdef\thesection{\Alph{section}}% + \gdef\thesectiondis{\Alph{section}}% + \@IEEEcompsocconfonly{\gdef\thesectiondis{\Alph{section}.}}% + \gdef\@IEEEthmcounterinsection##1{\Alph{##1}} + \fi% + \refstepcounter{section}% update the \ref counter + \setcounter{section}{0}% NEXT \section will be the FIRST appendix + % redefine \section command for appendices + % leave \section* as is + \def\section{\@ifstar{\@IEEEappendixsavesection*}{% process the *-form + \refstepcounter{section}% or is a new section so, + \@IEEEprocessthesectionargument}}% process the argument + % of the normal form +} + + + +% \IEEEPARstart +% Definition for the big two line drop cap letter at the beginning of the +% first paragraph of journal papers. The first argument is the first letter +% of the first word, the second argument is the remaining letters of the +% first word which will be rendered in upper case. +% In V1.6 this has been completely rewritten to: +% +% 1. no longer have problems when the user begins an environment +% within the paragraph that uses \IEEEPARstart. +% 2. auto-detect and use the current font family +% 3. revise handling of the space at the end of the first word so that +% interword glue will now work as normal. +% 4. produce correctly aligned edges for the (two) indented lines. +% +% We generalize things via control macros - playing with these is fun too. +% +% V1.7 added more control macros to make it easy for IEEEtrantools.sty users +% to change the font style. +% +% the number of lines that are indented to clear it +% may need to increase if using decenders +\def\@IEEEPARstartDROPLINES{2} +% minimum number of lines left on a page to allow a \@IEEEPARstart +% Does not take into consideration rubber shrink, so it tends to +% be overly cautious +\def\@IEEEPARstartMINPAGELINES{2} +% V1.7 the height of the drop cap is adjusted to match the height of this text +% in the current font (when \IEEEPARstart is called). +\def\@IEEEPARstartHEIGHTTEXT{T} +% the depth the letter is lowered below the baseline +% the height (and size) of the letter is determined by the sum +% of this value and the height of the \@IEEEPARstartHEIGHTTEXT in the current +% font. It is a good idea to set this value in terms of the baselineskip +% so that it can respond to changes therein. +\def\@IEEEPARstartDROPDEPTH{1.1\baselineskip} +% V1.7 the font the drop cap will be rendered in, +% can take zero or one argument. +\def\@IEEEPARstartFONTSTYLE{\bfseries} +% V1.7 any additional, non-font related commands needed to modify +% the drop cap letter, can take zero or one argument. +\def\@IEEEPARstartCAPSTYLE{\MakeUppercase} +% V1.7 the font that will be used to render the rest of the word, +% can take zero or one argument. +\def\@IEEEPARstartWORDFONTSTYLE{\relax} +% V1.7 any additional, non-font related commands needed to modify +% the rest of the word, can take zero or one argument. +\def\@IEEEPARstartWORDCAPSTYLE{\MakeUppercase} +% This is the horizontal separation distance from the drop letter to the main text. +% Lengths that depend on the font (e.g., ex, em, etc.) will be referenced +% to the font that is active when \IEEEPARstart is called. +\def\@IEEEPARstartSEP{0.15em} +% V1.7 horizontal offset applied to the left of the drop cap. +\def\@IEEEPARstartHOFFSET{0em} +% V1.7 Italic correction command applied at the end of the drop cap. +\def\@IEEEPARstartITLCORRECT{\/} + +% V1.7 compoc uses nonbold drop cap and small caps word style +\ifCLASSOPTIONcompsoc +\def\@IEEEPARstartFONTSTYLE{\mdseries} +\def\@IEEEPARstartWORDFONTSTYLE{\scshape} +\def\@IEEEPARstartWORDCAPSTYLE{\relax} +\fi + +% definition of \IEEEPARstart +% THIS IS A CONTROLLED SPACING AREA, DO NOT ALLOW SPACES WITHIN THESE LINES +% +% The token \@IEEEPARstartfont will be globally defined after the first use +% of \IEEEPARstart and will be a font command which creates the big letter +% The first argument is the first letter of the first word and the second +% argument is the rest of the first word(s). +\def\IEEEPARstart#1#2{\par{% +% if this page does not have enough space, break it and lets start +% on a new one +\@IEEEtranneedspace{\@IEEEPARstartMINPAGELINES\baselineskip}{\relax}% +% V1.7 move this up here in case user uses \textbf for \@IEEEPARstartFONTSTYLE +% which uses command \leavevmode which causes an unwanted \indent to be issued +\noindent +% calculate the desired height of the big letter +% it extends from the top of \@IEEEPARstartHEIGHTTEXT in the current font +% down to \@IEEEPARstartDROPDEPTH below the current baseline +\settoheight{\@IEEEtrantmpdimenA}{\@IEEEPARstartHEIGHTTEXT}% +\addtolength{\@IEEEtrantmpdimenA}{\@IEEEPARstartDROPDEPTH}% +% extract the name of the current font in bold +% and place it in \@IEEEPARstartFONTNAME +\def\@IEEEPARstartGETFIRSTWORD##1 ##2\relax{##1}% +{\@IEEEPARstartFONTSTYLE{\selectfont\edef\@IEEEPARstartFONTNAMESPACE{\fontname\font\space}% +\xdef\@IEEEPARstartFONTNAME{\expandafter\@IEEEPARstartGETFIRSTWORD\@IEEEPARstartFONTNAMESPACE\relax}}}% +% define a font based on this name with a point size equal to the desired +% height of the drop letter +\font\@IEEEPARstartsubfont\@IEEEPARstartFONTNAME\space at \@IEEEtrantmpdimenA\relax% +% save this value as a counter (integer) value (sp points) +\@IEEEtrantmpcountA=\@IEEEtrantmpdimenA% +% now get the height of the actual letter produced by this font size +\settoheight{\@IEEEtrantmpdimenB}{\@IEEEPARstartsubfont\@IEEEPARstartCAPSTYLE{#1}}% +% If something bogus happens like the first argument is empty or the +% current font is strange, do not allow a zero height. +\ifdim\@IEEEtrantmpdimenB=0pt\relax% +\typeout{** WARNING: IEEEPARstart drop letter has zero height! (line \the\inputlineno)}% +\typeout{ Forcing the drop letter font size to 10pt.}% +\@IEEEtrantmpdimenB=10pt% +\fi% +% and store it as a counter +\@IEEEtrantmpcountB=\@IEEEtrantmpdimenB% +% Since a font size doesn't exactly correspond to the height of the capital +% letters in that font, the actual height of the letter, \@IEEEtrantmpcountB, +% will be less than that desired, \@IEEEtrantmpcountA +% we need to raise the font size, \@IEEEtrantmpdimenA +% by \@IEEEtrantmpcountA / \@IEEEtrantmpcountB +% But, TeX doesn't have floating point division, so we have to use integer +% division. Hence the use of the counters. +% We need to reduce the denominator so that the loss of the remainder will +% have minimal affect on the accuracy of the result +\divide\@IEEEtrantmpcountB by 200% +\divide\@IEEEtrantmpcountA by \@IEEEtrantmpcountB% +% Then reequalize things when we use TeX's ability to multiply by +% floating point values +\@IEEEtrantmpdimenB=0.005\@IEEEtrantmpdimenA% +\multiply\@IEEEtrantmpdimenB by \@IEEEtrantmpcountA% +% \@IEEEPARstartfont is globaly set to the calculated font of the big letter +% We need to carry this out of the local calculation area to to create the +% big letter. +\global\font\@IEEEPARstartfont\@IEEEPARstartFONTNAME\space at \@IEEEtrantmpdimenB% +% Now set \@IEEEtrantmpdimenA to the width of the big letter +% We need to carry this out of the local calculation area to set the +% hanging indent +\settowidth{\global\@IEEEtrantmpdimenA}{\@IEEEPARstartfont +\@IEEEPARstartCAPSTYLE{#1\@IEEEPARstartITLCORRECT}}}% +% end of the isolated calculation environment +% add in the extra clearance we want +\advance\@IEEEtrantmpdimenA by \@IEEEPARstartSEP\relax% +% add in the optional offset +\advance\@IEEEtrantmpdimenA by \@IEEEPARstartHOFFSET\relax% +% V1.7 don't allow negative offsets to produce negative hanging indents +\@IEEEtrantmpdimenB\@IEEEtrantmpdimenA +\ifnum\@IEEEtrantmpdimenB < 0 \@IEEEtrantmpdimenB 0pt\fi +% \@IEEEtrantmpdimenA has the width of the big letter plus the +% separation space and \@IEEEPARstartfont is the font we need to use +% Now, we make the letter and issue the hanging indent command +% The letter is placed in a box of zero width and height so that other +% text won't be displaced by it. +\hangindent\@IEEEtrantmpdimenB\hangafter=-\@IEEEPARstartDROPLINES% +\makebox[0pt][l]{\hspace{-\@IEEEtrantmpdimenA}% +\raisebox{-\@IEEEPARstartDROPDEPTH}[0pt][0pt]{\hspace{\@IEEEPARstartHOFFSET}% +\@IEEEPARstartfont\@IEEEPARstartCAPSTYLE{#1\@IEEEPARstartITLCORRECT}% +\hspace{\@IEEEPARstartSEP}}}% +{\@IEEEPARstartWORDFONTSTYLE{\@IEEEPARstartWORDCAPSTYLE{\selectfont#2}}}} + + + + + + +% determines if the space remaining on a given page is equal to or greater +% than the specified space of argument one +% if not, execute argument two (only if the remaining space is greater than zero) +% and issue a \newpage +% +% example: \@IEEEtranneedspace{2in}{\vfill} +% +% Does not take into consideration rubber shrinkage, so it tends to +% be overly cautious +% Based on an example posted by Donald Arseneau +% Note this macro uses \@IEEEtrantmpdimenB internally for calculations, +% so DO NOT PASS \@IEEEtrantmpdimenB to this routine +% if you need a dimen register, import with \@IEEEtrantmpdimenA instead +\def\@IEEEtranneedspace#1#2{\penalty-100\begingroup%shield temp variable +\@IEEEtrantmpdimenB\pagegoal\advance\@IEEEtrantmpdimenB-\pagetotal% space left +\ifdim #1>\@IEEEtrantmpdimenB\relax% not enough space left +\ifdim\@IEEEtrantmpdimenB>\z@\relax #2\fi% +\newpage% +\fi\endgroup} + + + +% IEEEbiography ENVIRONMENT +% Allows user to enter biography leaving place for picture (adapts to font size) +% As of V1.5, a new optional argument allows you to have a real graphic! +% V1.5 and later also fixes the "colliding biographies" which could happen when a +% biography's text was shorter than the space for the photo. +% MDS 7/2001 +% V1.6 prevent multiple biographies from making multiple TOC entries +\newif\if@IEEEbiographyTOCentrynotmade +\global\@IEEEbiographyTOCentrynotmadetrue + +% biography counter so hyperref can jump directly to the biographies +% and not just the previous section +\newcounter{IEEEbiography} +\setcounter{IEEEbiography}{0} + +% photo area size +\def\@IEEEBIOphotowidth{1.0in} % width of the biography photo area +\def\@IEEEBIOphotodepth{1.25in} % depth (height) of the biography photo area +% area cleared for photo +\def\@IEEEBIOhangwidth{1.14in} % width cleared for the biography photo area +\def\@IEEEBIOhangdepth{1.25in} % depth cleared for the biography photo area + % actual depth will be a multiple of + % \baselineskip, rounded up +\def\@IEEEBIOskipN{4\baselineskip}% nominal value of the vskip above the biography + +\newenvironment{IEEEbiography}[2][]{\normalfont\@IEEEcompsoconly{\sffamily}\footnotesize% +\unitlength 1in\parskip=0pt\par\parindent 1em\interlinepenalty500% +% we need enough space to support the hanging indent +% the nominal value of the spacer +% and one extra line for good measure +\@IEEEtrantmpdimenA=\@IEEEBIOhangdepth% +\advance\@IEEEtrantmpdimenA by \@IEEEBIOskipN% +\advance\@IEEEtrantmpdimenA by 1\baselineskip% +% if this page does not have enough space, break it and lets start +% with a new one +\@IEEEtranneedspace{\@IEEEtrantmpdimenA}{\relax}% +% nominal spacer can strech, not shrink use 1fil so user can out stretch with \vfill +\vskip \@IEEEBIOskipN plus 1fil minus 0\baselineskip% +% the default box for where the photo goes +\def\@IEEEtempbiographybox{{\setlength{\fboxsep}{0pt}\framebox{% +\begin{minipage}[b][\@IEEEBIOphotodepth][c]{\@IEEEBIOphotowidth}\centering PLACE\\ PHOTO\\ HERE \end{minipage}}}}% +% +% detect if the optional argument was supplied, this requires the +% \@ifmtarg command as defined in the appendix section above +% and if so, override the default box with what they want +\@ifmtarg{#1}{\relax}{\def\@IEEEtempbiographybox{\mbox{\begin{minipage}[b][\@IEEEBIOphotodepth][c]{\@IEEEBIOphotowidth}% +\centering% +#1% +\end{minipage}}}}% end if optional argument supplied +% Make an entry into the table of contents only if we have not done so before +\if@IEEEbiographyTOCentrynotmade% +% link labels to the biography counter so hyperref will jump +% to the biography, not the previous section +\setcounter{IEEEbiography}{-1}% +\refstepcounter{IEEEbiography}% +\addcontentsline{toc}{section}{Biographies}% +\global\@IEEEbiographyTOCentrynotmadefalse% +\fi% +% one more biography +\refstepcounter{IEEEbiography}% +% Make an entry for this name into the table of contents +\addcontentsline{toc}{subsection}{#2}% +% V1.6 properly handle if a new paragraph should occur while the +% hanging indent is still active. Do this by redefining \par so +% that it will not start a new paragraph. (But it will appear to the +% user as if it did.) Also, strip any leading pars, newlines, or spaces. +\let\@IEEEBIOORGparCMD=\par% save the original \par command +\edef\par{\hfil\break\indent}% the new \par will not be a "real" \par +\settoheight{\@IEEEtrantmpdimenA}{\@IEEEtempbiographybox}% get height of biography box +\@IEEEtrantmpdimenB=\@IEEEBIOhangdepth% +\@IEEEtrantmpcountA=\@IEEEtrantmpdimenB% countA has the hang depth +\divide\@IEEEtrantmpcountA by \baselineskip% calculates lines needed to produce the hang depth +\advance\@IEEEtrantmpcountA by 1% ensure we overestimate +% set the hanging indent +\hangindent\@IEEEBIOhangwidth% +\hangafter-\@IEEEtrantmpcountA% +% reference the top of the photo area to the top of a capital T +\settoheight{\@IEEEtrantmpdimenB}{\mbox{T}}% +% set the photo box, give it zero width and height so as not to disturb anything +\noindent\makebox[0pt][l]{\hspace{-\@IEEEBIOhangwidth}\raisebox{\@IEEEtrantmpdimenB}[0pt][0pt]{% +\raisebox{-\@IEEEBIOphotodepth}[0pt][0pt]{\@IEEEtempbiographybox}}}% +% now place the author name and begin the bio text +\noindent\textbf{#2\ }\@IEEEgobbleleadPARNLSP}{\relax\let\par=\@IEEEBIOORGparCMD\par% +% 7/2001 V1.5 detect when the biography text is shorter than the photo area +% and pad the unused area - preventing a collision from the next biography entry +% MDS +\ifnum \prevgraf <\@IEEEtrantmpcountA\relax% detect when the biography text is shorter than the photo + \advance\@IEEEtrantmpcountA by -\prevgraf% calculate how many lines we need to pad + \advance\@IEEEtrantmpcountA by -1\relax% we compensate for the fact that we indented an extra line + \@IEEEtrantmpdimenA=\baselineskip% calculate the length of the padding + \multiply\@IEEEtrantmpdimenA by \@IEEEtrantmpcountA% + \noindent\rule{0pt}{\@IEEEtrantmpdimenA}% insert an invisible support strut +\fi% +\par\normalfont} + + + +% V1.6 +% added biography without a photo environment +\newenvironment{IEEEbiographynophoto}[1]{% +% Make an entry into the table of contents only if we have not done so before +\if@IEEEbiographyTOCentrynotmade% +% link labels to the biography counter so hyperref will jump +% to the biography, not the previous section +\setcounter{IEEEbiography}{-1}% +\refstepcounter{IEEEbiography}% +\addcontentsline{toc}{section}{Biographies}% +\global\@IEEEbiographyTOCentrynotmadefalse% +\fi% +% one more biography +\refstepcounter{IEEEbiography}% +% Make an entry for this name into the table of contents +\addcontentsline{toc}{subsection}{#1}% +\normalfont\@IEEEcompsoconly{\sffamily}\footnotesize\interlinepenalty500% +\vskip 4\baselineskip plus 1fil minus 0\baselineskip% +\parskip=0pt\par% +\noindent\textbf{#1\ }\@IEEEgobbleleadPARNLSP}{\relax\par\normalfont} + + +% provide the user with some old font commands +% got this from article.cls +\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} + + +% SPECIAL PAPER NOTICE COMMANDS +% +% holds the special notice text +\def\@IEEEspecialpapernotice{\relax} + +% for special papers, like invited papers, the user can do: +% \IEEEspecialpapernotice{(Invited Paper)} before \maketitle +\def\IEEEspecialpapernotice#1{\ifCLASSOPTIONconference% +\def\@IEEEspecialpapernotice{{\Large#1\vspace*{1em}}}% +\else% +\def\@IEEEspecialpapernotice{{\\*[1.5ex]\sublargesize\textit{#1}}\vspace*{-2ex}}% +\fi} + + + + +% PUBLISHER ID COMMANDS +% to insert a publisher's ID footer +% V1.6 \IEEEpubid has been changed so that the change in page size and style +% occurs in \maketitle. \IEEEpubid must now be issued prior to \maketitle +% use \IEEEpubidadjcol as before - in the second column of the title page +% These changes allow \maketitle to take the reduced page height into +% consideration when dynamically setting the space between the author +% names and the maintext. +% +% the amount the main text is pulled up to make room for the +% publisher's ID footer +% IEEE uses about 1.3\baselineskip for journals, +% dynamic title spacing will clean up the fraction +\def\@IEEEpubidpullup{1.3\baselineskip} +\ifCLASSOPTIONtechnote +% for technotes it must be an integer of baselineskip as there can be no +% dynamic title spacing for two column mode technotes (the title is in the +% in first column) and we should maintain an integer number of lines in the +% second column +% There are some examples (such as older issues of "Transactions on +% Information Theory") in which IEEE really pulls the text off the ID for +% technotes - about 0.55in (or 4\baselineskip). We'll use 2\baselineskip +% and call it even. +\def\@IEEEpubidpullup{2\baselineskip} +\fi + +% V1.7 compsoc does not use a pullup +\ifCLASSOPTIONcompsoc +\def\@IEEEpubidpullup{0pt} +\fi + +% holds the ID text +\def\@IEEEpubid{\relax} + +% flag so \maketitle can tell if \IEEEpubid was called +\newif\if@IEEEusingpubid +\global\@IEEEusingpubidfalse +% issue this command in the page to have the ID at the bottom +% V1.6 use before \maketitle +\def\IEEEpubid#1{\def\@IEEEpubid{#1}\global\@IEEEusingpubidtrue} + + +% command which will pull up (shorten) the column it is executed in +% to make room for the publisher ID. Place in the second column of +% the title page when using \IEEEpubid +% Is smart enough not to do anything when in single column text or +% if the user hasn't called \IEEEpubid +% currently needed in for the second column of a page with the +% publisher ID. If not needed in future releases, please provide this +% command and define it as \relax for backward compatibility +% v1.6b do not allow command to operate if the peer review option has been +% selected because \IEEEpubidadjcol will not be on the cover page. +% V1.7 do nothing if compsoc +\def\IEEEpubidadjcol{\ifCLASSOPTIONcompsoc\else\ifCLASSOPTIONpeerreview\else +\if@twocolumn\if@IEEEusingpubid\enlargethispage{-\@IEEEpubidpullup}\fi\fi\fi\fi} + +% Special thanks to Peter Wilson, Daniel Luecking, and the other +% gurus at comp.text.tex, for helping me to understand how best to +% implement the IEEEpubid command in LaTeX. + + + +%% Lockout some commands under various conditions + +% general purpose bit bucket +\newsavebox{\@IEEEtranrubishbin} + +% flags to prevent multiple warning messages +\newif\if@IEEEWARNthanks +\newif\if@IEEEWARNIEEEPARstart +\newif\if@IEEEWARNIEEEbiography +\newif\if@IEEEWARNIEEEbiographynophoto +\newif\if@IEEEWARNIEEEpubid +\newif\if@IEEEWARNIEEEpubidadjcol +\newif\if@IEEEWARNIEEEmembership +\newif\if@IEEEWARNIEEEaftertitletext +\@IEEEWARNthankstrue +\@IEEEWARNIEEEPARstarttrue +\@IEEEWARNIEEEbiographytrue +\@IEEEWARNIEEEbiographynophototrue +\@IEEEWARNIEEEpubidtrue +\@IEEEWARNIEEEpubidadjcoltrue +\@IEEEWARNIEEEmembershiptrue +\@IEEEWARNIEEEaftertitletexttrue + + +%% Lockout some commands when in various modes, but allow them to be restored if needed +%% +% save commands which might be locked out +% so that the user can later restore them if needed +\let\@IEEESAVECMDthanks\thanks +\let\@IEEESAVECMDIEEEPARstart\IEEEPARstart +\let\@IEEESAVECMDIEEEbiography\IEEEbiography +\let\@IEEESAVECMDendIEEEbiography\endIEEEbiography +\let\@IEEESAVECMDIEEEbiographynophoto\IEEEbiographynophoto +\let\@IEEESAVECMDendIEEEbiographynophoto\endIEEEbiographynophoto +\let\@IEEESAVECMDIEEEpubid\IEEEpubid +\let\@IEEESAVECMDIEEEpubidadjcol\IEEEpubidadjcol +\let\@IEEESAVECMDIEEEmembership\IEEEmembership +\let\@IEEESAVECMDIEEEaftertitletext\IEEEaftertitletext + + +% disable \IEEEPARstart when in draft mode +% This may have originally been done because the pre-V1.6 drop letter +% algorithm had problems with a non-unity baselinestretch +% At any rate, it seems too formal to have a drop letter in a draft +% paper. +\ifCLASSOPTIONdraftcls +\def\IEEEPARstart#1#2{#1#2\if@IEEEWARNIEEEPARstart\typeout{** ATTENTION: \noexpand\IEEEPARstart + is disabled in draft mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEPARstartfalse} +\fi +% and for technotes +\ifCLASSOPTIONtechnote +\def\IEEEPARstart#1#2{#1#2\if@IEEEWARNIEEEPARstart\typeout{** WARNING: \noexpand\IEEEPARstart + is locked out for technotes (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEPARstartfalse} +\fi + + +% lockout unneeded commands when in conference mode +\ifCLASSOPTIONconference +% when locked out, \thanks, \IEEEbiography, \IEEEbiographynophoto, \IEEEpubid, +% \IEEEmembership and \IEEEaftertitletext will all swallow their given text. +% \IEEEPARstart will output a normal character instead +% warn the user about these commands only once to prevent the console screen +% from filling up with redundant messages +\def\thanks#1{\if@IEEEWARNthanks\typeout{** WARNING: \noexpand\thanks + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNthanksfalse} +\def\IEEEPARstart#1#2{#1#2\if@IEEEWARNIEEEPARstart\typeout{** WARNING: \noexpand\IEEEPARstart + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEPARstartfalse} + + +% LaTeX treats environments and commands with optional arguments differently. +% the actual ("internal") command is stored as \\commandname +% (accessed via \csname\string\commandname\endcsname ) +% the "external" command \commandname is a macro with code to determine +% whether or not the optional argument is presented and to provide the +% default if it is absent. So, in order to save and restore such a command +% we would have to save and restore \\commandname as well. But, if LaTeX +% ever changes the way it names the internal names, the trick would break. +% Instead let us just define a new environment so that the internal +% name can be left undisturbed. +\newenvironment{@IEEEbogusbiography}[2][]{\if@IEEEWARNIEEEbiography\typeout{** WARNING: \noexpand\IEEEbiography + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEbiographyfalse% +\setbox\@IEEEtranrubishbin\vbox\bgroup}{\egroup\relax} +% and make biography point to our bogus biography +\let\IEEEbiography=\@IEEEbogusbiography +\let\endIEEEbiography=\end@IEEEbogusbiography + +\renewenvironment{IEEEbiographynophoto}[1]{\if@IEEEWARNIEEEbiographynophoto\typeout{** WARNING: \noexpand\IEEEbiographynophoto + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEbiographynophotofalse% +\setbox\@IEEEtranrubishbin\vbox\bgroup}{\egroup\relax} + +\def\IEEEpubid#1{\if@IEEEWARNIEEEpubid\typeout{** WARNING: \noexpand\IEEEpubid + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEpubidfalse} +\def\IEEEpubidadjcol{\if@IEEEWARNIEEEpubidadjcol\typeout{** WARNING: \noexpand\IEEEpubidadjcol + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEpubidadjcolfalse} +\def\IEEEmembership#1{\if@IEEEWARNIEEEmembership\typeout{** WARNING: \noexpand\IEEEmembership + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEmembershipfalse} +\def\IEEEaftertitletext#1{\if@IEEEWARNIEEEaftertitletext\typeout{** WARNING: \noexpand\IEEEaftertitletext + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEaftertitletextfalse} +\fi + + +% provide a way to restore the commands that are locked out +\def\IEEEoverridecommandlockouts{% +\typeout{** ATTENTION: Overriding command lockouts (line \the\inputlineno).}% +\let\thanks\@IEEESAVECMDthanks% +\let\IEEEPARstart\@IEEESAVECMDIEEEPARstart% +\let\IEEEbiography\@IEEESAVECMDIEEEbiography% +\let\endIEEEbiography\@IEEESAVECMDendIEEEbiography% +\let\IEEEbiographynophoto\@IEEESAVECMDIEEEbiographynophoto% +\let\endIEEEbiographynophoto\@IEEESAVECMDendIEEEbiographynophoto% +\let\IEEEpubid\@IEEESAVECMDIEEEpubid% +\let\IEEEpubidadjcol\@IEEESAVECMDIEEEpubidadjcol% +\let\IEEEmembership\@IEEESAVECMDIEEEmembership% +\let\IEEEaftertitletext\@IEEESAVECMDIEEEaftertitletext} + + + +% need a backslash character for typeout output +{\catcode`\|=0 \catcode`\\=12 +|xdef|@IEEEbackslash{\}} + + +% hook to allow easy disabling of all legacy warnings +\def\@IEEElegacywarn#1#2{\typeout{** ATTENTION: \@IEEEbackslash #1 is deprecated (line \the\inputlineno). +Use \@IEEEbackslash #2 instead.}} + + +% provide for legacy commands +\def\authorblockA{\@IEEElegacywarn{authorblockA}{IEEEauthorblockA}\IEEEauthorblockA} +\def\authorblockN{\@IEEElegacywarn{authorblockN}{IEEEauthorblockN}\IEEEauthorblockN} +\def\authorrefmark{\@IEEElegacywarn{authorrefmark}{IEEEauthorrefmark}\IEEEauthorrefmark} +\def\PARstart{\@IEEElegacywarn{PARstart}{IEEEPARstart}\IEEEPARstart} +\def\pubid{\@IEEElegacywarn{pubid}{IEEEpubid}\IEEEpubid} +\def\pubidadjcol{\@IEEElegacywarn{pubidadjcol}{IEEEpubidadjcol}\IEEEpubidadjcol} +\def\QED{\@IEEElegacywarn{QED}{IEEEQED}\IEEEQED} +\def\QEDclosed{\@IEEElegacywarn{QEDclosed}{IEEEQEDclosed}\IEEEQEDclosed} +\def\QEDopen{\@IEEElegacywarn{QEDopen}{IEEEQEDopen}\IEEEQEDopen} +\def\specialpapernotice{\@IEEElegacywarn{specialpapernotice}{IEEEspecialpapernotice}\IEEEspecialpapernotice} + + + +% provide for legacy environments +\def\biography{\@IEEElegacywarn{biography}{IEEEbiography}\IEEEbiography} +\def\biographynophoto{\@IEEElegacywarn{biographynophoto}{IEEEbiographynophoto}\IEEEbiographynophoto} +\def\keywords{\@IEEElegacywarn{keywords}{IEEEkeywords}\IEEEkeywords} +\def\endbiography{\endIEEEbiography} +\def\endbiographynophoto{\endIEEEbiographynophoto} +\def\endkeywords{\endIEEEkeywords} + + +% provide for legacy IED commands/lengths when possible +\let\labelindent\IEEElabelindent +\def\calcleftmargin{\@IEEElegacywarn{calcleftmargin}{IEEEcalcleftmargin}\IEEEcalcleftmargin} +\def\setlabelwidth{\@IEEElegacywarn{setlabelwidth}{IEEEsetlabelwidth}\IEEEsetlabelwidth} +\def\usemathlabelsep{\@IEEElegacywarn{usemathlabelsep}{IEEEusemathlabelsep}\IEEEusemathlabelsep} +\def\iedlabeljustifyc{\@IEEElegacywarn{iedlabeljustifyc}{IEEEiedlabeljustifyc}\IEEEiedlabeljustifyc} +\def\iedlabeljustifyl{\@IEEElegacywarn{iedlabeljustifyl}{IEEEiedlabeljustifyl}\IEEEiedlabeljustifyl} +\def\iedlabeljustifyr{\@IEEElegacywarn{iedlabeljustifyr}{IEEEiedlabeljustifyr}\IEEEiedlabeljustifyr} + + + +% let \proof use the IEEEtran version even after amsthm is loaded +% \proof is now deprecated in favor of \IEEEproof +\AtBeginDocument{\def\proof{\@IEEElegacywarn{proof}{IEEEproof}\IEEEproof}\def\endproof{\endIEEEproof}} + +% V1.7 \overrideIEEEmargins is no longer supported. +\def\overrideIEEEmargins{% +\typeout{** WARNING: \string\overrideIEEEmargins \space no longer supported (line \the\inputlineno).}% +\typeout{** Use the \string\CLASSINPUTinnersidemargin, \string\CLASSINPUToutersidemargin \space controls instead.}} + + +\endinput + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End of IEEEtran.cls %%%%%%%%%%%%%%%%%%%%%%%%%%%% +% That's all folks! + diff --git a/mpi-energy2-extension/IEEEtran/.gitignore b/mpi-energy2-extension/IEEEtran/.gitignore new file mode 100644 index 0000000..d417699 --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/.gitignore @@ -0,0 +1,12 @@ +bare_adv.dvi +bare_adv.pdf +bare_adv.ps +bare_conf.dvi +bare_conf.pdf +bare_conf.ps +bare_jrnl.dvi +bare_jrnl.pdf +bare_jrnl.ps +bare_jrnl_compsoc.dvi +bare_jrnl_compsoc.pdf +bare_jrnl_compsoc.ps diff --git a/mpi-energy2-extension/IEEEtran/IEEEabrv.bib b/mpi-energy2-extension/IEEEtran/IEEEabrv.bib new file mode 100644 index 0000000..56cae65 --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/IEEEabrv.bib @@ -0,0 +1,447 @@ + +IEEEabrv.bib +V1.12 (2007/01/11) +Copyright (c) 2002-2007 by Michael Shell +See: http://www.michaelshell.org/ +for current contact information. + +BibTeX bibliography string definitions of the ABBREVIATED titles of +IEEE journals and magazines and online publications. + +This file is designed for bibliography styles that require +abbreviated titles and is not for use in bibliographies that +require full-length titles. + +Support sites: +http://www.michaelshell.org/tex/ieeetran/ +http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +and/or +http://www.ieee.org/ + +Special thanks to Laura Hyslop and ken Rawson of IEEE for their help +in obtaining the information needed to compile this file. Also, +Volker Kuhlmann and Moritz Borgmann kindly provided some corrections +and additions. + +************************************************************************* +Legal Notice: +This code is offered as-is without any warranty either expressed or +implied; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE! +User assumes all risk. +In no event shall IEEE or any contributor to this code be liable for +any damages or losses, including, but not limited to, incidental, +consequential, or any other damages, resulting from the use or misuse +of any information contained here. + +All comments are the opinions of their respective authors and are not +necessarily endorsed by the IEEE. + +This work is distributed under the LaTeX Project Public License (LPPL) +( http://www.latex-project.org/ ) version 1.3, and may be freely used, +distributed and modified. A copy of the LPPL, version 1.3, is included +in the base LaTeX documentation of all distributions of LaTeX released +2003/12/01 or later. +Retain all contribution notices and credits. +** Modified files should be clearly indicated as such, including ** +** renaming them and changing author support contact information. ** + +File list of work: IEEEabrv.bib, IEEEfull.bib, IEEEexample.bib, + IEEEtran.bst, IEEEtranS.bst, IEEEtranSA.bst, + IEEEtranN.bst, IEEEtranSN.bst, IEEEtran_bst_HOWTO.pdf +************************************************************************* + + +USAGE: + +\bibliographystyle{mybstfile} +\bibliography{IEEEabrv,mybibfile} + +where the IEEE titles in the .bib database entries use the strings +defined here. e.g., + + + journal = IEEE_J_AC, + + +to yield "{IEEE} Trans. Automat. Contr." + + +IEEE uses abbreviated journal titles in their bibliographies - +this file is suitable for work that is to be submitted to the IEEE. + + +For work that requires full-length titles, you should use the full +titles provided in the companion file, IEEEfull.bib. + + +** NOTES ** + + 1. Journals have been grouped according to subject in order to make it + easier to locate and extract the definitions for related journals - + as most works use references that are confined to a single topic. + Magazines are listed in straight alphabetical order. + + 2. String names are closely based on IEEE's own internal acronyms. + + 3. Abbreviations follow IEEE's style. + + 4. Older, out-of-print IEEE titles are included (but not including titles + dating prior to IEEE's formation from the IRE and AIEE in 1963). + + 5. The following NEW/current journal definitions have been disabled because + their abbreviations have not yet been verified: + + STRING{IEEE_J_CBB = "{IEEE/ACM} Trans. Comput. Biology Bioinformatics"} + STRING{IEEE_J_CJECE = "Canadian J. Elect. Comput. Eng."} + STRING{IEEE_J_DSC = "{IEEE} Trans. Dependable Secure Comput."} + STRING{IEEE_O_DSO = "{IEEE} Distrib. Syst. Online"} + + 6. The following OLD journal definitions have been disabled because + their abbreviations have not yet been found/verified: + + STRING{IEEE_J_BCTV = "{IEEE} Trans. Broadcast Television Receivers"} + STRING{IEEE_J_EWS = "{IEEE} Trans. Eng. Writing Speech"} + +If you know what the proper abbreviation is for a string in #5 or #6 above, +email me and I will correct them in the next release. + + + + + +IEEE Journals + + + +aerospace and military +@STRING{IEEE_J_AES = "{IEEE} Trans. Aerosp. Electron. Syst."} +@STRING{IEEE_J_ANE = "{IEEE} Trans. Aerosp. Navig. Electron."} +@STRING{IEEE_J_ANNE = "{IEEE} Trans. Aeronaut. Navig. Electron."} +@STRING{IEEE_J_AS = "{IEEE} Trans. Aerosp."} +@STRING{IEEE_J_AIRE = "{IEEE} Trans. Airborne Electron."} +@STRING{IEEE_J_MIL = "{IEEE} Trans. Mil. Electron."} + + + +autos, transportation and vehicles (non-aerospace) +@STRING{IEEE_J_ITS = "{IEEE} Trans. Intell. Transp. Syst."} +@STRING{IEEE_J_VT = "{IEEE} Trans. Veh. Technol."} +@STRING{IEEE_J_VC = "{IEEE} Trans. Veh. Commun."} + + + +circuits, signals, systems, audio and controls +@STRING{IEEE_J_SPL = "{IEEE} Signal Process. Lett."} +@STRING{IEEE_J_ASSP = "{IEEE} Trans. Acoust., Speech, Signal Process."} +@STRING{IEEE_J_AU = "{IEEE} Trans. Audio"} +@STRING{IEEE_J_AUEA = "{IEEE} Trans. Audio Electroacoust."} +@STRING{IEEE_J_AC = "{IEEE} Trans. Autom. Control"} +@STRING{IEEE_J_CAS = "{IEEE} Trans. Circuits Syst."} +@STRING{IEEE_J_CASVT = "{IEEE} Trans. Circuits Syst. Video Technol."} +@STRING{IEEE_J_CASI = "{IEEE} Trans. Circuits Syst. {I}"} +@STRING{IEEE_J_CASII = "{IEEE} Trans. Circuits Syst. {II}"} +in 2004 CASI and CASII renamed part title to CASI_RP and CASII_EB, respectively. +@STRING{IEEE_J_CASI_RP = "{IEEE} Trans. Circuits Syst. {I}"} +@STRING{IEEE_J_CASII_EB = "{IEEE} Trans. Circuits Syst. {II}"} +@STRING{IEEE_J_CT = "{IEEE} Trans. Circuit Theory"} +@STRING{IEEE_J_CST = "{IEEE} Trans. Control Syst. Technol."} +@STRING{IEEE_J_SP = "{IEEE} Trans. Signal Process."} +@STRING{IEEE_J_SU = "{IEEE} Trans. Sonics Ultrason."} +@STRING{IEEE_J_SAP = "{IEEE} Trans. Speech Audio Process."} +@STRING{IEEE_J_UE = "{IEEE} Trans. Ultrason. Eng."} +@STRING{IEEE_J_UFFC = "{IEEE} Trans. Ultrason., Ferroelectr., Freq. Control"} + + + +communications +@STRING{IEEE_J_COML = "{IEEE} Commun. Lett."} +@STRING{IEEE_J_JSAC = "{IEEE} J. Sel. Areas Commun."} +@STRING{IEEE_J_COM = "{IEEE} Trans. Commun."} +@STRING{IEEE_J_COMT = "{IEEE} Trans. Commun. Technol."} +@STRING{IEEE_J_WCOM = "{IEEE} Trans. Wireless Commun."} + + + +components, packaging and manufacturing +@STRING{IEEE_J_ADVP = "{IEEE} Trans. Adv. Packag."} +@STRING{IEEE_J_CHMT = "{IEEE} Trans. Compon., Hybrids, Manuf. Technol."} +@STRING{IEEE_J_CPMTA = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {A}"} +@STRING{IEEE_J_CPMTB = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {B}"} +@STRING{IEEE_J_CPMTC = "{IEEE} Trans. Compon., Packag., Manuf. Technol. {C}"} +@STRING{IEEE_J_CAPT = "{IEEE} Trans. Compon. Packag. Technol."} +@STRING{IEEE_J_CAPTS = "{IEEE} Trans. Compon. Packag. Technol."} +@STRING{IEEE_J_CPART = "{IEEE} Trans. Compon. Parts"} +@STRING{IEEE_J_EPM = "{IEEE} Trans. Electron. Packag. Manuf."} +@STRING{IEEE_J_MFT = "{IEEE} Trans. Manuf. Technol."} +@STRING{IEEE_J_PHP = "{IEEE} Trans. Parts, Hybrids, Packag."} +@STRING{IEEE_J_PMP = "{IEEE} Trans. Parts, Mater., Packag."} + + + +CAD +@STRING{IEEE_J_TCAD = "{IEEE} J. Technol. Comput. Aided Design"} +@STRING{IEEE_J_CAD = "{IEEE} Trans. Comput.-Aided Design Integr. Circuits Syst."} + + + +coding, data, information, knowledge +@STRING{IEEE_J_IT = "{IEEE} Trans. Inf. Theory"} +@STRING{IEEE_J_KDE = "{IEEE} Trans. Knowl. Data Eng."} + + + +computers, computation, networking and software +@STRING{IEEE_J_C = "{IEEE} Trans. Comput."} +@STRING{IEEE_J_CAL = "{IEEE} Comput. Archit. Lett."} +disabled till definition is verified +STRING{IEEE_J_DSC = "{IEEE} Trans. Dependable Secure Comput."} +@STRING{IEEE_J_ECOMP = "{IEEE} Trans. Electron. Comput."} +@STRING{IEEE_J_EVC = "{IEEE} Trans. Evol. Comput."} +@STRING{IEEE_J_FUZZ = "{IEEE} Trans. Fuzzy Syst."} +@STRING{IEEE_J_IFS = "{IEEE} Trans. Inf. Forensics Security"} +@STRING{IEEE_J_MC = "{IEEE} Trans. Mobile Comput."} +@STRING{IEEE_J_NET = "{IEEE/ACM} Trans. Netw."} +@STRING{IEEE_J_NN = "{IEEE} Trans. Neural Netw."} +@STRING{IEEE_J_PDS = "{IEEE} Trans. Parallel Distrib. Syst."} +@STRING{IEEE_J_SE = "{IEEE} Trans. Softw. Eng."} + + + +computer graphics, imaging, and multimedia +@STRING{IEEE_J_JDT = "{IEEE/OSA} J. Display Technol."} +@STRING{IEEE_J_IP = "{IEEE} Trans. Image Process."} +@STRING{IEEE_J_MM = "{IEEE} Trans. Multimedia"} +@STRING{IEEE_J_VCG = "{IEEE} Trans. Vis. Comput. Graphics"} + + + +cybernetics, ergonomics, robots, man-machine, and automation +@STRING{IEEE_J_ASE = "{IEEE} Trans. Autom. Sci. Eng."} +@STRING{IEEE_J_JRA = "{IEEE} J. Robot. Autom."} +@STRING{IEEE_J_HFE = "{IEEE} Trans. Hum. Factors Electron."} +@STRING{IEEE_J_MMS = "{IEEE} Trans. Man-Mach. Syst."} +@STRING{IEEE_J_PAMI = "{IEEE} Trans. Pattern Anal. Mach. Intell."} +in 1989 JRA became RA +in August 2004, RA split into ASE and RO +@STRING{IEEE_J_RA = "{IEEE} Trans. Robot. Autom."} +@STRING{IEEE_J_RO = "{IEEE} Trans. Robot."} +@STRING{IEEE_J_SMC = "{IEEE} Trans. Syst., Man, Cybern."} +@STRING{IEEE_J_SMCA = "{IEEE} Trans. Syst., Man, Cybern. {A}"} +@STRING{IEEE_J_SMCB = "{IEEE} Trans. Syst., Man, Cybern. {B}"} +@STRING{IEEE_J_SMCC = "{IEEE} Trans. Syst., Man, Cybern. {C}"} +@STRING{IEEE_J_SSC = "{IEEE} Trans. Syst. Sci. Cybern."} + + + +earth, wind, fire and water +@STRING{IEEE_J_GE = "{IEEE} Trans. Geosci. Electron."} +@STRING{IEEE_J_GRS = "{IEEE} Trans. Geosci. Remote Sens."} +@STRING{IEEE_J_GRSL = "{IEEE} Geosci. Remote Sens. Lett."} +@STRING{IEEE_J_OE = "{IEEE} J. Ocean. Eng."} + + + +education, engineering, history, IEEE, professional +disabled till definition is verified +STRING{IEEE_J_CJECE = "Canadian J. Elect. Comput. Eng."} +@STRING{IEEE_J_PROC = "Proc. {IEEE}"} +@STRING{IEEE_J_EDU = "{IEEE} Trans. Educ."} +@STRING{IEEE_J_EM = "{IEEE} Trans. Eng. Manag."} +disabled till definition is verified +STRING{IEEE_J_EWS = "{IEEE} Trans. Eng. Writing Speech"} +@STRING{IEEE_J_PC = "{IEEE} Trans. Prof. Commun."} + + + +electromagnetics, antennas, EMI, magnetics and microwave +@STRING{IEEE_J_AWPL = "{IEEE} Antennas Wireless Propag. Lett."} +@STRING{IEEE_J_MGWL = "{IEEE} Microw. Guided Wave Lett."} +IEEE seems to want "Compon." here, not "Comp." +@STRING{IEEE_J_MWCL = "{IEEE} Microw. Wireless Compon. Lett."} +@STRING{IEEE_J_AP = "{IEEE} Trans. Antennas Propag."} +@STRING{IEEE_J_EMC = "{IEEE} Trans. Electromagn. Compat."} +@STRING{IEEE_J_MAG = "{IEEE} Trans. Magn."} +@STRING{IEEE_J_MTT = "{IEEE} Trans. Microw. Theory Tech."} +@STRING{IEEE_J_RFI = "{IEEE} Trans. Radio Freq. Interference"} +@STRING{IEEE_J_TJMJ = "{IEEE} Transl. J. Magn. Jpn."} + + + +energy and power +@STRING{IEEE_J_EC = "{IEEE} Trans. Energy Convers."} +@STRING{IEEE_J_PEL = "{IEEE} Power Electron. Lett."} +@STRING{IEEE_J_PWRAS = "{IEEE} Trans. Power App. Syst."} +@STRING{IEEE_J_PWRD = "{IEEE} Trans. Power Del."} +@STRING{IEEE_J_PWRE = "{IEEE} Trans. Power Electron."} +@STRING{IEEE_J_PWRS = "{IEEE} Trans. Power Syst."} + + + +industrial, commercial and consumer +@STRING{IEEE_J_APPIND = "{IEEE} Trans. Appl. Ind."} +@STRING{IEEE_J_BC = "{IEEE} Trans. Broadcast."} +disabled till definition is verified +STRING{IEEE_J_BCTV = "{IEEE} Trans. Broadcast Television Receivers"} +@STRING{IEEE_J_CE = "{IEEE} Trans. Consum. Electron."} +@STRING{IEEE_J_IE = "{IEEE} Trans. Ind. Electron."} +@STRING{IEEE_J_IECI = "{IEEE} Trans. Ind. Electron. Contr. Instrum."} +@STRING{IEEE_J_IA = "{IEEE} Trans. Ind. Appl."} +@STRING{IEEE_J_IGA = "{IEEE} Trans. Ind. Gen. Appl."} +@STRING{IEEE_J_IINF = "{IEEE} Trans. Ind. Informat."} +@STRING{IEEE_J_PSE = "{IEEE} J. Product Safety Eng."} + + + +instrumentation and measurement +@STRING{IEEE_J_IM = "{IEEE} Trans. Instrum. Meas."} + + + +insulation and materials +@STRING{IEEE_J_JEM = "{IEEE/TMS} J. Electron. Mater."} +@STRING{IEEE_J_DEI = "{IEEE} Trans. Dielectr. Electr. Insul."} +@STRING{IEEE_J_EI = "{IEEE} Trans. Electr. Insul."} + + + +mechanical +@STRING{IEEE_J_MECH = "{IEEE/ASME} Trans. Mechatronics"} +@STRING{IEEE_J_MEMS = "J. Microelectromech. Syst."} + + + +medical and biological +@STRING{IEEE_J_BME = "{IEEE} Trans. Biomed. Eng."} +Note: The B-ME journal later dropped the hyphen and became the BME. +@STRING{IEEE_J_B-ME = "{IEEE} Trans. Bio-Med. Eng."} +@STRING{IEEE_J_BMELC = "{IEEE} Trans. Bio-Med. Electron."} +disabled till definition is verified +STRING{IEEE_J_CBB = "{IEEE/ACM} Trans. Comput. Biology Bioinformatics"} +@STRING{IEEE_J_ITBM = "{IEEE} Trans. Inf. Technol. Biomed."} +@STRING{IEEE_J_ME = "{IEEE} Trans. Med. Electron."} +@STRING{IEEE_J_MI = "{IEEE} Trans. Med. Imag."} +@STRING{IEEE_J_NB = "{IEEE} Trans. Nanobiosci."} +@STRING{IEEE_J_NSRE = "{IEEE} Trans. Neural Syst. Rehabil. Eng."} +@STRING{IEEE_J_RE = "{IEEE} Trans. Rehabil. Eng."} + + + + optics, lightwave and photonics +@STRING{IEEE_J_PTL = "{IEEE} Photon. Technol. Lett."} +@STRING{IEEE_J_JLT = "J. Lightw. Technol."} + + + +physics, electrons, nanotechnology, nuclear and quantum electronics +@STRING{IEEE_J_EDL = "{IEEE} Electron Device Lett."} +@STRING{IEEE_J_JQE = "{IEEE} J. Quantum Electron."} +@STRING{IEEE_J_JSTQE = "{IEEE} J. Sel. Topics Quantum Electron."} +@STRING{IEEE_J_ED = "{IEEE} Trans. Electron Devices"} +@STRING{IEEE_J_NANO = "{IEEE} Trans. Nanotechnol."} +@STRING{IEEE_J_NS = "{IEEE} Trans. Nucl. Sci."} +@STRING{IEEE_J_PS = "{IEEE} Trans. Plasma Sci."} + + + +reliability +IEEE seems to want "Mat." here, not "Mater." +@STRING{IEEE_J_DMR = "{IEEE} Trans. Device Mater. Rel."} +@STRING{IEEE_J_R = "{IEEE} Trans. Rel."} + + + +semiconductors, superconductors, electrochemical and solid state +@STRING{IEEE_J_ESSL = "{IEEE/ECS} Electrochem. Solid-State Lett."} +@STRING{IEEE_J_JSSC = "{IEEE} J. Solid-State Circuits"} +@STRING{IEEE_J_ASC = "{IEEE} Trans. Appl. Supercond."} +@STRING{IEEE_J_SM = "{IEEE} Trans. Semicond. Manuf."} + + + +sensors +@STRING{IEEE_J_SENSOR = "{IEEE} Sensors J."} + + + +VLSI +@STRING{IEEE_J_VLSI = "{IEEE} Trans. {VLSI} Syst."} + + + + + + +IEEE Magazines + + + +@STRING{IEEE_M_AES = "{IEEE} Aerosp. Electron. Syst. Mag."} +@STRING{IEEE_M_HIST = "{IEEE} Ann. Hist. Comput."} +@STRING{IEEE_M_AP = "{IEEE} Antennas Propag. Mag."} +@STRING{IEEE_M_ASSP = "{IEEE} {ASSP} Mag."} +@STRING{IEEE_M_CD = "{IEEE} Circuits Devices Mag."} +@STRING{IEEE_M_CAS = "{IEEE} Circuits Syst. Mag."} +@STRING{IEEE_M_COM = "{IEEE} Commun. Mag."} +@STRING{IEEE_M_COMSOC = "{IEEE} Commun. Soc. Mag."} +@STRING{IEEE_M_CIM = "{IEEE} Comput. Intell. Mag."} +CSEM changed to CSE in 1999 +@STRING{IEEE_M_CSE = "{IEEE} Comput. Sci. Eng."} +@STRING{IEEE_M_CSEM = "{IEEE} Comput. Sci. Eng. Mag."} +@STRING{IEEE_M_C = "{IEEE} Computer"} +@STRING{IEEE_M_CAP = "{IEEE} Comput. Appl. Power"} +@STRING{IEEE_M_CGA = "{IEEE} Comput. Graph. Appl."} +@STRING{IEEE_M_CONC = "{IEEE} Concurrency"} +@STRING{IEEE_M_CS = "{IEEE} Control Syst. Mag."} +@STRING{IEEE_M_DTC = "{IEEE} Des. Test. Comput."} +@STRING{IEEE_M_EI = "{IEEE} Electr. Insul. Mag."} +@STRING{IEEE_M_ETR = "{IEEE} ElectroTechnol. Rev."} +@STRING{IEEE_M_EMB = "{IEEE} Eng. Med. Biol. Mag."} +@STRING{IEEE_M_EMR = "{IEEE} Eng. Manag. Rev."} +@STRING{IEEE_M_EXP = "{IEEE} Expert"} +@STRING{IEEE_M_IA = "{IEEE} Ind. Appl. Mag."} +@STRING{IEEE_M_IM = "{IEEE} Instrum. Meas. Mag."} +@STRING{IEEE_M_IS = "{IEEE} Intell. Syst."} +@STRING{IEEE_M_IC = "{IEEE} Internet Comput."} +@STRING{IEEE_M_ITP = "{IEEE} {IT} Prof."} +@STRING{IEEE_M_MICRO = "{IEEE} Micro"} +@STRING{IEEE_M_MW = "{IEEE} Microw. Mag."} +@STRING{IEEE_M_MM = "{IEEE} Multimedia"} +@STRING{IEEE_M_NET = "{IEEE} Netw."} +IEEE's editorial manual lists "Pers. Commun.", +but "Personal Commun. Mag." seems to be what is used in the journals +@STRING{IEEE_M_PCOM = "{IEEE} Personal Commun. Mag."} +@STRING{IEEE_M_POT = "{IEEE} Potentials"} +CAP and PER merged to form PE in 2003 +@STRING{IEEE_M_PE = "{IEEE} Power Energy Mag."} +@STRING{IEEE_M_PER = "{IEEE} Power Eng. Rev."} +@STRING{IEEE_M_PVC = "{IEEE} Pervasive Comput."} +@STRING{IEEE_M_RA = "{IEEE} Robot. Autom. Mag."} +@STRING{IEEE_M_SAP = "{IEEE} Security Privacy"} +@STRING{IEEE_M_SP = "{IEEE} Signal Process. Mag."} +@STRING{IEEE_M_S = "{IEEE} Softw."} +@STRING{IEEE_M_SPECT = "{IEEE} Spectr."} +@STRING{IEEE_M_TS = "{IEEE} Technol. Soc. Mag."} +@STRING{IEEE_M_VT = "{IEEE} Veh. Technol. Mag."} +@STRING{IEEE_M_WC = "{IEEE} Wireless Commun. Mag."} +@STRING{IEEE_M_TODAY = "Today's Engineer"} + + + + + + +IEEE Online Publications + + + +@STRING{IEEE_O_CSTO = "{IEEE} Commun. Surveys Tuts."} +disabled till definition is verified +STRING{IEEE_O_DSO = "{IEEE} Distrib. Syst. Online"} + + + + + +-- +EOF diff --git a/mpi-energy2-extension/IEEEtran/IEEEexample.bib b/mpi-energy2-extension/IEEEtran/IEEEexample.bib new file mode 100644 index 0000000..024745c --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/IEEEexample.bib @@ -0,0 +1,1190 @@ + +IEEEexample.bib +V1.12 (2007/01/11) +Copyright (c) 2002-2007 by Michael Shell +See: http://www.michaelshell.org/ +for current contact information. + +This is an example BibTeX database for the official IEEEtran.bst +BibTeX style file. + +Some entries call strings that are defined in the IEEEabrv.bib file. +Therefore, IEEEabrv.bib should be loaded prior to this file. +Usage: + +\bibliographystyle{./IEEEtran} +\bibliography{./IEEEabrv,./IEEEexample} + + +Support sites: +http://www.michaelshell.org/tex/ieeetran/ +http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +and/or +http://www.ieee.org/ + +************************************************************************* +Legal Notice: +This code is offered as-is without any warranty either expressed or +implied; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE! +User assumes all risk. +In no event shall IEEE or any contributor to this code be liable for +any damages or losses, including, but not limited to, incidental, +consequential, or any other damages, resulting from the use or misuse +of any information contained here. + +All comments are the opinions of their respective authors and are not +necessarily endorsed by the IEEE. + +This work is distributed under the LaTeX Project Public License (LPPL) +( http://www.latex-project.org/ ) version 1.3, and may be freely used, +distributed and modified. A copy of the LPPL, version 1.3, is included +in the base LaTeX documentation of all distributions of LaTeX released +2003/12/01 or later. +Retain all contribution notices and credits. +** Modified files should be clearly indicated as such, including ** +** renaming them and changing author support contact information. ** + +File list of work: IEEEabrv.bib, IEEEfull.bib, IEEEexample.bib, + IEEEtran.bst, IEEEtranS.bst, IEEEtranSA.bst, + IEEEtranN.bst, IEEEtranSN.bst, IEEEtran_bst_HOWTO.pdf +************************************************************************* + + +Note that, because the example references were taken from actual IEEE +publications, these examples do not always contain the full amount +of information that may be desirable (for use with other BibTeX styles). +In particular, full names (not abbreviated with initials) should be +entered whenever possible as some (non-IEEE) bibliography styles use +full names. IEEEtran.bst will automatically abbreviate when it encounters +full names. + + + + +references for the IEEEtran.bst documentation +IEEEtran homepage +@electronic{IEEEhowto:IEEEtranpage, + author = "Michael Shell", + title = "{IEEE}tran Homepage", + url = "http://www.michaelshell.org/tex/ieeetran/", + year = "2007" +} + + +the distribution site for IEEEtran.bst +@electronic{IEEEexample:shellCTANpage, + author = "Michael Shell", + title = "{IEEE}tran Webpage on {CTAN}", + url = "http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/", + year = "2007" +} + + +the IEEE website +sort key is needed for sorting styles +@electronic{IEEEexample:IEEEwebsite, + title = "The {IEEE} Website", + url = "http://www.ieee.org/", + year = "2007", + key = "IEEE" +} + + +The BibTeX user's guide. +The filename could have been put in the URL instead. But, there might +be other interesting things for the user in the same directory - and +the filename might change before the directory that contains it. +@electronic{IEEEexample:bibtexuser, + author = "Oren Patashnik", + title = "{{\BibTeX}}ing", + howpublished = "{btxdoc.pdf}", + url = "http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/", + month = feb, + year = "1988" +} + + +The BibTeX style designer's guide. +@electronic{IEEEexample:bibtexdesign, + author = "Oren Patashnik", + title = "Designing {{\BibTeX}} Styles", + howpublished = "{btxhak.pdf}", + url = "http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/", + month = feb, + year = "1988" +} + + +A comprehensive BibTeX tutorial. +@electronic{IEEEexample:tamethebeast, + author = "Nicolas Markey", + title = "Tame the BeaST --- The B to X of {{\BibTeX}}", + url = "http://tug.ctan.org/tex-archive/info/bibtex/tamethebeast/", + month = oct, + year = "2005" +} + + +The BibTeX Tips and FAQ guide. +@electronic{IEEEexample:bibtexFAQ, + author = "David Hoadley and Michael Shell", + title = "{{\BibTeX}} Tips and {FAQ}", + howpublished = "{btxFAQ.pdf}", + url = "http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/", + month = jan, + year = "2007" +} + + +The TeX FAQ +@electronic{IEEEexample:texfaq, + author = "Robin Fairbairns", + title = "The {{\TeX}} {FAQ}", + url = "http://www.tex.ac.uk/cgi-bin/texfaq2html/", + month = jan, + year = "2007" +} + + +A BibTeX Guide via Examples. +@electronic{IEEEexample:bibtexguide, + author = "Ki-Joo Kim", + title = "A {{\BibTeX}} Guide via Examples", + howpublished = "{bibtex\_guide.pdf}", + url = "http://www.geocities.com/kijoo2000/", + month = apr, + year = "2004" +} + + +TeX User Group Bibliography Archive +@electronic{IEEEexample:beebe_archive, + author = "Nelson H. F. Beebe", + title = "{{\TeX}} User Group Bibliography Archive", + url = "http://www.math.utah.edu:8080/pub/tex/bib/index-table.html", + month = aug, + year = "2006" +} + +The natbib.sty package. +@electronic{ctan:natbib, + author = "Patrick W. Daly", + title = "The natbib.sty package", + url = "http://www.ctan.org/tex-archive/macros/latex/contrib/natbib/", + month = sep, + year = "2006" +} + +The url.sty package. +@electronic{IEEEexample:urlsty, + author = "Donald Arseneau", + title = "The url.sty Package", + url = "http://www.ctan.org/tex-archive/macros/latex/contrib/misc/", + month = jun, + year = "2005", +} + + +The hyperref.sty package. +@electronic{IEEEexample:hyperrefsty, + author = "Sebastian Rahtz and Heiko Oberdiek", + title = "The hyperref.sty Package", + url = "http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/", + month = nov, + year = "2006", +} + + +The breakurl.sty package. +@electronic{IEEEexample:breakurl, + author = "Vilar Camara Neto", + title = "The breakurl.sty Package", + url = "http://www.ctan.org/tex-archive/macros/latex/contrib/breakurl/", + month = aug, + year = "2006", +} + + +The Babel package. +@electronic{IEEEexample:babel, + author = "Johannes Braams", + title = "The Babel Package", + url = "http://www.ctan.org/tex-archive/macros/latex/required/babel/", + month = nov, + year = "2005", +} + + +The multibib package. +@electronic{IEEEexample:multibibsty, + author = "Thorsten Hansen", + title = "The multibib.sty package", + url = "http://www.ctan.org/tex-archive/macros/latex/contrib/multibib/", + month = jan, + year = "2004" +} + + +The biblatex package. +@electronic{IEEEexample:biblatex, + author = "Philipp Lehman", + title = "The biblatex package", + url = "http://www.ctan.org/tex-archive/macros/latex/exptl/biblatex/", + month = jan, + year = "2007" +} + + + +The three most common and typical types of references used in +IEEE publications: + +an article in a journal +Note the use of the IEEE_J_EDL string, defined in the IEEEabrv.bib file, +for the journal name. IEEEtran.bst defines the BibTeX standard three +letter month codes per IEEE style. +From the June 2002 issue of "IEEE Transactions on Electron Devices", +page 996, reference #16. +@article{IEEEexample:article_typical, + author = "S. Zhang and C. Zhu and J. K. O. Sin and P. K. T. Mok", + title = "A Novel Ultrathin Elevated Channel Low-temperature + Poly-{Si} {TFT}", + journal = IEEE_J_EDL, + volume = "20", + month = nov, + year = "1999", + pages = "569-571" +} + + +journal article using et al. +The (five) authors are actually: F. Delorme, S. Slempkes, G. Alibert, +B. Rose, J. Brandon +The month (July) was not given here. +From the September 1998 issue of "IEEE Journal on Selected Areas in +Communications", page 1257, reference #28. +@article{IEEEexample:articleetal, + author = "F. Delorme and others", + title = "Butt-jointed {DBR} Laser With 15 {nm} Tunability Grown + in Three {MOVPE} Steps", + journal = "Electron. Lett.", + volume = "31", + number = "15", + year = "1995", + pages = "1244-1245" +} + + +a paper in a conference proceedings +"conference" can be used as an alias for "inproceedings" +From the June 2002 issue of "Journal of Microelectromechanical Systems", +page 205, reference #16. +@inproceedings{IEEEexample:conf_typical, + author = "R. K. Gupta and S. D. Senturia", + title = "Pull-in Time Dynamics as a Measure of Absolute Pressure", + booktitle = "Proc. {IEEE} International Workshop on + Microelectromechanical Systems ({MEMS}'97)", + address = "Nagoya, Japan", + month = jan, + year = "1997", + pages = "290-294" +} + + +a book +From the May 2002 issue of "IEEE Transactions on Magnetics", +page 1466, reference #4. +@book{IEEEexample:book_typical, + author = "B. D. Cullity", + title = "Introduction to Magnetic Materials", + publisher = "Addison-Wesley", + address = "Reading, MA", + year = "1972" +} + + + + +Other examples + +journal article with large page numbers, IEEE will divide numbers 5 digits +or longer into groups of three with small spaces between them. Page ranges +can be separated via either "-" or "--", IEEEtran.bst will automatically +convert the separator dash(es) to "--". +Authors and/or IEEE do not always provide/use the journal number, but it +was used in this case. IEEEtran.bst can be configured to ignore journal +numbers if desired. +From the August 2000 issue of "IEEE Photonics Technology Letters", +page 1039, reference #11. +@article{IEEEexample:articlelargepages, + author = "A. Castaldini and A. Cavallini and B. Fraboni + and P. Fernandez and J. Piqueras", + title = "Midgap Traps Related to Compensation Processes in + {CdTe} Alloys", + journal = "Phys. Rev. B.", + volume = "56", + number = "23", + year = "1997", + pages = "14897-14900" +} + + +journal article with dual months +use the BibTeX "#" concatenation operator +From the March 2002 issue of "IEEE Transactions on Mechatronics", +page 21, reference #8. +@article{IEEEexample:articledualmonths, + author = "Y. Okada and K. Dejima and T. Ohishi", + title = "Analysis and Comparison of {PM} Synchronous Motor and + Induction Motor Type Magnetic Bearings", + journal = IEEE_J_IA, + volume = "31", + month = sep # "/" # oct, + year = "1995", + pages = "1047-1053" +} + + +journal article to be published as a misc entry type +date information like month and year is optional +However, the article form like that below may be a better approach. +From the May 2002 issue of "IEEE Journal of Selected Areas in +Communication", page 725, reference #3. +@misc{IEEEexample:TBPmisc, + author = "M. Coates and A. Hero and R. Nowak and B. Yu", + title = "Internet Tomography", + howpublished = IEEE_M_SP, + month = may, + year = "2002", + note = "to be published" +} + + +journal article to be published as an article entry type +year is required, so if absent, use the year field to hold +the "submitted for publication" in order to avoid a warning for +the missing year field. +From the June 2002 issue of "IEEE Transactions on Information Theory", +page 1461, reference #21. +@article{IEEEexample:TBParticle, + author = "N. Kahale and R. Urbanke", + title = "On the Minimum Distance of Parallel and Serially + Concatenated Codes", + journal = IEEE_J_IT, + year = "submitted for publication" +} + + + + + +book with editor and no author +From the June 2002 issue of "IEEE Transactions on Information Theory", +page 1725, reference #1. +@book{IEEEexample:bookwitheditor, + editor = "J. C. Candy and G. C. Temes", + title = "Oversampling Delta-Sigma Data Converters Theory, + Design and Simulation", + publisher = "{IEEE} Press.", + address = "New York", + year = "1992" +} + + +book with edition, author and editor +Note that the standard BibTeX styles do not support book entries with both +author and editor fields, but IEEEtran.bst does. +The standard BibTeX way of specifying the edition is to use capitalized +ordinal words such as "First", "Second", etc. Most .bst files can convert +up to about "Fifth" into the format needed. IEEEtran.bst can convert up +to "Tenth" to the "Arabic ordinal" form IEEE uses (e.g., "10th"). For +editions over the tenth, it is best to use the "Arabic ordinal" form for +IEEE related work (e.g., "101st") +Note how "Jr." has to be entered. +From the May 2002 issue of "Journal of Lightwave Technology", page 856, +reference #17. +@book{IEEEexample:book, + author = "S. M. Metev and V. P. Veiko", + editor = "Osgood, Jr., R. M.", + title = "Laser Assisted Microtechnology", + edition = "Second", + publisher = "Springer-Verlag", + address = "Berlin, Germany", + year = "1998" +} + + +book with series and volume +From the January 2000 issue of "IEEE Transactions on Communications", +page 11, reference #31. +@book{IEEEexample:bookwithseriesvolume, + editor = "J. Breckling", + title = "The Analysis of Directional Time Series: Applications to + Wind Speed and Direction", + series = "Lecture Notes in Statistics", + publisher = "Springer", + address = "Berlin, Germany", + year = "1989", + volume = "61" +} + + +inbook with chapter number. The pages field could also have been given. +The chapter number could be changed to something else such as a section +number via the type field: type = "sec.". +From the May 2002 issue of "IEEE Transactions on Circuits and Systems---I: +Fundamental Applications and Theory", page 638, reference #22. +@inbook{IEEEexample:inbook, + author = "H. E. Rose", + title = "A Course in Number Theory", + publisher = "Oxford Univ. Press", + address = "New York, NY", + year = "1988", + chapter = "3" +} + + +inbook with pages and note. The language field is not set to Russian +because the title is presented here in its translated, English, form. +From the May 2002 issue of "IEEE Transactions on Magnetics", page 1533, +reference #5. +@inbook{IEEEexample:inbookpagesnote, + author = "B. K. Bul", + title = "Theory Principles and Design of Magnetic Circuits", + publisher = "Energia Press", + address = "Moscow", + year = "1964", + pages = "464", + note = "(in Russian)" +} + + + + + +incollection with author and editor +From the May 2002 issue of "Journal of Lightwave Technology", +page 807, reference #7. +@incollection{IEEEexample:incollection, + author = "W. V. Sorin", + editor = "D. Derickson", + title = "Optical Reflectometry for Component Characterization", + booktitle = "Fiber Optic Test and Measurement", + publisher = "Prentice-Hall", + address = "Englewood Cliffs, NJ", + year = "1998" +} + + +incollection with series +From the April 2000 issue of "IEEE Transactions on Communication", +page 609, reference #3. +@incollection{IEEEexample:incollectionwithseries, + author = "J. B. Anderson and K. Tepe", + title = "Properties of the Tailbiting {BCJR} Decoder", + booktitle = "Codes, Systems and Graphical Models", + series = "{IMA} Volumes in Mathematics and Its Applications", + publisher = "Springer-Verlag", + address = "New York", + year = "2000" + +} + + +incollection with author, editor, chapter and pages +From the January 2000 issue of "IEEE Transactions on Communications", +page 16, reference #9. +@incollection{IEEEexample:incollection_chpp, + author = "P. Hedelin and P. Knagenhjelm and M. Skoglund", + editor = "W. B. Kleijn and K. K. Paliwal", + title = "Theory for Transmission of Vector Quantization Data", + booktitle = "Speech Coding and Synthesis", + publisher = "Elsevier Science", + address = "Amsterdam, The Netherlands", + year = "1995", + chapter = "10", + pages = "347-396" +} + + +incollection with a large number of authors, some authors/journals will +use et al. for so many names. IEEEtran.bst can be configured to do this +if desired, or "R. M. A. Dawson and others" can be used instead. +Note that IEEE may not include the publisher for incollection entries - +IEEEtran.bst will not issue a warning if the publisher is missing for +incollections - but other .bst files often will. +From the June 2002 issue of "IEEE Transactions on Electron Devices", +page 996, reference #12. +@incollection{IEEEexample:incollectionmanyauthors, + author = "R. M. A. Dawson and Z. Shen and D. A. Furst and + S. Connor and J. Hsu and M. G. Kane and R. G. Stewart and + A. Ipri and C. N. King and P. J. Green and R. T. Flegal + and S. Pearson and W. A. Barrow and E. Dickey and K. Ping + and C. W. Tang and S. Van. Slyke and + F. Chen and J. Shi and J. C. Sturm and M. H. Lu", + title = "Design of an Improved Pixel for a Polysilicon + Active-Matrix Organic {LED} Display", + booktitle = "{SID} Tech. Dig.", + volume = "29", + year = "1998", + pages = "11-14" +} + + + + + +A Motorola data book as a manual +It is somewhat unusual to include the data book part number. +in the title. It might be more correct to put this information +in the howpublished field instead. +From the December 2000 issue of "IEEE Transactions on Communications", +page 1986, reference #10. +@manual{IEEEexample:motmanual, + title = "{FLEXChip} Signal Processor ({MC68175/D})", + organization = "Motorola", + year = "1996" +} + + +same reference, but using IEEEtran's howpublished extension +@manual{IEEEexample:motmanualhowpub, + title = "{FLEXChip} Signal Processor", + howpublished = "{MC68175/D}", + organization = "Motorola", + year = "1996" +} + + + + +conference paper with an address and days. Some journals capitalize the +letters in "Globecom", this one did not. +From the May 2002 issue of "IEEE Transactions on Communications", +page 697, reference #12. +@inproceedings{IEEEexample:confwithadddays, + author = "M. S. Yee and L. Hanzo", + title = "Radial Basis Function Decision Feedback Equaliser + Assisted Burst-by-burst Adaptive Modulation", + booktitle = "Proc. {IEEE} Globecom '99", + address = "Rio de Janeiro, Brazil", + month = dec # " 5--9,", + year = "1999", + pages = "2183-2187" +} + + +conference paper with volume number. A conference proceedings with a vol +number is a little uncommon, note that the vol number is placed +before the address in the formatted bibliography entry +From the April 2002 issue of "IEEE/ACM Transactions on Networking", +page 181, reference #26. +@inproceedings{IEEEexample:confwithvolume, + author = "M. Yajnik and S. B. Moon and J. Kurose and D. Towsley", + title = "Measurement and Modeling of the Temporal Dependence in + Packet Loss", + booktitle = "Proc. {IEEE} {INFOCOM}'99", + volume = "1", + address = "New York, NY", + month = mar, + year = "1999", + pages = "345-352" +} + + +conference paper with a paper number, the type field can be used to +override the word "paper", e.g., type = "postdeadline paper". A type +can be given even without a paper field. +Also, IEEEtran.bst can be configured to ignore paper numbers and types. +From the May 2002 issue of "Journal of Lightwave Technology", +page 807, reference #4. +@inproceedings{IEEEexample:confwithpaper, + author = "M. Wegmuller and J. P. von der Weid and P. Oberson + and N. Gisin", + title = "High Resolution Fiber Distributed Measurements With + Coherent {OFDR}", + booktitle = "Proc. {ECOC}'00", + year = "2000", + paper = "11.3.4", + pages = "109" +} + + +conference paper with a postdeadline type paper, the paper field is +optional. +From the August 2000 issue of "IEEE Photonics Technology Letters", +page 1087, reference #12. +@inproceedings{IEEEexample:confwithpapertype, + author = "B. Mikkelsen and G. Raybon and R.-J. Essiambre and + K. Dreyer and Y. Su. and L. E. Nelson and J. E. Johnson + and G. Shtengel and A. Bond and D. G. Moodie and + A. D. Ellis", + title = "160 {Gbit/s} Single-channel Transmission Over 300 km + Nonzero-dispersion Fiber With Semiconductor Based + Transmitter and Demultiplexer", + booktitle = "Proc. {ECOC}'99", + year = "1999", + paper = "2-3", + type = "postdeadline paper", + pages = "28-29" +} + + +presented at a conference +intype overrides the default "in" and causes the booktitle not to be +emphasized (rendered in italics). +From the February 2002 issue of "IEEE/ACM Transactions on Networking", +page 163, reference #6. +@inproceedings{IEEEexample:presentedatconf, + author = "S. G. Finn and M. M{\'e}dard and R. A. Barry", + title = "A Novel Approach to Automatic Protection Switching + Using Trees", + intype = "presented at the", + booktitle = "Proc. Int. Conf. Commun.", + year = "1997" +} + + + + + +master's thesis, often the University name will be abbreviated and the +state or country will be included in the address. The type field can +used to override the default type "Master's thesis" +From the June 2002 issue of "IEEE Transactions on Microelectromechanical +Systems", page 186, reference #11. +@mastersthesis{IEEEexample:masters, + author = "Nin C. Loh", + title = "High-Resolution Micromachined Interferometric + Accelerometer", + school = "Massachusetts Institute of Technology", + address = "Cambridge", + year = "1992" +} + + +master's thesis with a type field +From the August 2001 issue of "IEEE/ACM Transactions on Networking", +page 391, reference #12. +@mastersthesis{IEEEexample:masterstype, + author = "A. Karnik", + title = "Performance of {TCP} Congestion Control with Rate + Feedback: {TCP/ABR} and Rate Adaptive {TCP/IP}", + school = "Indian Institute of Science", + type = "M. Eng. thesis", + address = "Bangalore, India", + month = jan, + year = "1999" +} + + + + + +Ph.D. dissertation with a URL field, the university is abbreviated +From the October 2001 issue of "IEEE/ACM Transactions on Networking", +page 590, reference #11. +@phdthesis{IEEEexample:phdurl, + author = "Q. Li", + title = "Delay Characterization and Performance Control of + Wide-area Networks", + school = "Univ. of Delaware", + address = "Newark", + month = may, + year = "2000", + url = "http://www.ece.udel.edu/~qli" +} + + + + + +technical report +From the August 2001 issue of "IEEE/ACM Transactions on Networking", +page 490, reference #15. +@techreport{IEEEexample:techrep, + author = "R. Jain and K. K. Ramakrishnan and D. M. Chiu", + title = "Congestion Avoidance in Computer Networks with a + Connectionless Network Layer", + institution = "Digital Equipment Corporation", + address = "MA", + number = "DEC-TR-506", + month = aug, + year = "1987" +} + + +technical report with type +for those times when "Tech. Rep." needs to be modified +From the February 2001 issue of "IEEE/ACM Transactions on Networking", +page 46, reference #8. +@techreport{IEEEexample:techreptype, + author = "J. Padhye and V. Firoiu and D. Towsley", + title = "A Stochastic Model of {TCP} {R}eno Congestion Avoidance + and Control", + institution = "Univ. of Massachusetts", + address = "Amherst, MA", + type = "CMPSCI Tech. Rep.", + number = "99-02", + year = "1999" +} + + +technical report with type +for those times when "Tech. Rep." needs to be modified +This reference did not have an address. +From the January 2000 issue of "IEEE Transactions on Communications", +page 117, reference #6. +@techreport{IEEEexample:techreptypeii, + author = "D. Middleton and A. D. Spaulding", + title = "A Tutorial Review of Elements of Weak Signal Detection + in Non-{G}aussian {EMI} Environments", + institution = "National Telecommunications and Information + Administration ({NTIA}), U.S. Dept. of Commerce", + type = "NTIA Report", + number = "86-194", + month = may, + year = "1986" +} + + + + + +an unpublished work +for unpublished types, the note field is required. IEEE usually +just uses the word "unpublished" for the note. +From the August 2001 issue of "IEEE/ACM Transactions on Networking", +page 391, reference #16. +@unpublished{IEEEexample:unpublished, + author = "T. J. Ott and N. Aggarwal", + title = "{TCP} over {ATM}: {ABR} or {UBR}", + note = "Unpublished" +} + + + + + +electronic with a howpublished information field +From the August 2001 issue of "IEEE/ACM Transactions on Networking", +page 391, reference #7. +@electronic{IEEEexample:electronhowinfo, + author = "V. Jacobson", + title = "Modified {TCP} Congestion Avoidance Algorithm", + howpublished = "end2end-interest mailing list", + url = "ftp://ftp.isi.edu/end2end/end2end-interest-1990.mail", + month = apr, + year = "1990" +} + + +electronic with a howpublished information field +From the August 2001 issue of "IEEE/ACM Transactions on Networking", +page 418, reference #31. +@electronic{IEEEexample:electronhowinfo2, + author = "V. Valloppillil and K. W. Ross", + title = "Cache Array Routing Protocol v1.1", + howpublished = "Internet draft", + url = "http://ds1.internic.net/internet-drafts/draft-vinod-carp-v1-03.txt", + year = "1998" +} + + +electronic with an organization and address +From the February 2002 issue of "IEEE/ACM Transactions on Networking", +page 114, reference #15. +@electronic{IEEEexample:electronorgadd, + author = "D. H. Lorenz and A. Orda", + title = "Optimal Partition of {QoS} Requirements on Unicast + Paths and Multicast Trees", + organization = "Dept. Elect. Eng., Technion", + address = "Haifa, Israel", + url = "ftp://ftp.technion.ac.il/pub/supported/ee/Network/lor.mopq98.ps", + month = jul, + year = "1998" +} + + + + + +U.S. patent +Use the type field to override the patent type. e.g., +type = "Patent Application" +The address is that of the assignee. Note that IEEE does not +display the assignee, the address, and only displays one date. +(if year is not present, the filed dates are used.) However, this +information should be entered as other BibTeX styles may use it. +alternatively, nationality could be entered as "U.S." +From the April 2000 issue of "IEEE Transactions on Communications", +page 542, reference #6. +@patent{IEEEexample:uspat, + author = "Ronald E. Sorace and Victor S. Reinhardt and + Steven A. Vaughn", + assignee = "Hughes Aircraft Company", + address = "Los Angeles, CA", + title = "High-Speed Digital-to-{RF} Converter", + nationality = "United States", + number = "5668842", + dayfiled = "28", + monthfiled = feb, + yearfiled = "1995", + day = "16", + month = sep, + year = "1997" +} + + +Japanese Patent +From the April 2000 issue of "IEEE Transactions on Communications", +page 556, reference #6. +@patent{IEEEexample:jppat, + author = "U. Hideki", + title = "Quadrature Modulation Circuit", + nationality = "Japanese", + number = "152932/92", + day = "20", + month = may, + year = "1992" +} + + +French Patent request, the language field must be entered in lower case +as this is the option name Babel uses. The nationality field needs to be +capitalized. Because this is a patent request, the date filed fields are +used while the date fields are left empty/missing. In other countries, +the words "Patent Application", etc. are used instead. +From the April 2000 issue of "IEEE Transactions on Communications", +page 556, reference #9. +@patent{IEEEexample:frenchpatreq, + author = "F. Kowalik and M. Isard", + title = "Estimateur d'un D{\'e}faut de Fonctionnement + d'un Modulateur en Quadrature et {\'E}tage de Modulation + l'Utilisant", + language = "french", + nationality = "French", + type = "Patent Request", + number = "9500261", + dayfiled = "11", + monthfiled = jan, + yearfiled = "1995" +} + + + + + +a periodical +From the April 2001 issue of "IEEE/ACM Transactions on Networking", +page 160, reference #1. +sort key is needed for sorting styles +@periodical{IEEEexample:periodical, + title = IEEE_M_PCOM # ", Special Issue on Wireless {ATM}", + volume = "3", + month = aug, + year = "1996", + key = "IEEE" +} + + + + + +standard, IEEE does not use the address for standards, but it is good +to provide one for BibTeX styles that use it. +From the August 2001 issue of "IEEE/ACM Transactions on Networking", +page 451, reference #2. +@standard{IEEEexample:standard, + title = "Wireless {LAN} Medium Access Control {(MAC)} and + Physical Layer {(PHY)} Specification", + organization = "IEEE", + address = "Piscataway, NJ", + number = "802.11", + year = "1997" +} + + +standard with type and revision, the type overrides the word standard +(or std.). Here a standard number is not available and a revision number +is used. +From the August 2000 issue of "IEEE Photonics Technology Letters", +page 1048, reference #13. +@standard{IEEEexample:standardproposed, + title = "Fiber Channel Physical Interface ({FC-PI})", + institution = "NCITS", + address = "Washington, DC", + type = "Working Draft Proposed Standard", + revision = "5.2", + year = "1999" +} + + +standard draft as a misc with author +From the May 2002 issue of "IEEE Journal of Selected Areas in +Communication", page 725, reference #16. +@misc{IEEEexample:draftasmisc, + author = "I. Widjaja and A. Elwalid", + title = "{MATE}: {MPLS} Adaptive Traffic Engineering", + howpublished = "IETF Draft", + year = "1999" +} + + + + + +misc for a techreport like reference +techreport is not perfectly suitable because this entry lacks +an institution field +From the August 2001 issue of "IEEE/ACM Transactions on Networking", +page 490, reference #22. +@misc{IEEEexample:miscforum, + author = "L. Roberts", + title = "Enhanced Proportional Rate Control Algorithm {PRCA}", + howpublished = "{ATM} Forum Contribution 94-0735R1", + month = aug, + year = "1994" +} + + +misc for a white paper +From the August 2001 issue of "IEEE/ACM Transactions on Networking", +page 478, reference #4 - Note that the reference there (improperly?) +used the author field for "Cisco". +@misc{IEEEexample:whitepaper, + title = "Advanced {QoS} Services for the Intelligent Internet", + howpublished = "White Paper", + organization = "Cisco", + month = may, + year = "1997" +} + + +misc for a data sheet +From the November 2000 issue of "IEEE Photonics Technology Letters", +page 1551, reference #6. +@misc{IEEEexample:datasheet, + title = "{PDCA12-70} Data Sheet", + organization = "Opto Speed SA", + address = "Mezzovico, Switzerland" +} + + + + + +Other unusual references + +a private communication as a misc entry type +sometimes the designation "personal communication" is used instead +From the June 2002 issue of "IEEE Transactions on Information Theory", +page 1725, reference #16. +@misc{IEEEexample:private, + author = "S. Konyagin", + howpublished = "private communication", + year = "1998" +} + + +an internet request for comments (RFC) as a misc entry type +It would also be nice to add a URL to these types of things. +RFCs can also be handled as electronic references. +From the April 2002 issue of "IEEE/ACM Transactions on Networking", +page 181, reference #14. +@misc{IEEEexample:miscrfc, + author = "K. K. Ramakrishnan and S. Floyd", + title = "A Proposal to Add Explicit Congestion + Notification ({ECN}) to {IP}", + howpublished = "RFC 2481", + month = jan, + year = "1999" +} + + +a software package as a manual +From the June 2002 issue of "IEEE/ASME Journal of Microelectromechanical +Systems", page 205, reference #20. +Sometimes they put the version/release information in the title. +@manual{IEEEexample:softmanual, + title = "SaberDesigner Reference Manual", + organization = "Analogy, Inc.", + address = "Beaverton, OR", + year = "1998", + note = "Release 4.3" +} + + +a software package as an electronic reference +From the February 2003 issue of "IEEE/ACM Transactions on Networking", +page 46, reference #24. If there is no author or organization, a sorting +key is required for sorting styles. It might be a good idea to include +month and year fields as well. +@electronic{IEEEexample:softonline, + title = "Ucb/lbnl/vint Network Simulator---ns (Version 2)", + url = "http://www-mash.cs.berkeley.edu/ns/", + key = "ns" +} + + +misc for a German regulation +In German, the first letters of nouns are capitalized, so we do so here. +From the June 2002 issue of "IEEE Journal in Selected Areas in +Communication", page 892, reference #9. +@misc{IEEEexample:miscgermanreg, + title = "{M}essung von {S}t{\"o}rfeldern an {A}nlagen + und {L}eitungen der {T}elekommunikation im + {F}requenzbereich 9 {kHz} bis 3 {GHz}", + language = "german", + howpublished = "{M}e{\ss}vorschrift {R}eg {TP} {MV} 05", + organization = "Regulierungsbeh{\"o}rde f{\"u}r {T}elekommunikation und + {P}ost ({R}eg {TP})" +} + + + +Ways to handle things like CCSDS's Blue Books +journal article with a URL. However, this is not a very good approach +because the Blue Books are not really journals and the author field has +to be abused. +From the June 2002 issue of "IEEE Transactions on Information Theory", +page 1461, reference #7. +@article{IEEEexample:bluebookarticle, + author = "{Consulative Committee for Space Data Systems (CCSDS)}", + title = "Telemetry Channel Coding", + journal = "Blue Book", + number = "4", + year = "1999", + url = "http://www.ccsds.org/documents/pdf/CCSDS-101.0-B-4.pdf" +} + + +CCSDS's Blue Book handled as a book +However, it is not a good idea to have to use the author field for +an organization (done here because the book entry type requires an +author field). +@book{IEEEexample:bluebookbook, + author = "{Consulative Committee for Space Data Systems (CCSDS)}", + title = "Telemetry Channel Coding", + series = "Blue Book", + number = "4", + publisher = "{CCSDS}", + address = "Newport Beach, {CA}", + year = "1999", + url = "http://www.ccsds.org/documents/pdf/CCSDS-101.0-B-4.pdf" +} + + +CCSDS's Blue Book handled as a manual +This is a much better approach, but uses the howpublished field. +@manual{IEEEexample:bluebookmanual, + title = "Telemetry Channel Coding", + howpublished = "ser. Blue Book, No. 4", + organization = "Consulative Committee for Space Data Systems (CCSDS)", + address = "Newport Beach, CA", + year = "1999", + url = "http://www.ccsds.org/documents/pdf/CCSDS-101.0-B-4.pdf" +} + + + +CCSDS's Blue Book handled as a standard +Probably the best approach for this particular case because the work +is standard related. Note that IEEE does not display the address for +standards. +@standard{IEEEexample:bluebookstandard, + title = "Telemetry Channel Coding", + howpublished = "ser. Blue Book, No. 4", + organization = "Consulative Committee for Space Data Systems (CCSDS)", + address = "Newport Beach, CA", + type = "Recommendation for Space Data System Standard", + number = "101.0-B-4", + month = May, + year = "1999", + url = "http://www.ccsds.org/documents/pdf/CCSDS-101.0-B-4.pdf" +} + + + + + + + + +An example of a IEEEtran control entry which can change some IEEEtran.bst +settings. An entry like this must be cited via \bstctlcite{} command +before the first real \cite{}. The same entry key cannot be called twice +(just like multiple \cite{} of the same entry key place only one entry +in the bibliography.) +The available control fields are: + +CTLuse_article_number +"no" turns off the display of the number for articles. +"yes" enables + +CTLuse_paper +"no" turns off the display of the paper and type fields in inproceedings. +"yes" enables + +CTLuse_forced_etal +"no" turns off the forced use of "et al." +"yes" enables + +CTLmax_names_forced_etal +The maximum number of names that can be present beyond which an "et al." +usage is forced. Be sure that CTLnames_show_etal (below) +is not greater than this value! + +CTLnames_show_etal +The number of names that will be shown with a forced "et al.". +Must be less than or equal to CTLmax_names_forced_etal + +CTLuse_alt_spacing +"no" turns off the alternate interword spacing for entries with URLs. +"yes" enables + +CTLalt_stretch_factor +If alternate interword spacing for entries with URLs is enabled, this is +the interword spacing stretch factor that will be used. For example, the +default "4" here means that the interword spacing in entries with URLs can +stretch to four times normal. Does not have to be an integer. + +CTLdash_repeated_names +"no" turns off the "dashification" of repeated (i.e., identical to those +of the previous entry) names. IEEE normally does this. +"yes" enables + +CTLname_format_string +The name format control string as explained in the BibTeX style hacking +guide. +IEEE style "{f.~}{vv~}{ll}{, jj}" is the default, + +CTLname_latex_cmd +A LaTeX command that each name will be fed to (e.g., "\textsc"). +Leave empty if no special font is desired for the names. +The default is empty. + +CTLname_url_prefix +The prefix text used before URLs. +The default is "[Online]. Available:" A space will be inserted after this +text. If this space is not wanted, just use \relax at the end of the +prefix text. + + +Those fields that are not to be changed can be left out. +@IEEEtranBSTCTL{IEEEexample:BSTcontrol, + CTLuse_article_number = "yes", + CTLuse_paper = "yes", + CTLuse_forced_etal = "no", + CTLmax_names_forced_etal = "10", + CTLnames_show_etal = "1", + CTLuse_alt_spacing = "yes", + CTLalt_stretch_factor = "4", + CTLdash_repeated_names = "yes", + CTLname_format_string = "{f.~}{vv~}{ll}{, jj}", + CTLname_latex_cmd = "", + CTLname_url_prefix = "[Online]. Available:" +} + + diff --git a/mpi-energy2-extension/IEEEtran/IEEEfull.bib b/mpi-energy2-extension/IEEEtran/IEEEfull.bib new file mode 100644 index 0000000..8f07c8c --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/IEEEfull.bib @@ -0,0 +1,419 @@ + +IEEEfull.bib +V1.12 (2007/01/11) +Copyright (c) 2002-2007 by Michael Shell +See: http://www.michaelshell.org/ +for current contact information. + +BibTeX bibliography string definitions of the FULL titles of +IEEE journals and magazines and online publications. + +This file is designed for bibliography styles that require +full-length titles and is not for use in bibliographies that +abbreviate titles. + +Support sites: +http://www.michaelshell.org/tex/ieeetran/ +http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +and/or +http://www.ieee.org/ + +Special thanks to Laura Hyslop and ken Rawson of IEEE for their help +in obtaining the information needed to compile this file. Also, +Volker Kuhlmann and Moritz Borgmann kindly provided some corrections +and additions. + +************************************************************************* +Legal Notice: +This code is offered as-is without any warranty either expressed or +implied; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE! +User assumes all risk. +In no event shall IEEE or any contributor to this code be liable for +any damages or losses, including, but not limited to, incidental, +consequential, or any other damages, resulting from the use or misuse +of any information contained here. + +All comments are the opinions of their respective authors and are not +necessarily endorsed by the IEEE. + +This work is distributed under the LaTeX Project Public License (LPPL) +( http://www.latex-project.org/ ) version 1.3, and may be freely used, +distributed and modified. A copy of the LPPL, version 1.3, is included +in the base LaTeX documentation of all distributions of LaTeX released +2003/12/01 or later. +Retain all contribution notices and credits. +** Modified files should be clearly indicated as such, including ** +** renaming them and changing author support contact information. ** + +File list of work: IEEEabrv.bib, IEEEfull.bib, IEEEexample.bib, + IEEEtran.bst, IEEEtranS.bst, IEEEtranSA.bst, + IEEEtranN.bst, IEEEtranSN.bst, IEEEtran_bst_HOWTO.pdf +************************************************************************* + + +USAGE: + +\bibliographystyle{mybstfile} +\bibliography{IEEEfull,mybibfile} + +where the IEEE titles in the .bib database entries use the strings +defined here. e.g., + + + journal = IEEE_J_AC, + + +to yield "{IEEE} Transactions on Automatic Control" + + +WARNING: IEEE uses abbreviated journal titles in their bibliographies! +Because this file provides the full titles, you should NOT use this file +for work that is to be submitted to the IEEE. + +For IEEE work, you should use the abbreviated titles provided in the +companion file, IEEEabrv.bib. + + +** NOTES ** + + 1. Journals have been grouped according to subject in order to make it + easier to locate and extract the definitions for related journals - + as most works use references that are confined to a single topic. + Magazines are listed in straight alphabetical order. + + 2. String names are closely based on IEEE's own internal acronyms. + + 3. Older, out-of-print IEEE titles are included (but not including titles + dating prior to IEEE's formation from the IRE and AIEE in 1963). + + + + + + +IEEE Journals + + + +aerospace and military +@STRING{IEEE_J_AES = "{IEEE} Transactions on Aerospace and Electronic Systems"} +@STRING{IEEE_J_ANE = "{IEEE} Transactions on Aerospace and Navigational Electronics"} +@STRING{IEEE_J_ANNE = "{IEEE} Transactions on Aeronautical and Navigational Electronics"} +@STRING{IEEE_J_AS = "{IEEE} Transactions on Aerospace"} +@STRING{IEEE_J_AIRE = "{IEEE} Transactions on Airborne Electronics"} +@STRING{IEEE_J_MIL = "{IEEE} Transactions on Military Electronics"} + + + +autos, transportation and vehicles (non-aerospace) +@STRING{IEEE_J_ITS = "{IEEE} Transactions on Intelligent Transportation Systems"} +@STRING{IEEE_J_VT = "{IEEE} Transactions on Vehicular Technology"} +@STRING{IEEE_J_VC = "{IEEE} Transactions on Vehicular Communications"} + + + +circuits, signals, systems, audio and controls +@STRING{IEEE_J_SPL = "{IEEE} Signal Processing Letters"} +@STRING{IEEE_J_ASSP = "{IEEE} Transactions on Acoustics, Speech, and Signal Processing"} +@STRING{IEEE_J_AU = "{IEEE} Transactions on Audio"} +@STRING{IEEE_J_AUEA = "{IEEE} Transactions on Audio and Electroacoustics"} +@STRING{IEEE_J_AC = "{IEEE} Transactions on Automatic Control"} +@STRING{IEEE_J_CAS = "{IEEE} Transactions on Circuits and Systems"} +@STRING{IEEE_J_CASVT = "{IEEE} Transactions on Circuits and Systems for Video Technology"} +@STRING{IEEE_J_CASI = "{IEEE} Transactions on Circuits and Systems---Part {I}: Fundamental Theory and Applications"} +@STRING{IEEE_J_CASII = "{IEEE} Transactions on Circuits and Systems---Part {II}: Analog and Digital Signal Processing"} +in 2004 CASI and CASII renamed part title to CASI_RP and CASII_EB, respectively. +@STRING{IEEE_J_CASI_RP = "{IEEE} Transactions on Circuits and Systems---Part {I}: Regular Papers"} +@STRING{IEEE_J_CASII_EB = "{IEEE} Transactions on Circuits and Systems---Part {II}: Express Briefs"} +@STRING{IEEE_J_CT = "{IEEE} Transactions on Circuit Theory"} +@STRING{IEEE_J_CST = "{IEEE} Transactions on Control Systems Technology"} +@STRING{IEEE_J_SP = "{IEEE} Transactions on Signal Processing"} +@STRING{IEEE_J_SU = "{IEEE} Transactions on Sonics and Ultrasonics"} +@STRING{IEEE_J_SAP = "{IEEE} Transactions on Speech and Audio Processing"} +@STRING{IEEE_J_UE = "{IEEE} Transactions on Ultrasonics Engineering"} +@STRING{IEEE_J_UFFC = "{IEEE} Transactions on Ultrasonics, Ferroelectrics, and Frequency Control"} + + + +communications +@STRING{IEEE_J_COML = "{IEEE} Communications Letters"} +@STRING{IEEE_J_JSAC = "{IEEE} Journal on Selected Areas in Communications"} +@STRING{IEEE_J_COM = "{IEEE} Transactions on Communications"} +@STRING{IEEE_J_COMT = "{IEEE} Transactions on Communication Technology"} +@STRING{IEEE_J_WCOM = "{IEEE} Transactions on Wireless Communications"} + + + +components, packaging and manufacturing +@STRING{IEEE_J_ADVP = "{IEEE} Transactions on Advanced Packaging"} +@STRING{IEEE_J_CHMT = "{IEEE} Transactions on Components, Hybrids and Manufacturing Technology"} +@STRING{IEEE_J_CPMTA = "{IEEE} Transactions on Components, Packaging and Manufacturing Technology---Part {A}"} +@STRING{IEEE_J_CPMTB = "{IEEE} Transactions on Components, Packaging and Manufacturing Technology---Part {B}: Advanced Packaging"} +@STRING{IEEE_J_CPMTC = "{IEEE} Transactions on Components, Packaging and Manufacturing Technology---Part {C}: Manufacturing"} +@STRING{IEEE_J_CAPT = "{IEEE} Transactions on Components and Packaging Technology"} +@STRING{IEEE_J_CAPTS = "{IEEE} Transactions on Components and Packaging Technologies"} +@STRING{IEEE_J_CPART = "{IEEE} Transactions on Component Parts"} +@STRING{IEEE_J_EPM = "{IEEE} Transactions on Electronics Packaging Manufacturing"} +@STRING{IEEE_J_MFT = "{IEEE} Transactions on Manufacturing Technology"} +@STRING{IEEE_J_PHP = "{IEEE} Transactions on Parts, Hybrids and Packaging"} +@STRING{IEEE_J_PMP = "{IEEE} Transactions on Parts, Materials and Packaging"} + + + +CAD +@STRING{IEEE_J_TCAD = "{IEEE} Journal on Technology in Computer Aided Design"} +@STRING{IEEE_J_CAD = "{IEEE} Transactions on Computer-Aided Design of Integrated Circuits and Systems"} + + + +coding, data, information, knowledge +@STRING{IEEE_J_IT = "{IEEE} Transactions on Information Theory"} +@STRING{IEEE_J_KDE = "{IEEE} Transactions on Knowledge and Data Engineering"} + + + +computers, computation, networking and software +@STRING{IEEE_J_C = "{IEEE} Transactions on Computers"} +@STRING{IEEE_J_CAL = "{IEEE} Computer Architecture Letters"} +@STRING{IEEE_J_DSC = "{IEEE} Transactions on Dependable and Secure Computing"} +@STRING{IEEE_J_ECOMP = "{IEEE} Transactions on Electronic Computers"} +@STRING{IEEE_J_EVC = "{IEEE} Transactions on Evolutionary Computation"} +@STRING{IEEE_J_FUZZ = "{IEEE} Transactions on Fuzzy Systems"} +@STRING{IEEE_J_IFS = "{IEEE} Transactions on Information Forensics and Security"} +@STRING{IEEE_J_MC = "{IEEE} Transactions on Mobile Computing"} +@STRING{IEEE_J_NET = "{IEEE/ACM} Transactions on Networking"} +@STRING{IEEE_J_NN = "{IEEE} Transactions on Neural Networks"} +@STRING{IEEE_J_PDS = "{IEEE} Transactions on Parallel and Distributed Systems"} +@STRING{IEEE_J_SE = "{IEEE} Transactions on Software Engineering"} + + + +computer graphics, imaging, and multimedia +@STRING{IEEE_J_JDT = "{IEEE/OSA} Journal of Display Technology"} +@STRING{IEEE_J_IP = "{IEEE} Transactions on Image Processing"} +@STRING{IEEE_J_MM = "{IEEE} Transactions on Multimedia"} +@STRING{IEEE_J_VCG = "{IEEE} Transactions on Visualization and Computer Graphics"} + + + +cybernetics, ergonomics, robots, man-machine, and automation +@STRING{IEEE_J_ASE = "{IEEE} Transactions on Automation Science and Engineering"} +@STRING{IEEE_J_JRA = "{IEEE} Journal of Robotics and Automation"} +@STRING{IEEE_J_HFE = "{IEEE} Transactions on Human Factors in Electronics"} +@STRING{IEEE_J_MMS = "{IEEE} Transactions on Man-Machine Systems"} +@STRING{IEEE_J_PAMI = "{IEEE} Transactions on Pattern Analysis and Machine Intelligence"} +in 1989 JRA became RA +in August 2004, RA split into ASE and RO +@STRING{IEEE_J_RA = "{IEEE} Transactions on Robotics and Automation"} +@STRING{IEEE_J_RO = "{IEEE} Transactions on Robotics"} +@STRING{IEEE_J_SMC = "{IEEE} Transactions on Systems, Man, and Cybernetics"} +@STRING{IEEE_J_SMCA = "{IEEE} Transactions on Systems, Man, and Cybernetics---Part {A}: Systems and Humans"} +@STRING{IEEE_J_SMCB = "{IEEE} Transactions on Systems, Man, and Cybernetics---Part {B}: Cybernetics"} +@STRING{IEEE_J_SMCC = "{IEEE} Transactions on Systems, Man, and Cybernetics---Part {C}: Applications and Reviews"} +@STRING{IEEE_J_SSC = "{IEEE} Transactions on Systems Science and Cybernetics"} + + + +earth, wind, fire and water +@STRING{IEEE_J_GE = "{IEEE} Transactions on Geoscience Electronics"} +@STRING{IEEE_J_GRS = "{IEEE} Transactions on Geoscience and Remote Sensing"} +@STRING{IEEE_J_GRSL = "{IEEE} Geoscience and Remote Sensing Letters"} +@STRING{IEEE_J_OE = "{IEEE} Journal of Oceanic Engineering"} + + + +education, engineering, history, IEEE, professional +@STRING{IEEE_J_CJECE = "Canadian Journal of Electrical and Computer Engineering"} +@STRING{IEEE_J_PROC = "Proceedings of the {IEEE}"} +@STRING{IEEE_J_EDU = "{IEEE} Transactions on Education"} +@STRING{IEEE_J_EM = "{IEEE} Transactions on Engineering Management"} +@STRING{IEEE_J_EWS = "{IEEE} Transactions on Engineering Writing and Speech"} +@STRING{IEEE_J_PC = "{IEEE} Transactions on Professional Communication"} + + + +electromagnetics, antennas, EMI, magnetics and microwave +@STRING{IEEE_J_AWPL = "{IEEE} Antennas and Wireless Propagation Letters"} +@STRING{IEEE_J_MGWL = "{IEEE} Microwave and Guided Wave Letters"} +@STRING{IEEE_J_MWCL = "{IEEE} Microwave and Wireless Components Letters"} +@STRING{IEEE_J_AP = "{IEEE} Transactions on Antennas and Propagation"} +@STRING{IEEE_J_EMC = "{IEEE} Transactions on Electromagnetic Compatibility"} +@STRING{IEEE_J_MAG = "{IEEE} Transactions on Magnetics"} +@STRING{IEEE_J_MTT = "{IEEE} Transactions on Microwave Theory and Techniques"} +@STRING{IEEE_J_RFI = "{IEEE} Transactions on Radio Frequency Interference"} +@STRING{IEEE_J_TJMJ = "{IEEE} Translation Journal on Magnetics in Japan"} + + + +energy and power +@STRING{IEEE_J_EC = "{IEEE} Transactions on Energy Conversion"} +@STRING{IEEE_J_PEL = "{IEEE} Power Electronics Letters"} +@STRING{IEEE_J_PWRAS = "{IEEE} Transactions on Power Apparatus and Systems"} +@STRING{IEEE_J_PWRD = "{IEEE} Transactions on Power Delivery"} +@STRING{IEEE_J_PWRE = "{IEEE} Transactions on Power Electronics"} +@STRING{IEEE_J_PWRS = "{IEEE} Transactions on Power Systems"} + + + +industrial, commercial and consumer +@STRING{IEEE_J_APPIND = "{IEEE} Transactions on Applications and Industry"} +@STRING{IEEE_J_BC = "{IEEE} Transactions on Broadcasting"} +@STRING{IEEE_J_BCTV = "{IEEE} Transactions on Broadcast and Television Receivers"} +@STRING{IEEE_J_CE = "{IEEE} Transactions on Consumer Electronics"} +@STRING{IEEE_J_IE = "{IEEE} Transactions on Industrial Electronics"} +@STRING{IEEE_J_IECI = "{IEEE} Transactions on Industrial Electronics and Control Instrumentation"} +@STRING{IEEE_J_IA = "{IEEE} Transactions on Industry Applications"} +@STRING{IEEE_J_IGA = "{IEEE} Transactions on Industry and General Applications"} +@STRING{IEEE_J_IINF = "{IEEE} Transactions on Industrial Informatics"} +@STRING{IEEE_J_PSE = "{IEEE} Journal of Product Safety Engineering"} + + + +instrumentation and measurement +@STRING{IEEE_J_IM = "{IEEE} Transactions on Instrumentation and Measurement"} + + + +insulation and materials +@STRING{IEEE_J_JEM = "{IEEE/TMS} Journal of Electronic Materials"} +@STRING{IEEE_J_DEI = "{IEEE} Transactions on Dielectrics and Electrical Insulation"} +@STRING{IEEE_J_EI = "{IEEE} Transactions on Electrical Insulation"} + + + +mechanical +@STRING{IEEE_J_MECH = "{IEEE/ASME} Transactions on Mechatronics"} +@STRING{IEEE_J_MEMS = "{IEEE/ASME} Journal of Microelectromechanical Systems"} + + + +medical and biological +@STRING{IEEE_J_BME = "{IEEE} Transactions on Biomedical Engineering"} +Note: The B-ME journal later dropped the hyphen and became the BME. +@STRING{IEEE_J_B-ME = "{IEEE} Transactions on Bio-Medical Engineering"} +@STRING{IEEE_J_BMELC = "{IEEE} Transactions on Bio-Medical Electronics"} +@STRING{IEEE_J_CBB = "{IEEE/ACM} Transactions on Computational Biology and Bioinformatics"} +@STRING{IEEE_J_ITBM = "{IEEE} Transactions on Information Technology in Biomedicine"} +@STRING{IEEE_J_ME = "{IEEE} Transactions on Medical Electronics"} +@STRING{IEEE_J_MI = "{IEEE} Transactions on Medical Imaging"} +@STRING{IEEE_J_NB = "{IEEE} Transactions on NanoBioscience"} +@STRING{IEEE_J_NSRE = "{IEEE} Transactions on Neural Systems and Rehabilitation Engineering"} +@STRING{IEEE_J_RE = "{IEEE} Transactions on Rehabilitation Engineering"} + + + +optics, lightwave and photonics +@STRING{IEEE_J_PTL = "{IEEE} Photonics Technology Letters"} +@STRING{IEEE_J_JLT = "{IEEE/OSA} Journal of Lightwave Technology"} + + + +physics, electrons, nanotechnology, nuclear and quantum electronics +@STRING{IEEE_J_EDL = "{IEEE} Electron Device Letters"} +@STRING{IEEE_J_JQE = "{IEEE} Journal of Quantum Electronics"} +@STRING{IEEE_J_JSTQE = "{IEEE} Journal of Selected Topics in Quantum Electronics"} +@STRING{IEEE_J_ED = "{IEEE} Transactions on Electron Devices"} +@STRING{IEEE_J_NANO = "{IEEE} Transactions on Nanotechnology"} +@STRING{IEEE_J_NS = "{IEEE} Transactions on Nuclear Science"} +@STRING{IEEE_J_PS = "{IEEE} Transactions on Plasma Science"} + + + +reliability +@STRING{IEEE_J_DMR = "{IEEE} Transactions on Device and Materials Reliability"} +@STRING{IEEE_J_R = "{IEEE} Transactions on Reliability"} + + + +semiconductors, superconductors, electrochemical and solid state +@STRING{IEEE_J_ESSL = "{IEEE/ECS} Electrochemical and Solid-State Letters"} +@STRING{IEEE_J_JSSC = "{IEEE} Journal of Solid-State Circuits"} +@STRING{IEEE_J_ASC = "{IEEE} Transactions on Applied Superconductivity"} +@STRING{IEEE_J_SM = "{IEEE} Transactions on Semiconductor Manufacturing"} + + + +sensors +@STRING{IEEE_J_SENSOR = "{IEEE} Sensors Journal"} + + + +VLSI +@STRING{IEEE_J_VLSI = "{IEEE} Transactions on Very Large Scale Integration ({VLSI}) Systems"} + + + + + + +IEEE Magazines + + + +@STRING{IEEE_M_AES = "{IEEE} Aerospace and Electronics Systems Magazine"} +@STRING{IEEE_M_HIST = "{IEEE} Annals of the History of Computing"} +@STRING{IEEE_M_AP = "{IEEE} Antennas and Propagation Magazine"} +@STRING{IEEE_M_ASSP = "{IEEE} {ASSP} Magazine"} +@STRING{IEEE_M_CD = "{IEEE} Circuits and Devices Magazine"} +@STRING{IEEE_M_CAS = "{IEEE} Circuits and Systems Magazine"} +@STRING{IEEE_M_COM = "{IEEE} Communications Magazine"} +@STRING{IEEE_M_COMSOC = "{IEEE} Communications Society Magazine"} +@STRING{IEEE_M_CIM = "{IEEE} Computational Intelligence Magazine"} +CSEM changed to CSE in 1999 +@STRING{IEEE_M_CSE = "{IEEE} Computing in Science and Engineering"} +@STRING{IEEE_M_CSEM = "{IEEE} Computational Science and Engineering Magazine"} +@STRING{IEEE_M_C = "{IEEE} Computer"} +@STRING{IEEE_M_CAP = "{IEEE} Computer Applications in Power"} +@STRING{IEEE_M_CGA = "{IEEE} Computer Graphics and Applications"} +@STRING{IEEE_M_CONC = "{IEEE} Concurrency"} +@STRING{IEEE_M_CS = "{IEEE} Control Systems Magazine"} +@STRING{IEEE_M_DTC = "{IEEE} Design and Test of Computers"} +@STRING{IEEE_M_EI = "{IEEE} Electrical Insulation Magazine"} +@STRING{IEEE_M_ETR = "{IEEE} ElectroTechnology Review"} +@STRING{IEEE_M_EMB = "{IEEE} Engineering in Medicine and Biology Magazine"} +@STRING{IEEE_M_EMR = "{IEEE} Engineering Management Review"} +@STRING{IEEE_M_EXP = "{IEEE} Expert"} +@STRING{IEEE_M_IA = "{IEEE} Industry Applications Magazine"} +@STRING{IEEE_M_IM = "{IEEE} Instrumentation and Measurement Magazine"} +@STRING{IEEE_M_IS = "{IEEE} Intelligent Systems"} +@STRING{IEEE_M_IC = "{IEEE} Internet Computing"} +@STRING{IEEE_M_ITP = "{IEEE} {IT} Professional"} +@STRING{IEEE_M_MICRO = "{IEEE} Micro"} +@STRING{IEEE_M_MW = "{IEEE} Microwave Magazine"} +@STRING{IEEE_M_MM = "{IEEE} Multimedia"} +@STRING{IEEE_M_NET = "{IEEE} Network"} +@STRING{IEEE_M_PCOM = "{IEEE} Personal Communications Magazine"} +@STRING{IEEE_M_POT = "{IEEE} Potentials"} +CAP and PER merged to form PE in 2003 +@STRING{IEEE_M_PE = "{IEEE} Power and Energy Magazine"} +@STRING{IEEE_M_PER = "{IEEE} Power Engineering Review"} +@STRING{IEEE_M_PVC = "{IEEE} Pervasive Computing"} +@STRING{IEEE_M_RA = "{IEEE} Robotics and Automation Magazine"} +@STRING{IEEE_M_SAP = "{IEEE} Security and Privacy"} +@STRING{IEEE_M_SP = "{IEEE} Signal Processing Magazine"} +@STRING{IEEE_M_S = "{IEEE} Software"} +@STRING{IEEE_M_SPECT = "{IEEE} Spectrum"} +@STRING{IEEE_M_TS = "{IEEE} Technology and Society Magazine"} +@STRING{IEEE_M_VT = "{IEEE} Vehicular Technology Magazine"} +@STRING{IEEE_M_WC = "{IEEE} Wireless Communications Magazine"} +@STRING{IEEE_M_TODAY = "Today's Engineer"} + + + + + + +IEEE Online Publications + + + +@STRING{IEEE_O_CSTO = "{IEEE} Communications Surveys and Tutorials"} +@STRING{IEEE_O_DSO = "{IEEE} Distributed Systems Online"} + + + + + +-- +EOF diff --git a/mpi-energy2-extension/IEEEtran/IEEEtran.bst b/mpi-energy2-extension/IEEEtran/IEEEtran.bst new file mode 100644 index 0000000..53fbc03 --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/IEEEtran.bst @@ -0,0 +1,2417 @@ +%% +%% IEEEtran.bst +%% BibTeX Bibliography Style file for IEEE Journals and Conferences (unsorted) +%% Version 1.12 (2007/01/11) +%% +%% Copyright (c) 2003-2007 Michael Shell +%% +%% Original starting code base and algorithms obtained from the output of +%% Patrick W. Daly's makebst package as well as from prior versions of +%% IEEE BibTeX styles: +%% +%% 1. Howard Trickey and Oren Patashnik's ieeetr.bst (1985/1988) +%% 2. Silvano Balemi and Richard H. Roy's IEEEbib.bst (1993) +%% +%% Support sites: +%% http://www.michaelshell.org/tex/ieeetran/ +%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +%% and/or +%% http://www.ieee.org/ +%% +%% For use with BibTeX version 0.99a or later +%% +%% This is a numerical citation style. +%% +%%************************************************************************* +%% Legal Notice: +%% This code is offered as-is without any warranty either expressed or +%% implied; without even the implied warranty of MERCHANTABILITY or +%% FITNESS FOR A PARTICULAR PURPOSE! +%% User assumes all risk. +%% In no event shall IEEE or any contributor to this code be liable for +%% any damages or losses, including, but not limited to, incidental, +%% consequential, or any other damages, resulting from the use or misuse +%% of any information contained here. +%% +%% All comments are the opinions of their respective authors and are not +%% necessarily endorsed by the IEEE. +%% +%% This work is distributed under the LaTeX Project Public License (LPPL) +%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, +%% distributed and modified. A copy of the LPPL, version 1.3, is included +%% in the base LaTeX documentation of all distributions of LaTeX released +%% 2003/12/01 or later. +%% Retain all contribution notices and credits. +%% ** Modified files should be clearly indicated as such, including ** +%% ** renaming them and changing author support contact information. ** +%% +%% File list of work: IEEEabrv.bib, IEEEfull.bib, IEEEexample.bib, +%% IEEEtran.bst, IEEEtranS.bst, IEEEtranSA.bst, +%% IEEEtranN.bst, IEEEtranSN.bst, IEEEtran_bst_HOWTO.pdf +%%************************************************************************* +% +% +% Changelog: +% +% 1.00 (2002/08/13) Initial release +% +% 1.10 (2002/09/27) +% 1. Corrected minor bug for improperly formed warning message when a +% book was not given a title. Thanks to Ming Kin Lai for reporting this. +% 2. Added support for CTLname_format_string and CTLname_latex_cmd fields +% in the BST control entry type. +% +% 1.11 (2003/04/02) +% 1. Fixed bug with URLs containing underscores when using url.sty. Thanks +% to Ming Kin Lai for reporting this. +% +% 1.12 (2007/01/11) +% 1. Fixed bug with unwanted comma before "et al." when an entry contained +% more than two author names. Thanks to Pallav Gupta for reporting this. +% 2. Fixed bug with anomalous closing quote in tech reports that have a +% type, but without a number or address. Thanks to Mehrdad Mirreza for +% reporting this. +% 3. Use braces in \providecommand in begin.bib to better support +% latex2html. TeX style length assignments OK with recent versions +% of latex2html - 1.71 (2002/2/1) or later is strongly recommended. +% Use of the language field still causes trouble with latex2html. +% Thanks to Federico Beffa for reporting this. +% 4. Added IEEEtran.bst ID and version comment string to .bbl output. +% 5. Provide a \BIBdecl hook that allows the user to execute commands +% just prior to the first entry. +% 6. Use default urlstyle (is using url.sty) of "same" rather than rm to +% better work with a wider variety of bibliography styles. +% 7. Changed month abbreviations from Sept., July and June to Sep., Jul., +% and Jun., respectively, as IEEE now does. Thanks to Moritz Borgmann +% for reporting this. +% 8. Control entry types should not be considered when calculating longest +% label width. +% 9. Added alias www for electronic/online. +% 10. Added CTLname_url_prefix control entry type. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% DEFAULTS FOR THE CONTROLS OF THE BST STYLE %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% These are the defaults for the user adjustable controls. The values used +% here can be overridden by the user via IEEEtranBSTCTL entry type. + +% NOTE: The recommended LaTeX command to invoke a control entry type is: +% +%\makeatletter +%\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}} +%\def\@bstctlcite[#1]#2{\@bsphack +% \@for\@citeb:=#2\do{% +% \edef\@citeb{\expandafter\@firstofone\@citeb}% +% \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}% +% \@esphack} +%\makeatother +% +% It is called at the start of the document, before the first \cite, like: +% \bstctlcite{IEEEexample:BSTcontrol} +% +% IEEEtran.cls V1.6 and later does provide this command. + + + +% #0 turns off the display of the number for articles. +% #1 enables +FUNCTION {default.is.use.number.for.article} { #1 } + + +% #0 turns off the display of the paper and type fields in @inproceedings. +% #1 enables +FUNCTION {default.is.use.paper} { #1 } + + +% #0 turns off the forced use of "et al." +% #1 enables +FUNCTION {default.is.forced.et.al} { #0 } + +% The maximum number of names that can be present beyond which an "et al." +% usage is forced. Be sure that num.names.shown.with.forced.et.al (below) +% is not greater than this value! +% Note: There are many instances of references in IEEE journals which have +% a very large number of authors as well as instances in which "et al." is +% used profusely. +FUNCTION {default.max.num.names.before.forced.et.al} { #10 } + +% The number of names that will be shown with a forced "et al.". +% Must be less than or equal to max.num.names.before.forced.et.al +FUNCTION {default.num.names.shown.with.forced.et.al} { #1 } + + +% #0 turns off the alternate interword spacing for entries with URLs. +% #1 enables +FUNCTION {default.is.use.alt.interword.spacing} { #1 } + +% If alternate interword spacing for entries with URLs is enabled, this is +% the interword spacing stretch factor that will be used. For example, the +% default "4" here means that the interword spacing in entries with URLs can +% stretch to four times normal. Does not have to be an integer. Note that +% the value specified here can be overridden by the user in their LaTeX +% code via a command such as: +% "\providecommand\BIBentryALTinterwordstretchfactor{1.5}" in addition to +% that via the IEEEtranBSTCTL entry type. +FUNCTION {default.ALTinterwordstretchfactor} { "4" } + + +% #0 turns off the "dashification" of repeated (i.e., identical to those +% of the previous entry) names. IEEE normally does this. +% #1 enables +FUNCTION {default.is.dash.repeated.names} { #1 } + + +% The default name format control string. +FUNCTION {default.name.format.string}{ "{f.~}{vv~}{ll}{, jj}" } + + +% The default LaTeX font command for the names. +FUNCTION {default.name.latex.cmd}{ "" } + + +% The default URL prefix. +FUNCTION {default.name.url.prefix}{ "[Online]. Available:" } + + +% Other controls that cannot be accessed via IEEEtranBSTCTL entry type. + +% #0 turns off the terminal startup banner/completed message so as to +% operate more quietly. +% #1 enables +FUNCTION {is.print.banners.to.terminal} { #1 } + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% FILE VERSION AND BANNER %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION{bst.file.version} { "1.12" } +FUNCTION{bst.file.date} { "2007/01/11" } +FUNCTION{bst.file.website} { "http://www.michaelshell.org/tex/ieeetran/bibtex/" } + +FUNCTION {banner.message} +{ is.print.banners.to.terminal + { "-- IEEEtran.bst version" " " * bst.file.version * + " (" * bst.file.date * ") " * "by Michael Shell." * + top$ + "-- " bst.file.website * + top$ + "-- See the " quote$ * "IEEEtran_bst_HOWTO.pdf" * quote$ * " manual for usage information." * + top$ + } + { skip$ } + if$ +} + +FUNCTION {completed.message} +{ is.print.banners.to.terminal + { "" + top$ + "Done." + top$ + } + { skip$ } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%%% +%% STRING CONSTANTS %% +%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {bbl.and}{ "and" } +FUNCTION {bbl.etal}{ "et~al." } +FUNCTION {bbl.editors}{ "eds." } +FUNCTION {bbl.editor}{ "ed." } +FUNCTION {bbl.edition}{ "ed." } +FUNCTION {bbl.volume}{ "vol." } +FUNCTION {bbl.of}{ "of" } +FUNCTION {bbl.number}{ "no." } +FUNCTION {bbl.in}{ "in" } +FUNCTION {bbl.pages}{ "pp." } +FUNCTION {bbl.page}{ "p." } +FUNCTION {bbl.chapter}{ "ch." } +FUNCTION {bbl.paper}{ "paper" } +FUNCTION {bbl.part}{ "pt." } +FUNCTION {bbl.patent}{ "Patent" } +FUNCTION {bbl.patentUS}{ "U.S." } +FUNCTION {bbl.revision}{ "Rev." } +FUNCTION {bbl.series}{ "ser." } +FUNCTION {bbl.standard}{ "Std." } +FUNCTION {bbl.techrep}{ "Tech. Rep." } +FUNCTION {bbl.mthesis}{ "Master's thesis" } +FUNCTION {bbl.phdthesis}{ "Ph.D. dissertation" } +FUNCTION {bbl.st}{ "st" } +FUNCTION {bbl.nd}{ "nd" } +FUNCTION {bbl.rd}{ "rd" } +FUNCTION {bbl.th}{ "th" } + + +% This is the LaTeX spacer that is used when a larger than normal space +% is called for (such as just before the address:publisher). +FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " } + +% The LaTeX code for dashes that are used to represent repeated names. +% Note: Some older IEEE journals used something like +% "\rule{0.275in}{0.5pt}\," which is fairly thick and runs right along +% the baseline. However, IEEE now uses a thinner, above baseline, +% six dash long sequence. +FUNCTION {repeated.name.dashes} { "------" } + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% PREDEFINED STRING MACROS %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +MACRO {jan} {"Jan."} +MACRO {feb} {"Feb."} +MACRO {mar} {"Mar."} +MACRO {apr} {"Apr."} +MACRO {may} {"May"} +MACRO {jun} {"Jun."} +MACRO {jul} {"Jul."} +MACRO {aug} {"Aug."} +MACRO {sep} {"Sep."} +MACRO {oct} {"Oct."} +MACRO {nov} {"Nov."} +MACRO {dec} {"Dec."} + + + +%%%%%%%%%%%%%%%%%% +%% ENTRY FIELDS %% +%%%%%%%%%%%%%%%%%% + +ENTRY + { address + assignee + author + booktitle + chapter + day + dayfiled + edition + editor + howpublished + institution + intype + journal + key + language + month + monthfiled + nationality + note + number + organization + pages + paper + publisher + school + series + revision + title + type + url + volume + year + yearfiled + CTLuse_article_number + CTLuse_paper + CTLuse_forced_etal + CTLmax_names_forced_etal + CTLnames_show_etal + CTLuse_alt_spacing + CTLalt_stretch_factor + CTLdash_repeated_names + CTLname_format_string + CTLname_latex_cmd + CTLname_url_prefix + } + {} + { label } + + + + +%%%%%%%%%%%%%%%%%%%%%%% +%% INTEGER VARIABLES %% +%%%%%%%%%%%%%%%%%%%%%%% + +INTEGERS { prev.status.punct this.status.punct punct.std + punct.no punct.comma punct.period + prev.status.space this.status.space space.std + space.no space.normal space.large + prev.status.quote this.status.quote quote.std + quote.no quote.close + prev.status.nline this.status.nline nline.std + nline.no nline.newblock + status.cap cap.std + cap.no cap.yes} + +INTEGERS { longest.label.width multiresult nameptr namesleft number.label numnames } + +INTEGERS { is.use.number.for.article + is.use.paper + is.forced.et.al + max.num.names.before.forced.et.al + num.names.shown.with.forced.et.al + is.use.alt.interword.spacing + is.dash.repeated.names} + + +%%%%%%%%%%%%%%%%%%%%%% +%% STRING VARIABLES %% +%%%%%%%%%%%%%%%%%%%%%% + +STRINGS { bibinfo + longest.label + oldname + s + t + ALTinterwordstretchfactor + name.format.string + name.latex.cmd + name.url.prefix} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOW LEVEL FUNCTIONS %% +%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {initialize.controls} +{ default.is.use.number.for.article 'is.use.number.for.article := + default.is.use.paper 'is.use.paper := + default.is.forced.et.al 'is.forced.et.al := + default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al := + default.num.names.shown.with.forced.et.al 'num.names.shown.with.forced.et.al := + default.is.use.alt.interword.spacing 'is.use.alt.interword.spacing := + default.is.dash.repeated.names 'is.dash.repeated.names := + default.ALTinterwordstretchfactor 'ALTinterwordstretchfactor := + default.name.format.string 'name.format.string := + default.name.latex.cmd 'name.latex.cmd := + default.name.url.prefix 'name.url.prefix := +} + + +% This IEEEtran.bst features a very powerful and flexible mechanism for +% controlling the capitalization, punctuation, spacing, quotation, and +% newlines of the formatted entry fields. (Note: IEEEtran.bst does not need +% or use the newline/newblock feature, but it has been implemented for +% possible future use.) The output states of IEEEtran.bst consist of +% multiple independent attributes and, as such, can be thought of as being +% vectors, rather than the simple scalar values ("before.all", +% "mid.sentence", etc.) used in most other .bst files. +% +% The more flexible and complex design used here was motivated in part by +% IEEE's rather unusual bibliography style. For example, IEEE ends the +% previous field item with a period and large space prior to the publisher +% address; the @electronic entry types use periods as inter-item punctuation +% rather than the commas used by the other entry types; and URLs are never +% followed by periods even though they are the last item in the entry. +% Although it is possible to accommodate these features with the conventional +% output state system, the seemingly endless exceptions make for convoluted, +% unreliable and difficult to maintain code. +% +% IEEEtran.bst's output state system can be easily understood via a simple +% illustration of two most recently formatted entry fields (on the stack): +% +% CURRENT_ITEM +% "PREVIOUS_ITEM +% +% which, in this example, is to eventually appear in the bibliography as: +% +% "PREVIOUS_ITEM," CURRENT_ITEM +% +% It is the job of the output routine to take the previous item off of the +% stack (while leaving the current item at the top of the stack), apply its +% trailing punctuation (including closing quote marks) and spacing, and then +% to write the result to BibTeX's output buffer: +% +% "PREVIOUS_ITEM," +% +% Punctuation (and spacing) between items is often determined by both of the +% items rather than just the first one. The presence of quotation marks +% further complicates the situation because, in standard English, trailing +% punctuation marks are supposed to be contained within the quotes. +% +% IEEEtran.bst maintains two output state (aka "status") vectors which +% correspond to the previous and current (aka "this") items. Each vector +% consists of several independent attributes which track punctuation, +% spacing, quotation, and newlines. Capitalization status is handled by a +% separate scalar because the format routines, not the output routine, +% handle capitalization and, therefore, there is no need to maintain the +% capitalization attribute for both the "previous" and "this" items. +% +% When a format routine adds a new item, it copies the current output status +% vector to the previous output status vector and (usually) resets the +% current (this) output status vector to a "standard status" vector. Using a +% "standard status" vector in this way allows us to redefine what we mean by +% "standard status" at the start of each entry handler and reuse the same +% format routines under the various inter-item separation schemes. For +% example, the standard status vector for the @book entry type may use +% commas for item separators, while the @electronic type may use periods, +% yet both entry handlers exploit many of the exact same format routines. +% +% Because format routines have write access to the output status vector of +% the previous item, they can override the punctuation choices of the +% previous format routine! Therefore, it becomes trivial to implement rules +% such as "Always use a period and a large space before the publisher." By +% pushing the generation of the closing quote mark to the output routine, we +% avoid all the problems caused by having to close a quote before having all +% the information required to determine what the punctuation should be. +% +% The IEEEtran.bst output state system can easily be expanded if needed. +% For instance, it is easy to add a "space.tie" attribute value if the +% bibliography rules mandate that two items have to be joined with an +% unbreakable space. + +FUNCTION {initialize.status.constants} +{ #0 'punct.no := + #1 'punct.comma := + #2 'punct.period := + #0 'space.no := + #1 'space.normal := + #2 'space.large := + #0 'quote.no := + #1 'quote.close := + #0 'cap.no := + #1 'cap.yes := + #0 'nline.no := + #1 'nline.newblock := +} + +FUNCTION {std.status.using.comma} +{ punct.comma 'punct.std := + space.normal 'space.std := + quote.no 'quote.std := + nline.no 'nline.std := + cap.no 'cap.std := +} + +FUNCTION {std.status.using.period} +{ punct.period 'punct.std := + space.normal 'space.std := + quote.no 'quote.std := + nline.no 'nline.std := + cap.yes 'cap.std := +} + +FUNCTION {initialize.prev.this.status} +{ punct.no 'prev.status.punct := + space.no 'prev.status.space := + quote.no 'prev.status.quote := + nline.no 'prev.status.nline := + punct.no 'this.status.punct := + space.no 'this.status.space := + quote.no 'this.status.quote := + nline.no 'this.status.nline := + cap.yes 'status.cap := +} + +FUNCTION {this.status.std} +{ punct.std 'this.status.punct := + space.std 'this.status.space := + quote.std 'this.status.quote := + nline.std 'this.status.nline := +} + +FUNCTION {cap.status.std}{ cap.std 'status.cap := } + +FUNCTION {this.to.prev.status} +{ this.status.punct 'prev.status.punct := + this.status.space 'prev.status.space := + this.status.quote 'prev.status.quote := + this.status.nline 'prev.status.nline := +} + + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ { skip$ } + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + { skip$ } + if$ +} + + +% convert the strings "yes" or "no" to #1 or #0 respectively +FUNCTION {yes.no.to.int} +{ "l" change.case$ duplicate$ + "yes" = + { pop$ #1 } + { duplicate$ "no" = + { pop$ #0 } + { "unknown boolean " quote$ * swap$ * quote$ * + " in " * cite$ * warning$ + #0 + } + if$ + } + if$ +} + + +% pushes true if the single char string on the stack is in the +% range of "0" to "9" +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +% multiplies the integer on the stack by a factor of 10 +FUNCTION {bump.int.mag} +{ #0 'multiresult := + { duplicate$ #0 > } + { #1 - + multiresult #10 + + 'multiresult := + } + while$ +pop$ +multiresult +} + +% converts a single character string on the stack to an integer +FUNCTION {char.to.integer} +{ duplicate$ + is.num + { chr.to.int$ "0" chr.to.int$ - } + {"noninteger character " quote$ * swap$ * quote$ * + " in integer field of " * cite$ * warning$ + #0 + } + if$ +} + +% converts a string on the stack to an integer +FUNCTION {string.to.integer} +{ duplicate$ text.length$ 'namesleft := + #1 'nameptr := + #0 'numnames := + { nameptr namesleft > not } + { duplicate$ nameptr #1 substring$ + char.to.integer numnames bump.int.mag + + 'numnames := + nameptr #1 + + 'nameptr := + } + while$ +pop$ +numnames +} + + + + +% The output routines write out the *next* to the top (previous) item on the +% stack, adding punctuation and such as needed. Since IEEEtran.bst maintains +% the output status for the top two items on the stack, these output +% routines have to consider the previous output status (which corresponds to +% the item that is being output). Full independent control of punctuation, +% closing quote marks, spacing, and newblock is provided. +% +% "output.nonnull" does not check for the presence of a previous empty +% item. +% +% "output" does check for the presence of a previous empty item and will +% remove an empty item rather than outputing it. +% +% "output.warn" is like "output", but will issue a warning if it detects +% an empty item. + +FUNCTION {output.nonnull} +{ swap$ + prev.status.punct punct.comma = + { "," * } + { skip$ } + if$ + prev.status.punct punct.period = + { add.period$ } + { skip$ } + if$ + prev.status.quote quote.close = + { "''" * } + { skip$ } + if$ + prev.status.space space.normal = + { " " * } + { skip$ } + if$ + prev.status.space space.large = + { large.space * } + { skip$ } + if$ + write$ + prev.status.nline nline.newblock = + { newline$ "\newblock " write$ } + { skip$ } + if$ +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.warn} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +% "fin.entry" is the output routine that handles the last item of the entry +% (which will be on the top of the stack when "fin.entry" is called). + +FUNCTION {fin.entry} +{ this.status.punct punct.no = + { skip$ } + { add.period$ } + if$ + this.status.quote quote.close = + { "''" * } + { skip$ } + if$ +write$ +newline$ +} + + +FUNCTION {is.last.char.not.punct} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {is.multiple.pages} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {capitalize}{ "u" change.case$ "t" change.case$ } + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {do.name.latex.cmd} +{ name.latex.cmd + empty$ + { skip$ } + { name.latex.cmd "{" * swap$ * "}" * } + if$ +} + +% IEEEtran.bst uses its own \BIBforeignlanguage command which directly +% invokes the TeX hyphenation patterns without the need of the Babel +% package. Babel does a lot more than switch hyphenation patterns and +% its loading can cause unintended effects in many class files (such as +% IEEEtran.cls). +FUNCTION {select.language} +{ duplicate$ empty$ 'pop$ + { language empty$ 'skip$ + { "\BIBforeignlanguage{" language * "}{" * swap$ * "}" * } + if$ + } + if$ +} + +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {space.word}{ " " swap$ * " " * } + + +% Field Conditioners, Converters, Checkers and External Interfaces + +FUNCTION {empty.field.to.null.string} +{ duplicate$ empty$ + { pop$ "" } + { skip$ } + if$ +} + +FUNCTION {either.or.check} +{ empty$ + { pop$ } + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {empty.entry.warn} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ url empty$ + and and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + + +% The bibinfo system provides a way for the electronic parsing/acquisition +% of a bibliography's contents as is done by ReVTeX. For example, a field +% could be entered into the bibliography as: +% \bibinfo{volume}{2} +% Only the "2" would show up in the document, but the LaTeX \bibinfo command +% could do additional things with the information. IEEEtran.bst does provide +% a \bibinfo command via "\providecommand{\bibinfo}[2]{#2}". However, it is +% currently not used as the bogus bibinfo functions defined here output the +% entry values directly without the \bibinfo wrapper. The bibinfo functions +% themselves (and the calls to them) are retained for possible future use. +% +% bibinfo.check avoids acting on missing fields while bibinfo.warn will +% issue a warning message if a missing field is detected. Prior to calling +% the bibinfo functions, the user should push the field value and then its +% name string, in that order. + +FUNCTION {bibinfo.check} +{ swap$ duplicate$ missing$ + { pop$ pop$ "" } + { duplicate$ empty$ + { swap$ pop$ } + { swap$ pop$ } + if$ + } + if$ +} + +FUNCTION {bibinfo.warn} +{ swap$ duplicate$ missing$ + { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" } + { duplicate$ empty$ + { swap$ "empty " swap$ * " in " * cite$ * warning$ } + { swap$ pop$ } + if$ + } + if$ +} + + +% IEEE separates large numbers with more than 4 digits into groups of +% three. IEEE uses a small space to separate these number groups. +% Typical applications include patent and page numbers. + +% number of consecutive digits required to trigger the group separation. +FUNCTION {large.number.trigger}{ #5 } + +% For numbers longer than the trigger, this is the blocksize of the groups. +% The blocksize must be less than the trigger threshold, and 2 * blocksize +% must be greater than the trigger threshold (can't do more than one +% separation on the initial trigger). +FUNCTION {large.number.blocksize}{ #3 } + +% What is actually inserted between the number groups. +FUNCTION {large.number.separator}{ "\," } + +% So as to save on integer variables by reusing existing ones, numnames +% holds the current number of consecutive digits read and nameptr holds +% the number that will trigger an inserted space. +FUNCTION {large.number.separate} +{ 't := + "" + #0 'numnames := + large.number.trigger 'nameptr := + { t empty$ not } + { t #-1 #1 substring$ is.num + { numnames #1 + 'numnames := } + { #0 'numnames := + large.number.trigger 'nameptr := + } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames nameptr = + { duplicate$ #1 nameptr large.number.blocksize - substring$ swap$ + nameptr large.number.blocksize - #1 + global.max$ substring$ + large.number.separator swap$ * * + nameptr large.number.blocksize - 'numnames := + large.number.blocksize #1 + 'nameptr := + } + { skip$ } + if$ + } + while$ +} + +% Converts all single dashes "-" to double dashes "--". +FUNCTION {n.dashify} +{ large.number.separate + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + + +% This function detects entries with names that are identical to that of +% the previous entry and replaces the repeated names with dashes (if the +% "is.dash.repeated.names" user control is nonzero). +FUNCTION {name.or.dash} +{ 's := + oldname empty$ + { s 'oldname := s } + { s oldname = + { is.dash.repeated.names + { repeated.name.dashes } + { s 'oldname := s } + if$ + } + { s 'oldname := s } + if$ + } + if$ +} + +% Converts the number string on the top of the stack to +% "numerical ordinal form" (e.g., "7" to "7th"). There is +% no artificial limit to the upper bound of the numbers as the +% least significant digit always determines the ordinal form. +FUNCTION {num.to.ordinal} +{ duplicate$ #-1 #1 substring$ "1" = + { bbl.st * } + { duplicate$ #-1 #1 substring$ "2" = + { bbl.nd * } + { duplicate$ #-1 #1 substring$ "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ +} + +% If the string on the top of the stack begins with a number, +% (e.g., 11th) then replace the string with the leading number +% it contains. Otherwise retain the string as-is. s holds the +% extracted number, t holds the part of the string that remains +% to be scanned. +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +% Converts the word number string on the top of the stack to +% Arabic string form. Will be successful up to "tenth". +FUNCTION {word.to.num} +{ duplicate$ "l" change.case$ 's := + s "first" = + { pop$ "1" } + { skip$ } + if$ + s "second" = + { pop$ "2" } + { skip$ } + if$ + s "third" = + { pop$ "3" } + { skip$ } + if$ + s "fourth" = + { pop$ "4" } + { skip$ } + if$ + s "fifth" = + { pop$ "5" } + { skip$ } + if$ + s "sixth" = + { pop$ "6" } + { skip$ } + if$ + s "seventh" = + { pop$ "7" } + { skip$ } + if$ + s "eighth" = + { pop$ "8" } + { skip$ } + if$ + s "ninth" = + { pop$ "9" } + { skip$ } + if$ + s "tenth" = + { pop$ "10" } + { skip$ } + if$ +} + + +% Converts the string on the top of the stack to numerical +% ordinal (e.g., "11th") form. +FUNCTION {convert.edition} +{ duplicate$ empty$ 'skip$ + { duplicate$ #1 #1 substring$ is.num + { extract.num + num.to.ordinal + } + { word.to.num + duplicate$ #1 #1 substring$ is.num + { num.to.ordinal } + { "edition ordinal word " quote$ * edition * quote$ * + " may be too high (or improper) for conversion" * " in " * cite$ * warning$ + } + if$ + } + if$ + } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LATEX BIBLIOGRAPHY CODE %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {start.entry} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + initialize.prev.this.status +} + +% Here we write out all the LaTeX code that we will need. The most involved +% code sequences are those that control the alternate interword spacing and +% foreign language hyphenation patterns. The heavy use of \providecommand +% gives users a way to override the defaults. Special thanks to Javier Bezos, +% Johannes Braams, Robin Fairbairns, Heiko Oberdiek, Donald Arseneau and all +% the other gurus on comp.text.tex for their help and advice on the topic of +% \selectlanguage, Babel and BibTeX. +FUNCTION {begin.bib} +{ "% Generated by IEEEtran.bst, version: " bst.file.version * " (" * bst.file.date * ")" * + write$ newline$ + preamble$ empty$ 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\url}[1]{#1}" + write$ newline$ + "\csname url@samestyle\endcsname" + write$ newline$ + "\providecommand{\newblock}{\relax}" + write$ newline$ + "\providecommand{\bibinfo}[2]{#2}" + write$ newline$ + "\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}" + write$ newline$ + "\providecommand{\BIBentryALTinterwordstretchfactor}{" + ALTinterwordstretchfactor * "}" * + write$ newline$ + "\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus " + write$ newline$ + "\BIBentryALTinterwordstretchfactor\fontdimen3\font minus \fontdimen4\font\relax}" + write$ newline$ + "\providecommand{\BIBforeignlanguage}[2]{{%" + write$ newline$ + "\expandafter\ifx\csname l@#1\endcsname\relax" + write$ newline$ + "\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%" + write$ newline$ + "\typeout{** loaded for the language `#1'. Using the pattern for}%" + write$ newline$ + "\typeout{** the default language instead.}%" + write$ newline$ + "\else" + write$ newline$ + "\language=\csname l@#1\endcsname" + write$ newline$ + "\fi" + write$ newline$ + "#2}}" + write$ newline$ + "\providecommand{\BIBdecl}{\relax}" + write$ newline$ + "\BIBdecl" + write$ newline$ +} + +FUNCTION {end.bib} +{ newline$ "\end{thebibliography}" write$ newline$ } + +FUNCTION {if.url.alt.interword.spacing} +{ is.use.alt.interword.spacing + {url empty$ 'skip$ {"\BIBentryALTinterwordspacing" write$ newline$} if$} + { skip$ } + if$ +} + +FUNCTION {if.url.std.interword.spacing} +{ is.use.alt.interword.spacing + {url empty$ 'skip$ {"\BIBentrySTDinterwordspacing" write$ newline$} if$} + { skip$ } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%% +%% LONGEST LABEL PASS %% +%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ type$ "ieeetranbstctl" = + { skip$ } + { number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + { skip$ } + if$ + } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%% +%% FORMAT HANDLERS %% +%%%%%%%%%%%%%%%%%%%%% + +%% Lower Level Formats (used by higher level formats) + +FUNCTION {format.address.org.or.pub.date} +{ 't := + "" + year empty$ + { "empty year in " cite$ * warning$ } + { skip$ } + if$ + address empty$ t empty$ and + year empty$ and month empty$ and + { skip$ } + { this.to.prev.status + this.status.std + cap.status.std + address "address" bibinfo.check * + t empty$ + { skip$ } + { punct.period 'prev.status.punct := + space.large 'prev.status.space := + address empty$ + { skip$ } + { ": " * } + if$ + t * + } + if$ + year empty$ month empty$ and + { skip$ } + { t empty$ address empty$ and + { skip$ } + { ", " * } + if$ + month empty$ + { year empty$ + { skip$ } + { year "year" bibinfo.check * } + if$ + } + { month "month" bibinfo.check * + year empty$ + { skip$ } + { " " * year "year" bibinfo.check * } + if$ + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + this.to.prev.status + this.status.std + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + name.format.string + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { nameptr num.names.shown.with.forced.et.al #1 + = + numnames max.num.names.before.forced.et.al > + is.forced.et.al and and + { "others" 't := + #1 'namesleft := + } + { skip$ } + if$ + namesleft #1 > + { ", " * t do.name.latex.cmd * } + { s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { " " * bbl.etal emphasize * } + { numnames #2 > + { "," * } + { skip$ } + if$ + bbl.and + space.word * t do.name.latex.cmd * + } + if$ + } + if$ + } + { t do.name.latex.cmd } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + cap.status.std + } if$ +} + + + + +%% Higher Level Formats + +%% addresses/locations + +FUNCTION {format.address} +{ address duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + + + +%% author/editor names + +FUNCTION {format.authors}{ author "author" format.names } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { ", " * + get.bbl.editor + capitalize + * + } + if$ +} + + + +%% date + +FUNCTION {format.date} +{ + month "month" bibinfo.check duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { this.to.prev.status + this.status.std + cap.status.std + swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + } + if$ +} + +FUNCTION {format.date.electronic} +{ month "month" bibinfo.check duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ + { pop$ } + { "there's a month but no year in " cite$ * warning$ + pop$ ")" * "(" swap$ * + this.to.prev.status + punct.no 'this.status.punct := + space.normal 'this.status.space := + quote.no 'this.status.quote := + cap.yes 'status.cap := + } + if$ + } + { swap$ + { swap$ pop$ ")" * "(" swap$ * } + { "(" swap$ * ", " * swap$ * ")" * } + if$ + this.to.prev.status + punct.no 'this.status.punct := + space.normal 'this.status.space := + quote.no 'this.status.quote := + cap.yes 'status.cap := + } + if$ +} + + + +%% edition/title + +% Note: IEEE considers the edition to be closely associated with +% the title of a book. So, in IEEEtran.bst the edition is normally handled +% within the formatting of the title. The format.edition function is +% retained here for possible future use. +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + convert.edition + status.cap + { "t" } + { "l" } + if$ change.case$ + "edition" bibinfo.check + "~" * bbl.edition * + cap.status.std + } + if$ +} + +% This is used to format the booktitle of a conference proceedings. +% Here we use the "intype" field to provide the user a way to +% override the word "in" (e.g., with things like "presented at") +% Use of intype stops the emphasis of the booktitle to indicate that +% we no longer mean the written conference proceedings, but the +% conference itself. +FUNCTION {format.in.booktitle} +{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + select.language + intype missing$ + { emphasize + bbl.in " " * + } + { intype " " * } + if$ + swap$ * + cap.status.std + } + if$ +} + +% This is used to format the booktitle of collection. +% Here the "intype" field is not supported, but "edition" is. +FUNCTION {format.in.booktitle.edition} +{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + select.language + emphasize + edition empty$ 'skip$ + { ", " * + edition + convert.edition + "l" change.case$ + * "~" * bbl.edition * + } + if$ + bbl.in " " * swap$ * + cap.status.std + } + if$ +} + +FUNCTION {format.article.title} +{ title duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + "t" change.case$ + } + if$ + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { quote.close 'this.status.quote := + is.last.char.not.punct + { punct.std 'this.status.punct := } + { punct.no 'this.status.punct := } + if$ + select.language + "``" swap$ * + cap.status.std + } + if$ +} + +FUNCTION {format.article.title.electronic} +{ title duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + "t" change.case$ + } + if$ + "title" bibinfo.check + duplicate$ empty$ + { skip$ } + { select.language } + if$ +} + +FUNCTION {format.book.title.edition} +{ title "title" bibinfo.check + duplicate$ empty$ + { "empty title in " cite$ * warning$ } + { this.to.prev.status + this.status.std + select.language + emphasize + edition empty$ 'skip$ + { ", " * + edition + convert.edition + status.cap + { "t" } + { "l" } + if$ + change.case$ + * "~" * bbl.edition * + } + if$ + cap.status.std + } + if$ +} + +FUNCTION {format.book.title} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + select.language + emphasize + } + if$ +} + + + +%% journal + +FUNCTION {format.journal} +{ journal duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + select.language + emphasize + } + if$ +} + + + +%% how published + +FUNCTION {format.howpublished} +{ howpublished duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + + + +%% institutions/organization/publishers/school + +FUNCTION {format.institution} +{ institution duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + +FUNCTION {format.organization} +{ organization duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + +FUNCTION {format.address.publisher.date} +{ publisher "publisher" bibinfo.warn format.address.org.or.pub.date } + +FUNCTION {format.address.publisher.date.nowarn} +{ publisher "publisher" bibinfo.check format.address.org.or.pub.date } + +FUNCTION {format.address.organization.date} +{ organization "organization" bibinfo.check format.address.org.or.pub.date } + +FUNCTION {format.school} +{ school duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + + + +%% volume/number/series/chapter/pages + +FUNCTION {format.volume} +{ volume empty.field.to.null.string + duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + bbl.volume + status.cap + { capitalize } + { skip$ } + if$ + swap$ tie.or.space.prefix + "volume" bibinfo.check + * * + cap.status.std + } + if$ +} + +FUNCTION {format.number} +{ number empty.field.to.null.string + duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + status.cap + { bbl.number capitalize } + { bbl.number } + if$ + swap$ tie.or.space.prefix + "number" bibinfo.check + * * + cap.status.std + } + if$ +} + +FUNCTION {format.number.if.use.for.article} +{ is.use.number.for.article + { format.number } + { "" } + if$ +} + +% IEEE does not seem to tie the series so closely with the volume +% and number as is done in other bibliography styles. Instead the +% series is treated somewhat like an extension of the title. +FUNCTION {format.series} +{ series empty$ + { "" } + { this.to.prev.status + this.status.std + bbl.series " " * + series "series" bibinfo.check * + cap.status.std + } + if$ +} + + +FUNCTION {format.chapter} +{ chapter empty$ + { "" } + { this.to.prev.status + this.status.std + type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + cap.status.std + } + if$ +} + + +% The intended use of format.paper is for paper numbers of inproceedings. +% The paper type can be overridden via the type field. +% We allow the type to be displayed even if the paper number is absent +% for things like "postdeadline paper" +FUNCTION {format.paper} +{ is.use.paper + { paper empty$ + { type empty$ + { "" } + { this.to.prev.status + this.status.std + type "type" bibinfo.check + cap.status.std + } + if$ + } + { this.to.prev.status + this.status.std + type empty$ + { bbl.paper } + { type "type" bibinfo.check } + if$ + " " * paper + "paper" bibinfo.check + * + cap.status.std + } + if$ + } + { "" } + if$ +} + + +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + duplicate$ is.multiple.pages + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + cap.status.std + } + if$ +} + + + +%% technical report number + +FUNCTION {format.tech.report.number} +{ number "number" bibinfo.check + this.to.prev.status + this.status.std + cap.status.std + type duplicate$ empty$ + { pop$ + bbl.techrep + } + { skip$ } + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ } + { tie.or.space.prefix * * } + if$ +} + + + +%% note + +FUNCTION {format.note} +{ note empty$ + { "" } + { this.to.prev.status + this.status.std + punct.period 'this.status.punct := + note #1 #1 substring$ + duplicate$ "{" = + { skip$ } + { status.cap + { "u" } + { "l" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + cap.yes 'status.cap := + } + if$ +} + + + +%% patent + +FUNCTION {format.patent.date} +{ this.to.prev.status + this.status.std + year empty$ + { monthfiled duplicate$ empty$ + { "monthfiled" bibinfo.check pop$ "" } + { "monthfiled" bibinfo.check } + if$ + dayfiled duplicate$ empty$ + { "dayfiled" bibinfo.check pop$ "" * } + { "dayfiled" bibinfo.check + monthfiled empty$ + { "dayfiled without a monthfiled in " cite$ * warning$ + * + } + { " " swap$ * * } + if$ + } + if$ + yearfiled empty$ + { "no year or yearfiled in " cite$ * warning$ } + { yearfiled "yearfiled" bibinfo.check + swap$ + duplicate$ empty$ + { pop$ } + { ", " * swap$ * } + if$ + } + if$ + } + { month duplicate$ empty$ + { "month" bibinfo.check pop$ "" } + { "month" bibinfo.check } + if$ + day duplicate$ empty$ + { "day" bibinfo.check pop$ "" * } + { "day" bibinfo.check + month empty$ + { "day without a month in " cite$ * warning$ + * + } + { " " swap$ * * } + if$ + } + if$ + year "year" bibinfo.check + swap$ + duplicate$ empty$ + { pop$ } + { ", " * swap$ * } + if$ + } + if$ + cap.status.std +} + +FUNCTION {format.patent.nationality.type.number} +{ this.to.prev.status + this.status.std + nationality duplicate$ empty$ + { "nationality" bibinfo.warn pop$ "" } + { "nationality" bibinfo.check + duplicate$ "l" change.case$ "united states" = + { pop$ bbl.patentUS } + { skip$ } + if$ + " " * + } + if$ + type empty$ + { bbl.patent "type" bibinfo.check } + { type "type" bibinfo.check } + if$ + * + number duplicate$ empty$ + { "number" bibinfo.warn pop$ } + { "number" bibinfo.check + large.number.separate + swap$ " " * swap$ * + } + if$ + cap.status.std +} + + + +%% standard + +FUNCTION {format.organization.institution.standard.type.number} +{ this.to.prev.status + this.status.std + organization duplicate$ empty$ + { pop$ + institution duplicate$ empty$ + { "institution" bibinfo.warn } + { "institution" bibinfo.warn " " * } + if$ + } + { "organization" bibinfo.warn " " * } + if$ + type empty$ + { bbl.standard "type" bibinfo.check } + { type "type" bibinfo.check } + if$ + * + number duplicate$ empty$ + { "number" bibinfo.check pop$ } + { "number" bibinfo.check + large.number.separate + swap$ " " * swap$ * + } + if$ + cap.status.std +} + +FUNCTION {format.revision} +{ revision empty$ + { "" } + { this.to.prev.status + this.status.std + bbl.revision + revision tie.or.space.prefix + "revision" bibinfo.check + * * + cap.status.std + } + if$ +} + + +%% thesis + +FUNCTION {format.master.thesis.type} +{ this.to.prev.status + this.status.std + type empty$ + { + bbl.mthesis + } + { + type "type" bibinfo.check + } + if$ +cap.status.std +} + +FUNCTION {format.phd.thesis.type} +{ this.to.prev.status + this.status.std + type empty$ + { + bbl.phdthesis + } + { + type "type" bibinfo.check + } + if$ +cap.status.std +} + + + +%% URL + +FUNCTION {format.url} +{ url empty$ + { "" } + { this.to.prev.status + this.status.std + cap.yes 'status.cap := + name.url.prefix " " * + "\url{" * url * "}" * + punct.no 'this.status.punct := + punct.period 'prev.status.punct := + space.normal 'this.status.space := + space.normal 'prev.status.space := + quote.no 'this.status.quote := + } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%% +%% ENTRY HANDLERS %% +%%%%%%%%%%%%%%%%%%%% + + +% Note: In many journals, IEEE (or the authors) tend not to show the number +% for articles, so the display of the number is controlled here by the +% switch "is.use.number.for.article" +FUNCTION {article} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.journal "journal" bibinfo.check "journal" output.warn + format.volume output + format.number.if.use.for.article output + format.pages output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {book} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + author empty$ + { format.editors "author and editor" output.warn } + { format.authors output.nonnull } + if$ + name.or.dash + format.book.title.edition output + format.series output + author empty$ + { skip$ } + { format.editors output } + if$ + format.address.publisher.date output + format.volume output + format.number output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {booklet} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.article.title "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.date output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {electronic} +{ std.status.using.period + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.date.electronic output + format.article.title.electronic output + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.note output + format.url output + fin.entry + empty.entry.warn + if.url.std.interword.spacing +} + +FUNCTION {inbook} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + author empty$ + { format.editors "author and editor" output.warn } + { format.authors output.nonnull } + if$ + name.or.dash + format.book.title.edition output + format.series output + format.address.publisher.date output + format.volume output + format.number output + format.chapter output + format.pages output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {incollection} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.in.booktitle.edition "booktitle" output.warn + format.series output + format.editors output + format.address.publisher.date.nowarn output + format.volume output + format.number output + format.chapter output + format.pages output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {inproceedings} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.in.booktitle "booktitle" output.warn + format.series output + format.editors output + format.volume output + format.number output + publisher empty$ + { format.address.organization.date output } + { format.organization "organization" bibinfo.check output + format.address.publisher.date output + } + if$ + format.paper output + format.pages output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {manual} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.book.title.edition "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.date output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {mastersthesis} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.master.thesis.type output.nonnull + format.school "school" bibinfo.warn output + format.address "address" bibinfo.check output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {misc} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.article.title output + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.pages output + format.date output + format.note output + format.url output + fin.entry + empty.entry.warn + if.url.std.interword.spacing +} + +FUNCTION {patent} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.article.title output + format.patent.nationality.type.number output + format.patent.date output + format.note output + format.url output + fin.entry + empty.entry.warn + if.url.std.interword.spacing +} + +FUNCTION {periodical} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.editors output + name.or.dash + format.book.title "title" output.warn + format.series output + format.volume output + format.number output + format.organization "organization" bibinfo.check output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {phdthesis} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.phd.thesis.type output.nonnull + format.school "school" bibinfo.warn output + format.address "address" bibinfo.check output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {proceedings} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.editors output + name.or.dash + format.book.title "title" output.warn + format.series output + format.volume output + format.number output + publisher empty$ + { format.address.organization.date output } + { format.organization "organization" bibinfo.check output + format.address.publisher.date output + } + if$ + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {standard} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.book.title "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.organization.institution.standard.type.number output + format.revision output + format.date output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {techreport} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.institution "institution" bibinfo.warn output + format.address "address" bibinfo.check output + format.tech.report.number output.nonnull + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {unpublished} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.date output + format.note "note" output.warn + format.url output + fin.entry + if.url.std.interword.spacing +} + + +% The special entry type which provides the user interface to the +% BST controls +FUNCTION {IEEEtranBSTCTL} +{ is.print.banners.to.terminal + { "** IEEEtran BST control entry " quote$ * cite$ * quote$ * " detected." * + top$ + } + { skip$ } + if$ + CTLuse_article_number + empty$ + { skip$ } + { CTLuse_article_number + yes.no.to.int + 'is.use.number.for.article := + } + if$ + CTLuse_paper + empty$ + { skip$ } + { CTLuse_paper + yes.no.to.int + 'is.use.paper := + } + if$ + CTLuse_forced_etal + empty$ + { skip$ } + { CTLuse_forced_etal + yes.no.to.int + 'is.forced.et.al := + } + if$ + CTLmax_names_forced_etal + empty$ + { skip$ } + { CTLmax_names_forced_etal + string.to.integer + 'max.num.names.before.forced.et.al := + } + if$ + CTLnames_show_etal + empty$ + { skip$ } + { CTLnames_show_etal + string.to.integer + 'num.names.shown.with.forced.et.al := + } + if$ + CTLuse_alt_spacing + empty$ + { skip$ } + { CTLuse_alt_spacing + yes.no.to.int + 'is.use.alt.interword.spacing := + } + if$ + CTLalt_stretch_factor + empty$ + { skip$ } + { CTLalt_stretch_factor + 'ALTinterwordstretchfactor := + "\renewcommand{\BIBentryALTinterwordstretchfactor}{" + ALTinterwordstretchfactor * "}" * + write$ newline$ + } + if$ + CTLdash_repeated_names + empty$ + { skip$ } + { CTLdash_repeated_names + yes.no.to.int + 'is.dash.repeated.names := + } + if$ + CTLname_format_string + empty$ + { skip$ } + { CTLname_format_string + 'name.format.string := + } + if$ + CTLname_latex_cmd + empty$ + { skip$ } + { CTLname_latex_cmd + 'name.latex.cmd := + } + if$ + CTLname_url_prefix + missing$ + { skip$ } + { CTLname_url_prefix + 'name.url.prefix := + } + if$ + + + num.names.shown.with.forced.et.al max.num.names.before.forced.et.al > + { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$ + max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al := + } + { skip$ } + if$ +} + + +%%%%%%%%%%%%%%%%%%% +%% ENTRY ALIASES %% +%%%%%%%%%%%%%%%%%%% +FUNCTION {conference}{inproceedings} +FUNCTION {online}{electronic} +FUNCTION {internet}{electronic} +FUNCTION {webpage}{electronic} +FUNCTION {www}{electronic} +FUNCTION {default.type}{misc} + + + +%%%%%%%%%%%%%%%%%% +%% MAIN PROGRAM %% +%%%%%%%%%%%%%%%%%% + +READ + +EXECUTE {initialize.controls} +EXECUTE {initialize.status.constants} +EXECUTE {banner.message} + +EXECUTE {initialize.longest.label} +ITERATE {longest.label.pass} + +EXECUTE {begin.bib} +ITERATE {call.type$} +EXECUTE {end.bib} + +EXECUTE{completed.message} + + +%% That's all folks, mds. diff --git a/mpi-energy2-extension/IEEEtran/IEEEtran.cls b/mpi-energy2-extension/IEEEtran/IEEEtran.cls new file mode 100644 index 0000000..f3a8b5b --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/IEEEtran.cls @@ -0,0 +1,4733 @@ +%% +%% IEEEtran.cls 2011/11/03 version V1.8 based on +%% IEEEtran.cls 2007/03/05 version V1.7a +%% The changes in V1.8 are made with a single goal in mind: +%% to change the look of the output using the [conference] option +%% and the default font size (10pt) to match the Word template more closely. +%% These changes may well have undesired side effects when other options +%% are in force! +%% +%% +%% This is the official IEEE LaTeX class for authors of the Institute of +%% Electrical and Electronics Engineers (IEEE) Transactions journals and +%% conferences. +%% +%% Support sites: +%% http://www.michaelshell.org/tex/ieeetran/ +%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +%% and +%% http://www.ieee.org/ +%% +%% Based on the original 1993 IEEEtran.cls, but with many bug fixes +%% and enhancements (from both JVH and MDS) over the 1996/7 version. +%% +%% +%% Contributors: +%% Gerry Murray (1993), Silvano Balemi (1993), +%% Jon Dixon (1996), Peter N"uchter (1996), +%% Juergen von Hagen (2000), and Michael Shell (2001-2007) +%% +%% +%% Copyright (c) 1993-2000 by Gerry Murray, Silvano Balemi, +%% Jon Dixon, Peter N"uchter, +%% Juergen von Hagen +%% and +%% Copyright (c) 2001-2007 by Michael Shell +%% +%% Current maintainer (V1.3 to V1.7): Michael Shell +%% See: +%% http://www.michaelshell.org/ +%% for current contact information. +%% +%% Special thanks to Peter Wilson (CUA) and Donald Arseneau +%% for allowing the inclusion of the \@ifmtarg command +%% from their ifmtarg LaTeX package. +%% +%%************************************************************************* +%% Legal Notice: +%% This code is offered as-is without any warranty either expressed or +%% implied; without even the implied warranty of MERCHANTABILITY or +%% FITNESS FOR A PARTICULAR PURPOSE! +%% User assumes all risk. +%% In no event shall IEEE or any contributor to this code be liable for +%% any damages or losses, including, but not limited to, incidental, +%% consequential, or any other damages, resulting from the use or misuse +%% of any information contained here. +%% +%% All comments are the opinions of their respective authors and are not +%% necessarily endorsed by the IEEE. +%% +%% This work is distributed under the LaTeX Project Public License (LPPL) +%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, +%% distributed and modified. A copy of the LPPL, version 1.3, is included +%% in the base LaTeX documentation of all distributions of LaTeX released +%% 2003/12/01 or later. +%% Retain all contribution notices and credits. +%% ** Modified files should be clearly indicated as such, including ** +%% ** renaming them and changing author support contact information. ** +%% +%% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex, +%% bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex +%% +%% Major changes to the user interface should be indicated by an +%% increase in the version numbers. If a version is a beta, it will +%% be indicated with a BETA suffix, i.e., 1.4 BETA. +%% Small changes can be indicated by appending letters to the version +%% such as "IEEEtran_v14a.cls". +%% In all cases, \Providesclass, any \typeout messages to the user, +%% \IEEEtransversionmajor and \IEEEtransversionminor must reflect the +%% correct version information. +%% The changes should also be documented via source comments. +%%************************************************************************* +%% +% +% Available class options +% e.g., \documentclass[10pt,conference]{IEEEtran} +% +% *** choose only one from each category *** +% +% 9pt, 10pt, 11pt, 12pt +% Sets normal font size. The default is 10pt. +% +% conference, journal, technote, peerreview, peerreviewca +% determines format mode - conference papers, journal papers, +% correspondence papers (technotes), or peer review papers. The user +% should also select 9pt when using technote. peerreview is like +% journal mode, but provides for a single-column "cover" title page for +% anonymous peer review. The paper title (without the author names) is +% repeated at the top of the page after the cover page. For peer review +% papers, the \IEEEpeerreviewmaketitle command must be executed (will +% automatically be ignored for non-peerreview modes) at the place the +% cover page is to end, usually just after the abstract (keywords are +% not normally used with peer review papers). peerreviewca is like +% peerreview, but allows the author names to be entered and formatted +% as with conference mode so that author affiliation and contact +% information can be easily seen on the cover page. +% The default is journal. +% +% draft, draftcls, draftclsnofoot, final +% determines if paper is formatted as a widely spaced draft (for +% handwritten editor comments) or as a properly typeset final version. +% draftcls restricts draft mode to the class file while all other LaTeX +% packages (i.e., \usepackage{graphicx}) will behave as final - allows +% for a draft paper with visible figures, etc. draftclsnofoot is like +% draftcls, but does not display the date and the word "DRAFT" at the foot +% of the pages. If using one of the draft modes, the user will probably +% also want to select onecolumn. +% The default is final. +% +% letterpaper, a4paper +% determines paper size: 8.5in X 11in or 210mm X 297mm. CHANGING THE PAPER +% SIZE WILL NOT ALTER THE TYPESETTING OF THE DOCUMENT - ONLY THE MARGINS +% WILL BE AFFECTED. In particular, documents using the a4paper option will +% have reduced side margins (A4 is narrower than US letter) and a longer +% bottom margin (A4 is longer than US letter). For both cases, the top +% margins will be the same and the text will be horizontally centered. +% For final submission to IEEE, authors should use US letter (8.5 X 11in) +% paper. Note that authors should ensure that all post-processing +% (ps, pdf, etc.) uses the same paper specificiation as the .tex document. +% Problems here are by far the number one reason for incorrect margins. +% IEEEtran will automatically set the default paper size under pdflatex +% (without requiring a change to pdftex.cfg), so this issue is more +% important to dvips users. Fix config.ps, config.pdf, or ~/.dvipsrc for +% dvips, or use the dvips -t papersize option instead as needed. See the +% testflow documentation +% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/testflow +% for more details on dvips paper size configuration. +% The default is letterpaper. +% +% oneside, twoside +% determines if layout follows single sided or two sided (duplex) +% printing. The only notable change is with the headings at the top of +% the pages. +% The default is oneside. +% +% onecolumn, twocolumn +% determines if text is organized into one or two columns per page. One +% column mode is usually used only with draft papers. +% The default is twocolumn. +% +% compsoc +% Use the format of the IEEE Computer Society. +% +% romanappendices +% Use the "Appendix I" convention when numbering appendices. IEEEtran.cls +% now defaults to Alpha "Appendix A" convention - the opposite of what +% v1.6b and earlier did. +% +% captionsoff +% disables the display of the figure/table captions. Some IEEE journals +% request that captions be removed and figures/tables be put on pages +% of their own at the end of an initial paper submission. The endfloat +% package can be used with this class option to achieve this format. +% +% nofonttune +% turns off tuning of the font interword spacing. Maybe useful to those +% not using the standard Times fonts or for those who have already "tuned" +% their fonts. +% The default is to enable IEEEtran to tune font parameters. +% +% +%---------- +% Available CLASSINPUTs provided (all are macros unless otherwise noted): +% \CLASSINPUTbaselinestretch +% \CLASSINPUTinnersidemargin +% \CLASSINPUToutersidemargin +% \CLASSINPUTtoptextmargin +% \CLASSINPUTbottomtextmargin +% +% Available CLASSINFOs provided: +% \ifCLASSINFOpdf (TeX if conditional) +% \CLASSINFOpaperwidth (macro) +% \CLASSINFOpaperheight (macro) +% \CLASSINFOnormalsizebaselineskip (length) +% \CLASSINFOnormalsizeunitybaselineskip (length) +% +% Available CLASSOPTIONs provided: +% all class option flags (TeX if conditionals) unless otherwise noted, +% e.g., \ifCLASSOPTIONcaptionsoff +% point size options provided as a single macro: +% \CLASSOPTIONpt +% which will be defined as 9, 10, 11, or 12 depending on the document's +% normalsize point size. +% also, class option peerreviewca implies the use of class option peerreview +% and classoption draft implies the use of class option draftcls + + + + + +\ProvidesClass{IEEEtran}[2012/11/21 V1.8c by Harald Hanche-Olsen and Anders Christensen] +\typeout{-- Based on V1.7a by Michael Shell} +\typeout{-- See the "IEEEtran_HOWTO" manual for usage information.} +\typeout{-- http://www.michaelshell.org/tex/ieeetran/} +\NeedsTeXFormat{LaTeX2e} + +% IEEEtran.cls version numbers, provided as of V1.3 +% These values serve as a way a .tex file can +% determine if the new features are provided. +% The version number of this IEEEtrans.cls can be obtained from +% these values. i.e., V1.4 +% KEEP THESE AS INTEGERS! i.e., NO {4a} or anything like that- +% (no need to enumerate "a" minor changes here) +\def\IEEEtransversionmajor{1} +\def\IEEEtransversionminor{7} + +% These do nothing, but provide them like in article.cls +\newif\if@restonecol +\newif\if@titlepage + + +% class option conditionals +\newif\ifCLASSOPTIONonecolumn \CLASSOPTIONonecolumnfalse +\newif\ifCLASSOPTIONtwocolumn \CLASSOPTIONtwocolumntrue + +\newif\ifCLASSOPTIONoneside \CLASSOPTIONonesidetrue +\newif\ifCLASSOPTIONtwoside \CLASSOPTIONtwosidefalse + +\newif\ifCLASSOPTIONfinal \CLASSOPTIONfinaltrue +\newif\ifCLASSOPTIONdraft \CLASSOPTIONdraftfalse +\newif\ifCLASSOPTIONdraftcls \CLASSOPTIONdraftclsfalse +\newif\ifCLASSOPTIONdraftclsnofoot \CLASSOPTIONdraftclsnofootfalse + +\newif\ifCLASSOPTIONpeerreview \CLASSOPTIONpeerreviewfalse +\newif\ifCLASSOPTIONpeerreviewca \CLASSOPTIONpeerreviewcafalse + +\newif\ifCLASSOPTIONjournal \CLASSOPTIONjournaltrue +\newif\ifCLASSOPTIONconference \CLASSOPTIONconferencefalse +\newif\ifCLASSOPTIONtechnote \CLASSOPTIONtechnotefalse + +\newif\ifCLASSOPTIONnofonttune \CLASSOPTIONnofonttunefalse + +\newif\ifCLASSOPTIONcaptionsoff \CLASSOPTIONcaptionsofffalse + +\newif\ifCLASSOPTIONcompsoc \CLASSOPTIONcompsocfalse + +\newif\ifCLASSOPTIONromanappendices \CLASSOPTIONromanappendicesfalse + + +% class info conditionals + +% indicates if pdf (via pdflatex) output +\newif\ifCLASSINFOpdf \CLASSINFOpdffalse + + +% V1.6b internal flag to show if using a4paper +\newif\if@IEEEusingAfourpaper \@IEEEusingAfourpaperfalse + + + +% IEEEtran class scratch pad registers +% dimen +\newdimen\@IEEEtrantmpdimenA +\newdimen\@IEEEtrantmpdimenB +% count +\newcount\@IEEEtrantmpcountA +\newcount\@IEEEtrantmpcountB +% token list +\newtoks\@IEEEtrantmptoksA + +% we use \CLASSOPTIONpt so that we can ID the point size (even for 9pt docs) +% as well as LaTeX's \@ptsize to retain some compatability with some +% external packages +\def\@ptsize{0} +% LaTeX does not support 9pt, so we set \@ptsize to 0 - same as that of 10pt +\DeclareOption{9pt}{\def\CLASSOPTIONpt{9}\def\@ptsize{0}} +\DeclareOption{10pt}{\def\CLASSOPTIONpt{10}\def\@ptsize{0}} +\DeclareOption{11pt}{\def\CLASSOPTIONpt{11}\def\@ptsize{1}} +\DeclareOption{12pt}{\def\CLASSOPTIONpt{12}\def\@ptsize{2}} + + + +\DeclareOption{letterpaper}{\setlength{\paperheight}{11in}% + \setlength{\paperwidth}{8.5in}% + \@IEEEusingAfourpaperfalse + \def\CLASSOPTIONpaper{letter}% + \def\CLASSINFOpaperwidth{8.5in}% + \def\CLASSINFOpaperheight{11in}} + + +\DeclareOption{a4paper}{\setlength{\paperheight}{297mm}% + \setlength{\paperwidth}{210mm}% + \@IEEEusingAfourpapertrue + \def\CLASSOPTIONpaper{a4}% + \def\CLASSINFOpaperwidth{210mm}% + \def\CLASSINFOpaperheight{297mm}} + +\DeclareOption{oneside}{\@twosidefalse\@mparswitchfalse + \CLASSOPTIONonesidetrue\CLASSOPTIONtwosidefalse} +\DeclareOption{twoside}{\@twosidetrue\@mparswitchtrue + \CLASSOPTIONtwosidetrue\CLASSOPTIONonesidefalse} + +\DeclareOption{onecolumn}{\CLASSOPTIONonecolumntrue\CLASSOPTIONtwocolumnfalse} +\DeclareOption{twocolumn}{\CLASSOPTIONtwocolumntrue\CLASSOPTIONonecolumnfalse} + +% If the user selects draft, then this class AND any packages +% will go into draft mode. +\DeclareOption{draft}{\CLASSOPTIONdrafttrue\CLASSOPTIONdraftclstrue + \CLASSOPTIONdraftclsnofootfalse} +% draftcls is for a draft mode which will not affect any packages +% used by the document. +\DeclareOption{draftcls}{\CLASSOPTIONdraftfalse\CLASSOPTIONdraftclstrue + \CLASSOPTIONdraftclsnofootfalse} +% draftclsnofoot is like draftcls, but without the footer. +\DeclareOption{draftclsnofoot}{\CLASSOPTIONdraftfalse\CLASSOPTIONdraftclstrue + \CLASSOPTIONdraftclsnofoottrue} +\DeclareOption{final}{\CLASSOPTIONdraftfalse\CLASSOPTIONdraftclsfalse + \CLASSOPTIONdraftclsnofootfalse} + +\DeclareOption{journal}{\CLASSOPTIONpeerreviewfalse\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournaltrue\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotefalse} + +\DeclareOption{conference}{\CLASSOPTIONpeerreviewfalse\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencetrue\CLASSOPTIONtechnotefalse} + +\DeclareOption{technote}{\CLASSOPTIONpeerreviewfalse\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotetrue} + +\DeclareOption{peerreview}{\CLASSOPTIONpeerreviewtrue\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotefalse} + +\DeclareOption{peerreviewca}{\CLASSOPTIONpeerreviewtrue\CLASSOPTIONpeerreviewcatrue + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotefalse} + +\DeclareOption{nofonttune}{\CLASSOPTIONnofonttunetrue} + +\DeclareOption{captionsoff}{\CLASSOPTIONcaptionsofftrue} + +\DeclareOption{compsoc}{\CLASSOPTIONcompsoctrue} + +\DeclareOption{romanappendices}{\CLASSOPTIONromanappendicestrue} + + +% default to US letter paper, 10pt, twocolumn, one sided, final, journal +\ExecuteOptions{letterpaper,10pt,twocolumn,oneside,final,journal} +% overrride these defaults per user requests +\ProcessOptions + + + +% Computer Society conditional execution command +\long\def\@IEEEcompsoconly#1{\relax\ifCLASSOPTIONcompsoc\relax#1\relax\fi\relax} +% inverse +\long\def\@IEEEnotcompsoconly#1{\relax\ifCLASSOPTIONcompsoc\else\relax#1\relax\fi\relax} +% compsoc conference +\long\def\@IEEEcompsocconfonly#1{\relax\ifCLASSOPTIONcompsoc\ifCLASSOPTIONconference\relax#1\relax\fi\fi\relax} +% compsoc not conference +\long\def\@IEEEcompsocnotconfonly#1{\relax\ifCLASSOPTIONcompsoc\ifCLASSOPTIONconference\else\relax#1\relax\fi\fi\relax} + + +% IEEE uses Times Roman font, so we'll default to Times. +% These three commands make up the entire times.sty package. +\renewcommand{\sfdefault}{phv} +\renewcommand{\rmdefault}{ptm} +\renewcommand{\ttdefault}{pcr} + +\@IEEEcompsoconly{\typeout{-- Using IEEE Computer Society mode.}} + +% V1.7 compsoc nonconference papers, use Palatino/Palladio as the main text font, +% not Times Roman. +\@IEEEcompsocnotconfonly{\renewcommand{\rmdefault}{ppl}} + +% enable Times/Palatino main text font +\normalfont\selectfont + + + + + +% V1.7 conference notice message hook +\def\@IEEEconsolenoticeconference{\typeout{}% +\typeout{** Conference Paper **}% +\typeout{Before submitting the final camera ready copy, remember to:}% +\typeout{}% +\typeout{ 1. Manually equalize the lengths of two columns on the last page}% +\typeout{ of your paper;}% +\typeout{}% +\typeout{ 2. Ensure that any PostScript and/or PDF output post-processing}% +\typeout{ uses only Type 1 fonts and that every step in the generation}% +\typeout{ process uses the appropriate paper size.}% +\typeout{}} + + +% we can send console reminder messages to the user here +\AtEndDocument{\ifCLASSOPTIONconference\@IEEEconsolenoticeconference\fi} + + +% warn about the use of single column other than for draft mode +\ifCLASSOPTIONtwocolumn\else% + \ifCLASSOPTIONdraftcls\else% + \typeout{** ATTENTION: Single column mode is not typically used with IEEE publications.}% + \fi% +\fi + + +% V1.7 improved paper size setting code. +% Set pdfpage and dvips paper sizes. Conditional tests are similar to that +% of ifpdf.sty. Retain within {} to ensure tested macros are never altered, +% even if only effect is to set them to \relax. +% if \pdfoutput is undefined or equal to relax, output a dvips special +{\@ifundefined{pdfoutput}{\AtBeginDvi{\special{papersize=\CLASSINFOpaperwidth,\CLASSINFOpaperheight}}}{% +% pdfoutput is defined and not equal to \relax +% check for pdfpageheight existence just in case someone sets pdfoutput +% under non-pdflatex. If exists, set them regardless of value of \pdfoutput. +\@ifundefined{pdfpageheight}{\relax}{\global\pdfpagewidth\paperwidth +\global\pdfpageheight\paperheight}% +% if using \pdfoutput=0 under pdflatex, send dvips papersize special +\ifcase\pdfoutput +\AtBeginDvi{\special{papersize=\CLASSINFOpaperwidth,\CLASSINFOpaperheight}}% +\else +% we are using pdf output, set CLASSINFOpdf flag +\global\CLASSINFOpdftrue +\fi}} + +% let the user know the selected papersize +\typeout{-- Using \CLASSINFOpaperwidth\space x \CLASSINFOpaperheight\space +(\CLASSOPTIONpaper)\space paper.} + +\ifCLASSINFOpdf +\typeout{-- Using PDF output.} +\else +\typeout{-- Using DVI output.} +\fi + + +% The idea hinted here is for LaTeX to generate markleft{} and markright{} +% automatically for you after you enter \author{}, \journal{}, +% \journaldate{}, journalvol{}, \journalnum{}, etc. +% However, there may be some backward compatibility issues here as +% well as some special applications for IEEEtran.cls and special issues +% that may require the flexible \markleft{}, \markright{} and/or \markboth{}. +% We'll leave this as an open future suggestion. +%\newcommand{\journal}[1]{\def\@journal{#1}} +%\def\@journal{} + + + +% pointsize values +% used with ifx to determine the document's normal size +\def\@IEEEptsizenine{9} +\def\@IEEEptsizeten{10} +\def\@IEEEptsizeeleven{11} +\def\@IEEEptsizetwelve{12} + + + +% FONT DEFINITIONS (No sizexx.clo file needed) +% V1.6 revised font sizes, displayskip values and +% revised normalsize baselineskip to reduce underfull vbox problems +% on the 58pc = 696pt = 9.5in text height we want +% normalsize #lines/column baselineskip (aka leading) +% 9pt 63 11.0476pt (truncated down) +% 10pt 58 12pt (exact) +% 11pt 52 13.3846pt (truncated down) +% 12pt 50 13.92pt (exact) +% + +% we need to store the nominal baselineskip for the given font size +% in case baselinestretch ever changes. +% this is a dimen, so it will not hold stretch or shrink +\newdimen\@IEEEnormalsizeunitybaselineskip +\@IEEEnormalsizeunitybaselineskip\baselineskip + +\ifx\CLASSOPTIONpt\@IEEEptsizenine +\typeout{-- This is a 9 point document.} +\def\normalsize{\@setfontsize{\normalsize}{9}{11.0476pt}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{11.0476pt}% +\normalsize +\abovedisplayskip 1.5ex plus3pt minus1pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus3pt% +\belowdisplayshortskip 1.5ex plus3pt minus1pt +\def\small{\@setfontsize{\small}{8.5}{10pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{8}{9pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{7}{8pt}} +\def\tiny{\@setfontsize{\tiny}{5}{6pt}} +% sublargesize is the same as large - 10pt +\def\sublargesize{\@setfontsize{\sublargesize}{10}{12pt}} +\def\large{\@setfontsize{\large}{10}{12pt}} +\def\Large{\@setfontsize{\Large}{12}{14pt}} +\def\LARGE{\@setfontsize{\LARGE}{14}{17pt}} +\def\huge{\@setfontsize{\huge}{17}{20pt}} +\def\Huge{\@setfontsize{\Huge}{20}{24pt}} +\fi + + +% Check if we have selected 10 points +\ifx\CLASSOPTIONpt\@IEEEptsizeten +\typeout{-- This is a 10 point document.} +\def\normalsize{\@setfontsize{\normalsize}{10}{11}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{11pt}% +\normalsize +\abovedisplayskip 1.5ex plus4pt minus2pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus4pt% +\belowdisplayshortskip 1.5ex plus4pt minus2pt +\def\small{\@setfontsize{\small}{9}{10pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{8}{9pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{7}{8pt}} +\def\tiny{\@setfontsize{\tiny}{5}{6pt}} +% sublargesize is a tad smaller than large - 11pt +\def\sublargesize{\@setfontsize{\sublargesize}{11}{13.4pt}} +\def\large{\@setfontsize{\large}{12}{14pt}} +\def\Large{\@setfontsize{\Large}{14}{17pt}} +\def\LARGE{\@setfontsize{\LARGE}{17}{20pt}} +\def\huge{\@setfontsize{\huge}{20}{24pt}} +\def\Huge{\@setfontsize{\Huge}{24}{28pt}} +\fi + + +% Check if we have selected 11 points +\ifx\CLASSOPTIONpt\@IEEEptsizeeleven +\typeout{-- This is an 11 point document.} +\def\normalsize{\@setfontsize{\normalsize}{11}{13.3846pt}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{13.3846pt}% +\normalsize +\abovedisplayskip 1.5ex plus5pt minus3pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus5pt% +\belowdisplayshortskip 1.5ex plus5pt minus3pt +\def\small{\@setfontsize{\small}{10}{12pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{9}{10.5pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{8}{9pt}} +\def\tiny{\@setfontsize{\tiny}{6}{7pt}} +% sublargesize is the same as large - 12pt +\def\sublargesize{\@setfontsize{\sublargesize}{12}{14pt}} +\def\large{\@setfontsize{\large}{12}{14pt}} +\def\Large{\@setfontsize{\Large}{14}{17pt}} +\def\LARGE{\@setfontsize{\LARGE}{17}{20pt}} +\def\huge{\@setfontsize{\huge}{20}{24pt}} +\def\Huge{\@setfontsize{\Huge}{24}{28pt}} +\fi + + +% Check if we have selected 12 points +\ifx\CLASSOPTIONpt\@IEEEptsizetwelve +\typeout{-- This is a 12 point document.} +\def\normalsize{\@setfontsize{\normalsize}{12}{13.92pt}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{13.92pt}% +\normalsize +\abovedisplayskip 1.5ex plus6pt minus4pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus6pt% +\belowdisplayshortskip 1.5ex plus6pt minus4pt +\def\small{\@setfontsize{\small}{10}{12pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{9}{10.5pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{8}{9pt}} +\def\tiny{\@setfontsize{\tiny}{6}{7pt}} +% sublargesize is the same as large - 14pt +\def\sublargesize{\@setfontsize{\sublargesize}{14}{17pt}} +\def\large{\@setfontsize{\large}{14}{17pt}} +\def\Large{\@setfontsize{\Large}{17}{20pt}} +\def\LARGE{\@setfontsize{\LARGE}{20}{24pt}} +\def\huge{\@setfontsize{\huge}{22}{26pt}} +\def\Huge{\@setfontsize{\Huge}{24}{28pt}} +\fi + + +% V1.6 The Computer Modern Fonts will issue a substitution warning for +% 24pt titles (24.88pt is used instead) increase the substitution +% tolerance to turn off this warning +\def\fontsubfuzz{.9pt} +% However, the default (and correct) Times font will scale exactly as needed. + + +% warn the user in case they forget to use the 9pt option with +% technote +\ifCLASSOPTIONtechnote% + \ifx\CLASSOPTIONpt\@IEEEptsizenine\else% + \typeout{** ATTENTION: Technotes are normally 9pt documents.}% + \fi% +\fi + + +% V1.7 +% Improved \textunderscore to provide a much better fake _ when used with +% OT1 encoding. Under OT1, detect use of pcr or cmtt \ttfamily and use +% available true _ glyph for those two typewriter fonts. +\def\@IEEEstringptm{ptm} % Times Roman family +\def\@IEEEstringppl{ppl} % Palatino Roman family +\def\@IEEEstringphv{phv} % Helvetica Sans Serif family +\def\@IEEEstringpcr{pcr} % Courier typewriter family +\def\@IEEEstringcmtt{cmtt} % Computer Modern typewriter family +\DeclareTextCommandDefault{\textunderscore}{\leavevmode +\ifx\f@family\@IEEEstringpcr\string_\else +\ifx\f@family\@IEEEstringcmtt\string_\else +\ifx\f@family\@IEEEstringptm\kern 0em\vbox{\hrule\@width 0.5em\@height 0.5pt\kern -0.3ex}\else +\ifx\f@family\@IEEEstringppl\kern 0em\vbox{\hrule\@width 0.5em\@height 0.5pt\kern -0.3ex}\else +\ifx\f@family\@IEEEstringphv\kern -0.03em\vbox{\hrule\@width 0.62em\@height 0.52pt\kern -0.33ex}\kern -0.03em\else +\kern 0.09em\vbox{\hrule\@width 0.6em\@height 0.44pt\kern -0.63pt\kern -0.42ex}\kern 0.09em\fi\fi\fi\fi\fi\relax} + + + + +% set the default \baselinestretch +\def\baselinestretch{1} +\ifCLASSOPTIONdraftcls + \def\baselinestretch{1.5}% default baselinestretch for draft modes +\fi + + +% process CLASSINPUT baselinestretch +\ifx\CLASSINPUTbaselinestretch\@IEEEundefined +\else + \edef\baselinestretch{\CLASSINPUTbaselinestretch} % user CLASSINPUT override + \typeout{** ATTENTION: Overriding \string\baselinestretch\space to + \baselinestretch\space via \string\CLASSINPUT.} +\fi + +\normalsize % make \baselinestretch take affect + + + + +% store the normalsize baselineskip +\newdimen\CLASSINFOnormalsizebaselineskip +\CLASSINFOnormalsizebaselineskip=\baselineskip\relax +% and the normalsize unity (baselinestretch=1) baselineskip +% we could save a register by giving the user access to +% \@IEEEnormalsizeunitybaselineskip. However, let's protect +% its read only internal status +\newdimen\CLASSINFOnormalsizeunitybaselineskip +\CLASSINFOnormalsizeunitybaselineskip=\@IEEEnormalsizeunitybaselineskip\relax +% store the nominal value of jot +\newdimen\IEEEnormaljot +\IEEEnormaljot=0.25\baselineskip\relax + +% set \jot +\jot=\IEEEnormaljot\relax + + + + +% V1.6, we are now going to fine tune the interword spacing +% The default interword glue for Times under TeX appears to use a +% nominal interword spacing of 25% (relative to the font size, i.e., 1em) +% a maximum of 40% and a minimum of 19%. +% For example, 10pt text uses an interword glue of: +% +% 2.5pt plus 1.49998pt minus 0.59998pt +% +% However, IEEE allows for a more generous range which reduces the need +% for hyphenation, especially for two column text. Furthermore, IEEE +% tends to use a little bit more nominal space between the words. +% IEEE's interword spacing percentages appear to be: +% 35% nominal +% 23% minimum +% 50% maximum +% (They may even be using a tad more for the largest fonts such as 24pt.) +% +% for bold text, IEEE increases the spacing a little more: +% 37.5% nominal +% 23% minimum +% 55% maximum + +% here are the interword spacing ratios we'll use +% for medium (normal weight) +\def\@IEEEinterspaceratioM{0.35} +\def\@IEEEinterspaceMINratioM{0.23} +\def\@IEEEinterspaceMAXratioM{0.50} + +% for bold +\def\@IEEEinterspaceratioB{0.375} +\def\@IEEEinterspaceMINratioB{0.23} +\def\@IEEEinterspaceMAXratioB{0.55} + + +% command to revise the interword spacing for the current font under TeX: +% \fontdimen2 = nominal interword space +% \fontdimen3 = interword stretch +% \fontdimen4 = interword shrink +% since all changes to the \fontdimen are global, we can enclose these commands +% in braces to confine any font attribute or length changes +\def\@@@IEEEsetfontdimens#1#2#3{{% +\setlength{\@IEEEtrantmpdimenB}{\f@size pt}% grab the font size in pt, could use 1em instead. +\setlength{\@IEEEtrantmpdimenA}{#1\@IEEEtrantmpdimenB}% +\fontdimen2\font=\@IEEEtrantmpdimenA\relax +\addtolength{\@IEEEtrantmpdimenA}{-#2\@IEEEtrantmpdimenB}% +\fontdimen3\font=-\@IEEEtrantmpdimenA\relax +\setlength{\@IEEEtrantmpdimenA}{#1\@IEEEtrantmpdimenB}% +\addtolength{\@IEEEtrantmpdimenA}{-#3\@IEEEtrantmpdimenB}% +\fontdimen4\font=\@IEEEtrantmpdimenA\relax}} + +% revise the interword spacing for each font weight +\def\@@IEEEsetfontdimens{{% +\mdseries +\@@@IEEEsetfontdimens{\@IEEEinterspaceratioM}{\@IEEEinterspaceMAXratioM}{\@IEEEinterspaceMINratioM}% +\bfseries +\@@@IEEEsetfontdimens{\@IEEEinterspaceratioB}{\@IEEEinterspaceMAXratioB}{\@IEEEinterspaceMINratioB}% +}} + +% revise the interword spacing for each font shape +% \slshape is not often used for IEEE work and is not altered here. The \scshape caps are +% already a tad too large in the free LaTeX fonts (as compared to what IEEE uses) so we +% won't alter these either. +\def\@IEEEsetfontdimens{{% +\normalfont +\@@IEEEsetfontdimens +\normalfont\itshape +\@@IEEEsetfontdimens +}} + +% command to revise the interword spacing for each font size (and shape +% and weight). Only the \rmfamily is done here as \ttfamily uses a +% fixed spacing and \sffamily is not used as the main text of IEEE papers. +\def\@IEEEtunefonts{{\selectfont\rmfamily +\tiny\@IEEEsetfontdimens +\scriptsize\@IEEEsetfontdimens +\footnotesize\@IEEEsetfontdimens +\small\@IEEEsetfontdimens +\normalsize\@IEEEsetfontdimens +\sublargesize\@IEEEsetfontdimens +\large\@IEEEsetfontdimens +\LARGE\@IEEEsetfontdimens +\huge\@IEEEsetfontdimens +\Huge\@IEEEsetfontdimens}} + +% if the nofonttune class option is not given, revise the interword spacing +% now - in case IEEEtran makes any default length measurements, and make +% sure all the default fonts are loaded +\ifCLASSOPTIONnofonttune\else +\@IEEEtunefonts +\fi + +% and again at the start of the document in case the user loaded different fonts +\AtBeginDocument{\ifCLASSOPTIONnofonttune\else\@IEEEtunefonts\fi} + + + +% V1.6 +% LaTeX is a little to quick to use hyphenations +% So, we increase the penalty for their use and raise +% the badness level that triggers an underfull hbox +% warning. The author may still have to tweak things, +% but the appearance will be much better "right out +% of the box" than that under V1.5 and prior. +% TeX default is 50 +\hyphenpenalty=750 +% If we didn't adjust the interword spacing, 2200 might be better. +% The TeX default is 1000 +\hbadness=1350 +% IEEE does not use extra spacing after punctuation +\frenchspacing + +% V1.7 increase this a tad to discourage equation breaks +\binoppenalty=1000 % default 700 +\relpenalty=800 % default 500 + + +% margin note stuff +\marginparsep 10pt +\marginparwidth 20pt +\marginparpush 25pt + + +% if things get too close, go ahead and let them touch +\lineskip 0pt +\normallineskip 0pt +\lineskiplimit 0pt +\normallineskiplimit 0pt + +% The distance from the lower edge of the text body to the +% footline +\footskip 0.4in + +% normally zero, should be relative to font height. +% put in a little rubber to help stop some bad breaks (underfull vboxes) +\parskip 0ex plus 0.2ex minus 0.1ex +\ifCLASSOPTIONconference +\parskip 6pt plus 2pt minus 1pt +\fi + +\parindent 1.0em +\ifCLASSOPTIONconference +\parindent 14.45pt +\fi + +\topmargin -49.0pt +\headheight 12pt +\headsep 0.25in + +% use the normal font baselineskip +% so that \topskip is unaffected by changes in \baselinestretch +\topskip=\@IEEEnormalsizeunitybaselineskip +\textheight 58pc % 9.63in, 696pt +% Tweak textheight to a perfect integer number of lines/page. +% The normal baselineskip for each document point size is used +% to determine these values. +\ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=63\@IEEEnormalsizeunitybaselineskip\fi % 63 lines/page +\ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=58\@IEEEnormalsizeunitybaselineskip\fi % 58 lines/page +\ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=52\@IEEEnormalsizeunitybaselineskip\fi % 52 lines/page +\ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=50\@IEEEnormalsizeunitybaselineskip\fi % 50 lines/page + + +\columnsep 1.5pc +\textwidth 184.2mm + + +% the default side margins are equal +\if@IEEEusingAfourpaper +\oddsidemargin 14.32mm +\evensidemargin 14.32mm +\else +\oddsidemargin 0.680in +\evensidemargin 0.680in +\fi +% compensate for LaTeX's 1in offset +\addtolength{\oddsidemargin}{-1in} +\addtolength{\evensidemargin}{-1in} + + + +% adjust margins for conference mode +\ifCLASSOPTIONconference + \topmargin -0.25in + % we retain the reserved, but unused space for headers + \addtolength{\topmargin}{-\headheight} + \addtolength{\topmargin}{-\headsep} + \textheight 9.25in % The standard for conferences (668.4975pt) + % Tweak textheight to a perfect integer number of lines/page. + \ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=61\@IEEEnormalsizeunitybaselineskip\fi % 61 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=62\@IEEEnormalsizeunitybaselineskip\fi % 62 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=50\@IEEEnormalsizeunitybaselineskip\fi % 50 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=48\@IEEEnormalsizeunitybaselineskip\fi % 48 lines/page +\fi + + +% compsoc conference +\ifCLASSOPTIONcompsoc +\ifCLASSOPTIONconference + % compsoc conference use a larger value for columnsep + \columnsep 0.375in + % compsoc conferences want 1in top margin, 1.125in bottom margin + \topmargin 0in + \addtolength{\topmargin}{-6pt}% we tweak this a tad to better comply with top of line stuff + % we retain the reserved, but unused space for headers + \addtolength{\topmargin}{-\headheight} + \addtolength{\topmargin}{-\headsep} + \textheight 8.875in % (641.39625pt) + % Tweak textheight to a perfect integer number of lines/page. + \ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=58\@IEEEnormalsizeunitybaselineskip\fi % 58 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=53\@IEEEnormalsizeunitybaselineskip\fi % 53 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=48\@IEEEnormalsizeunitybaselineskip\fi % 48 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=46\@IEEEnormalsizeunitybaselineskip\fi % 46 lines/page + \textwidth 6.5in + % the default side margins are equal + \if@IEEEusingAfourpaper + \oddsidemargin 22.45mm + \evensidemargin 22.45mm + \else + \oddsidemargin 1in + \evensidemargin 1in + \fi + % compensate for LaTeX's 1in offset + \addtolength{\oddsidemargin}{-1in} + \addtolength{\evensidemargin}{-1in} +\fi\fi + + + +% draft mode settings override that of all other modes +% provides a nice 1in margin all around the paper and extra +% space between the lines for editor's comments +\ifCLASSOPTIONdraftcls + % want 1in from top of paper to text + \setlength{\topmargin}{-\headsep}% + \addtolength{\topmargin}{-\headheight}% + % we want 1in side margins regardless of paper type + \oddsidemargin 0in + \evensidemargin 0in + % set the text width + \setlength{\textwidth}{\paperwidth}% + \addtolength{\textwidth}{-2.0in}% + \setlength{\textheight}{\paperheight}% + \addtolength{\textheight}{-2.0in}% + % digitize textheight to be an integer number of lines. + % this may cause the bottom margin to be off a tad + \addtolength{\textheight}{-1\topskip}% + \divide\textheight by \baselineskip% + \multiply\textheight by \baselineskip% + \addtolength{\textheight}{\topskip}% +\fi + + + +% process CLASSINPUT inner/outer margin +% if inner margin defined, but outer margin not, set outer to inner. +\ifx\CLASSINPUTinnersidemargin\@IEEEundefined +\else + \ifx\CLASSINPUToutersidemargin\@IEEEundefined + \edef\CLASSINPUToutersidemargin{\CLASSINPUTinnersidemargin} + \fi +\fi + +\ifx\CLASSINPUToutersidemargin\@IEEEundefined +\else + % if outer margin defined, but inner margin not, set inner to outer. + \ifx\CLASSINPUTinnersidemargin\@IEEEundefined + \edef\CLASSINPUTinnersidemargin{\CLASSINPUToutersidemargin} + \fi + \setlength{\oddsidemargin}{\CLASSINPUTinnersidemargin} + \ifCLASSOPTIONtwoside + \setlength{\evensidemargin}{\CLASSINPUToutersidemargin} + \else + \setlength{\evensidemargin}{\CLASSINPUTinnersidemargin} + \fi + \addtolength{\oddsidemargin}{-1in} + \addtolength{\evensidemargin}{-1in} + \setlength{\textwidth}{\paperwidth} + \addtolength{\textwidth}{-\CLASSINPUTinnersidemargin} + \addtolength{\textwidth}{-\CLASSINPUToutersidemargin} + \typeout{** ATTENTION: Overriding inner side margin to \CLASSINPUTinnersidemargin\space and + outer side margin to \CLASSINPUToutersidemargin\space via \string\CLASSINPUT.} +\fi + + + +% process CLASSINPUT top/bottom text margin +% if toptext margin defined, but bottomtext margin not, set bottomtext to toptext margin +\ifx\CLASSINPUTtoptextmargin\@IEEEundefined +\else + \ifx\CLASSINPUTbottomtextmargin\@IEEEundefined + \edef\CLASSINPUTbottomtextmargin{\CLASSINPUTtoptextmargin} + \fi +\fi + +\ifx\CLASSINPUTbottomtextmargin\@IEEEundefined +\else + % if bottomtext margin defined, but toptext margin not, set toptext to bottomtext margin + \ifx\CLASSINPUTtoptextmargin\@IEEEundefined + \edef\CLASSINPUTtoptextmargin{\CLASSINPUTbottomtextmargin} + \fi + \setlength{\topmargin}{\CLASSINPUTtoptextmargin} + \addtolength{\topmargin}{-1in} + \addtolength{\topmargin}{-\headheight} + \addtolength{\topmargin}{-\headsep} + \setlength{\textheight}{\paperheight} + \addtolength{\textheight}{-\CLASSINPUTtoptextmargin} + \addtolength{\textheight}{-\CLASSINPUTbottomtextmargin} + % in the default format we use the normal baselineskip as topskip + % we only need 0.7 of this to clear typical top text and we need + % an extra 0.3 spacing at the bottom for descenders. This will + % correct for both. + \addtolength{\topmargin}{-0.3\@IEEEnormalsizeunitybaselineskip} + \typeout{** ATTENTION: Overriding top text margin to \CLASSINPUTtoptextmargin\space and + bottom text margin to \CLASSINPUTbottomtextmargin\space via \string\CLASSINPUT.} +\fi + + + + + + + +% LIST SPACING CONTROLS + +% Controls the amount of EXTRA spacing +% above and below \trivlist +% Both \list and IED lists override this. +% However, \trivlist will use this as will most +% things built from \trivlist like the \center +% environment. +\topsep 0.5\baselineskip + +% Controls the additional spacing around lists preceded +% or followed by blank lines. IEEE does not increase +% spacing before or after paragraphs so it is set to zero. +% \z@ is the same as zero, but faster. +\partopsep \z@ + +% Controls the spacing between paragraphs in lists. +% IEEE does not increase spacing before or after paragraphs +% so this is also zero. +% With IEEEtran.cls, global changes to +% this value DO affect lists (but not IED lists). +\parsep \z@ + +% Controls the extra spacing between list items. +% IEEE does not put extra spacing between items. +% With IEEEtran.cls, global changes to this value DO affect +% lists (but not IED lists). +\itemsep \z@ + +% \itemindent is the amount to indent the FIRST line of a list +% item. It is auto set to zero within the \list environment. To alter +% it, you have to do so when you call the \list. +% However, IEEE uses this for the theorem environment +% There is an alternative value for this near \leftmargini below +\itemindent -1em + +% \leftmargin, the spacing from the left margin of the main text to +% the left of the main body of a list item is set by \list. +% Hence this statement does nothing for lists. +% But, quote and verse do use it for indention. +\leftmargin 2em + +% we retain this stuff from the older IEEEtran.cls so that \list +% will work the same way as before. However, itemize, enumerate and +% description (IED) could care less about what these are as they +% all are overridden. +\leftmargini 2em +%\itemindent 2em % Alternative values: sometimes used. +%\leftmargini 0em +\leftmarginii 1em +\leftmarginiii 1.5em +\leftmarginiv 1.5em +\leftmarginv 1.0em +\leftmarginvi 1.0em +\labelsep 0.5em +\labelwidth \z@ + + +% The old IEEEtran.cls behavior of \list is retained. +% However, the new V1.3 IED list environments override all the +% @list stuff (\@listX is called within \list for the +% appropriate level just before the user's list_decl is called). +% \topsep is now 2pt as IEEE puts a little extra space around +% lists - used by those non-IED macros that depend on \list. +% Note that \parsep and \itemsep are not redefined as in +% the sizexx.clo \@listX (which article.cls uses) so global changes +% of these values DO affect \list +% +\def\@listi{\leftmargin\leftmargini \topsep 2pt plus 1pt minus 1pt} +\let\@listI\@listi +\def\@listii{\leftmargin\leftmarginii\labelwidth\leftmarginii% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listiii{\leftmargin\leftmarginiii\labelwidth\leftmarginiii% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listiv{\leftmargin\leftmarginiv\labelwidth\leftmarginiv% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listv{\leftmargin\leftmarginv\labelwidth\leftmarginv% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listvi{\leftmargin\leftmarginvi\labelwidth\leftmarginvi% + \advance\labelwidth-\labelsep \topsep 2pt} + + +% IEEE uses 5) not 5. +\def\labelenumi{\theenumi)} \def\theenumi{\arabic{enumi}} + +% IEEE uses a) not (a) +\def\labelenumii{\theenumii)} \def\theenumii{\alph{enumii}} + +% IEEE uses iii) not iii. +\def\labelenumiii{\theenumiii)} \def\theenumiii{\roman{enumiii}} + +% IEEE uses A) not A. +\def\labelenumiv{\theenumiv)} \def\theenumiv{\Alph{enumiv}} + +% exactly the same as in article.cls +\def\p@enumii{\theenumi} +\def\p@enumiii{\theenumi(\theenumii)} +\def\p@enumiv{\p@enumiii\theenumiii} + +% itemized list label styles +\def\labelitemi{$\bullet$} +\def\labelitemii{$\circ$} +\def\labelitemiii{\vrule height 0.8ex depth -0.2ex width 0.6ex} +\def\labelitemiv{$\ast$} + + + +% **** V1.3 ENHANCEMENTS **** +% Itemize, Enumerate and Description (IED) List Controls +% *************************** +% +% +% IEEE seems to use at least two different values by +% which ITEMIZED list labels are indented to the right +% For The Journal of Lightwave Technology (JLT) and The Journal +% on Selected Areas in Communications (JSAC), they tend to use +% an indention equal to \parindent. For Transactions on Communications +% they tend to indent ITEMIZED lists a little more--- 1.3\parindent. +% We'll provide both values here for you so that you can choose +% which one you like in your document using a command such as: +% setlength{\IEEEilabelindent}{\IEEEilabelindentB} +\newdimen\IEEEilabelindentA +\IEEEilabelindentA \parindent + +\newdimen\IEEEilabelindentB +\IEEEilabelindentB 1.3\parindent +% However, we'll default to using \parindent +% which makes more sense to me +\newdimen\IEEEilabelindent +\IEEEilabelindent \IEEEilabelindentA + + +% This controls the default amount the enumerated list labels +% are indented to the right. +% Normally, this is the same as the paragraph indention +\newdimen\IEEEelabelindent +\IEEEelabelindent \parindent + +% This controls the default amount the description list labels +% are indented to the right. +% Normally, this is the same as the paragraph indention +\newdimen\IEEEdlabelindent +\IEEEdlabelindent \parindent + +% This is the value actually used within the IED lists. +% The IED environments automatically set its value to +% one of the three values above, so global changes do +% not have any effect +\newdimen\IEEElabelindent +\IEEElabelindent \parindent + +% The actual amount labels will be indented is +% \IEEElabelindent multiplied by the factor below +% corresponding to the level of nesting depth +% This provides a means by which the user can +% alter the effective \IEEElabelindent for deeper +% levels +% There may not be such a thing as correct "standard IEEE" +% values. What IEEE actually does may depend on the specific +% circumstances. +% The first list level almost always has full indention. +% The second levels I've seen have only 75% of the normal indentation +% Three level or greater nestings are very rare. I am guessing +% that they don't use any indentation. +\def\IEEElabelindentfactori{1.0} % almost always one +\def\IEEElabelindentfactorii{0.75} % 0.0 or 1.0 may be used in some cases +\def\IEEElabelindentfactoriii{0.0} % 0.75? 0.5? 0.0? +\def\IEEElabelindentfactoriv{0.0} +\def\IEEElabelindentfactorv{0.0} +\def\IEEElabelindentfactorvi{0.0} + +% value actually used within IED lists, it is auto +% set to one of the 6 values above +% global changes here have no effect +\def\IEEElabelindentfactor{1.0} + +% This controls the default spacing between the end of the IED +% list labels and the list text, when normal text is used for +% the labels. +\newdimen\IEEEiednormlabelsep +\IEEEiednormlabelsep \parindent + +% This controls the default spacing between the end of the IED +% list labels and the list text, when math symbols are used for +% the labels (nomenclature lists). IEEE usually increases the +% spacing in these cases +\newdimen\IEEEiedmathlabelsep +\IEEEiedmathlabelsep 1.2em + +% This controls the extra vertical separation put above and +% below each IED list. IEEE usually puts a little extra spacing +% around each list. However, this spacing is barely noticeable. +\newskip\IEEEiedtopsep +\IEEEiedtopsep 2pt plus 1pt minus 1pt + + +% This command is executed within each IED list environment +% at the beginning of the list. You can use this to set the +% parameters for some/all your IED list(s) without disturbing +% global parameters that affect things other than lists. +% i.e., renewcommand{\IEEEiedlistdecl}{\setlength{\labelsep}{5em}} +% will alter the \labelsep for the next list(s) until +% \IEEEiedlistdecl is redefined. +\def\IEEEiedlistdecl{\relax} + +% This command provides an easy way to set \leftmargin based +% on the \labelwidth, \labelsep and the argument \IEEElabelindent +% Usage: \IEEEcalcleftmargin{width-to-indent-the-label} +% output is in the \leftmargin variable, i.e., effectively: +% \leftmargin = argument + \labelwidth + \labelsep +% Note controlled spacing here, shield end of lines with % +\def\IEEEcalcleftmargin#1{\setlength{\leftmargin}{#1}% +\addtolength{\leftmargin}{\labelwidth}% +\addtolength{\leftmargin}{\labelsep}} + +% This command provides an easy way to set \labelwidth to the +% width of the given text. It is the same as +% \settowidth{\labelwidth}{label-text} +% and useful as a shorter alternative. +% Typically used to set \labelwidth to be the width +% of the longest label in the list +\def\IEEEsetlabelwidth#1{\settowidth{\labelwidth}{#1}} + +% When this command is executed, IED lists will use the +% IEEEiedmathlabelsep label separation rather than the normal +% spacing. To have an effect, this command must be executed via +% the \IEEEiedlistdecl or within the option of the IED list +% environments. +\def\IEEEusemathlabelsep{\setlength{\labelsep}{\IEEEiedmathlabelsep}} + +% A flag which controls whether the IED lists automatically +% calculate \leftmargin from \IEEElabelindent, \labelwidth and \labelsep +% Useful if you want to specify your own \leftmargin +% This flag must be set (\IEEEnocalcleftmargintrue or \IEEEnocalcleftmarginfalse) +% via the \IEEEiedlistdecl or within the option of the IED list +% environments to have an effect. +\newif\ifIEEEnocalcleftmargin +\IEEEnocalcleftmarginfalse + +% A flag which controls whether \IEEElabelindent is multiplied by +% the \IEEElabelindentfactor for each list level. +% This flag must be set via the \IEEEiedlistdecl or within the option +% of the IED list environments to have an effect. +\newif\ifIEEEnolabelindentfactor +\IEEEnolabelindentfactorfalse + + +% internal variable to indicate type of IED label +% justification +% 0 - left; 1 - center; 2 - right +\def\@IEEEiedjustify{0} + + +% commands to allow the user to control IED +% label justifications. Use these commands within +% the IED environment option or in the \IEEEiedlistdecl +% Note that changing the normal list justifications +% is nonstandard and IEEE may not like it if you do so! +% I include these commands as they may be helpful to +% those who are using these enhanced list controls for +% other non-IEEE related LaTeX work. +% itemize and enumerate automatically default to right +% justification, description defaults to left. +\def\IEEEiedlabeljustifyl{\def\@IEEEiedjustify{0}}%left +\def\IEEEiedlabeljustifyc{\def\@IEEEiedjustify{1}}%center +\def\IEEEiedlabeljustifyr{\def\@IEEEiedjustify{2}}%right + + + + +% commands to save to and restore from the list parameter copies +% this allows us to set all the list parameters within +% the list_decl and prevent \list (and its \@list) +% from overriding any of our parameters +% V1.6 use \edefs instead of dimen's to conserve dimen registers +% Note controlled spacing here, shield end of lines with % +\def\@IEEEsavelistparams{\edef\@IEEEiedtopsep{\the\topsep}% +\edef\@IEEEiedlabelwidth{\the\labelwidth}% +\edef\@IEEEiedlabelsep{\the\labelsep}% +\edef\@IEEEiedleftmargin{\the\leftmargin}% +\edef\@IEEEiedpartopsep{\the\partopsep}% +\edef\@IEEEiedparsep{\the\parsep}% +\edef\@IEEEieditemsep{\the\itemsep}% +\edef\@IEEEiedrightmargin{\the\rightmargin}% +\edef\@IEEEiedlistparindent{\the\listparindent}% +\edef\@IEEEieditemindent{\the\itemindent}} + +% Note controlled spacing here +\def\@IEEErestorelistparams{\topsep\@IEEEiedtopsep\relax% +\labelwidth\@IEEEiedlabelwidth\relax% +\labelsep\@IEEEiedlabelsep\relax% +\leftmargin\@IEEEiedleftmargin\relax% +\partopsep\@IEEEiedpartopsep\relax% +\parsep\@IEEEiedparsep\relax% +\itemsep\@IEEEieditemsep\relax% +\rightmargin\@IEEEiedrightmargin\relax% +\listparindent\@IEEEiedlistparindent\relax% +\itemindent\@IEEEieditemindent\relax} + + +% v1.6b provide original LaTeX IED list environments +% note that latex.ltx defines \itemize and \enumerate, but not \description +% which must be created by the base classes +% save original LaTeX itemize and enumerate +\let\LaTeXitemize\itemize +\let\endLaTeXitemize\enditemize +\let\LaTeXenumerate\enumerate +\let\endLaTeXenumerate\endenumerate + +% provide original LaTeX description environment from article.cls +\newenvironment{LaTeXdescription} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand*\descriptionlabel[1]{\hspace\labelsep + \normalfont\bfseries #1} + + +% override LaTeX's default IED lists +\def\itemize{\@IEEEitemize} +\def\enditemize{\@endIEEEitemize} +\def\enumerate{\@IEEEenumerate} +\def\endenumerate{\@endIEEEenumerate} +\def\description{\@IEEEdescription} +\def\enddescription{\@endIEEEdescription} + +% provide the user with aliases - may help those using packages that +% override itemize, enumerate, or description +\def\IEEEitemize{\@IEEEitemize} +\def\endIEEEitemize{\@endIEEEitemize} +\def\IEEEenumerate{\@IEEEenumerate} +\def\endIEEEenumerate{\@endIEEEenumerate} +\def\IEEEdescription{\@IEEEdescription} +\def\endIEEEdescription{\@endIEEEdescription} + + +% V1.6 we want to keep the IEEEtran IED list definitions as our own internal +% commands so they are protected against redefinition +\def\@IEEEitemize{\@ifnextchar[{\@@IEEEitemize}{\@@IEEEitemize[\relax]}} +\def\@IEEEenumerate{\@ifnextchar[{\@@IEEEenumerate}{\@@IEEEenumerate[\relax]}} +\def\@IEEEdescription{\@ifnextchar[{\@@IEEEdescription}{\@@IEEEdescription[\relax]}} +\def\@endIEEEitemize{\endlist} +\def\@endIEEEenumerate{\endlist} +\def\@endIEEEdescription{\endlist} + + +% DO NOT ALLOW BLANK LINES TO BE IN THESE IED ENVIRONMENTS +% AS THIS WILL FORCE NEW PARAGRAPHS AFTER THE IED LISTS +% IEEEtran itemized list MDS 1/2001 +% Note controlled spacing here, shield end of lines with % +\def\@@IEEEitemize[#1]{% + \ifnum\@itemdepth>3\relax\@toodeep\else% + \ifnum\@listdepth>5\relax\@toodeep\else% + \advance\@itemdepth\@ne% + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + % get the labelindentfactor for this level + \advance\@listdepth\@ne% we need to know what the level WILL be + \edef\IEEElabelindentfactor{\csname IEEElabelindentfactor\romannumeral\the\@listdepth\endcsname}% + \advance\@listdepth-\@ne% undo our increment + \def\@IEEEiedjustify{2}% right justified labels are default + % set other defaults + \IEEEnocalcleftmarginfalse% + \IEEEnolabelindentfactorfalse% + \topsep\IEEEiedtopsep% + \IEEElabelindent\IEEEilabelindent% + \labelsep\IEEEiednormlabelsep% + \partopsep 0ex% + \parsep 0ex% + \itemsep \parskip% + \rightmargin 0em% + \listparindent 0em% + \itemindent 0em% + % calculate the label width + % the user can override this later if + % they specified a \labelwidth + \settowidth{\labelwidth}{\csname labelitem\romannumeral\the\@itemdepth\endcsname}% + \@IEEEsavelistparams% save our list parameters + \list{\csname\@itemitem\endcsname}{% + \@IEEErestorelistparams% override any list{} changes + % to our globals + \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel + \IEEEiedlistdecl% let user alter parameters + #1\relax% + % If the user has requested not to use the + % labelindent factor, don't revise \labelindent + \ifIEEEnolabelindentfactor\relax% + \else\IEEElabelindent=\IEEElabelindentfactor\labelindent% + \fi% + % Unless the user has requested otherwise, + % calculate our left margin based + % on \IEEElabelindent, \labelwidth and + % \labelsep + \ifIEEEnocalcleftmargin\relax% + \else\IEEEcalcleftmargin{\IEEElabelindent}% + \fi}\fi\fi}% + + +% DO NOT ALLOW BLANK LINES TO BE IN THESE IED ENVIRONMENTS +% AS THIS WILL FORCE NEW PARAGRAPHS AFTER THE IED LISTS +% IEEEtran enumerate list MDS 1/2001 +% Note controlled spacing here, shield end of lines with % +\def\@@IEEEenumerate[#1]{% + \ifnum\@enumdepth>3\relax\@toodeep\else% + \ifnum\@listdepth>5\relax\@toodeep\else% + \advance\@enumdepth\@ne% + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% + % get the labelindentfactor for this level + \advance\@listdepth\@ne% we need to know what the level WILL be + \edef\IEEElabelindentfactor{\csname IEEElabelindentfactor\romannumeral\the\@listdepth\endcsname}% + \advance\@listdepth-\@ne% undo our increment + \def\@IEEEiedjustify{2}% right justified labels are default + % set other defaults + \IEEEnocalcleftmarginfalse% + \IEEEnolabelindentfactorfalse% + \topsep\IEEEiedtopsep% + \IEEElabelindent\IEEEelabelindent% + \labelsep\IEEEiednormlabelsep% + \partopsep 0ex% + \parsep 0ex% + \itemsep 0ex% + \rightmargin 0em% + \listparindent 0em% + \itemindent 0em% + % calculate the label width + % We'll set it to the width suitable for all labels using + % normalfont 1) to 9) + % The user can override this later + \settowidth{\labelwidth}{9)}% + \@IEEEsavelistparams% save our list parameters + \list{\csname label\@enumctr\endcsname}{\usecounter{\@enumctr}% + \@IEEErestorelistparams% override any list{} changes + % to our globals + \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel + \IEEEiedlistdecl% let user alter parameters + #1\relax% + % If the user has requested not to use the + % IEEElabelindent factor, don't revise \IEEElabelindent + \ifIEEEnolabelindentfactor\relax% + \else\IEEElabelindent=\IEEElabelindentfactor\IEEElabelindent% + \fi% + % Unless the user has requested otherwise, + % calculate our left margin based + % on \IEEElabelindent, \labelwidth and + % \labelsep + \ifIEEEnocalcleftmargin\relax% + \else\IEEEcalcleftmargin{\IEEElabelindent}% + \fi}\fi\fi}% + + +% DO NOT ALLOW BLANK LINES TO BE IN THESE IED ENVIRONMENTS +% AS THIS WILL FORCE NEW PARAGRAPHS AFTER THE IED LISTS +% IEEEtran description list MDS 1/2001 +% Note controlled spacing here, shield end of lines with % +\def\@@IEEEdescription[#1]{% + \ifnum\@listdepth>5\relax\@toodeep\else% + % get the labelindentfactor for this level + \advance\@listdepth\@ne% we need to know what the level WILL be + \edef\IEEElabelindentfactor{\csname IEEElabelindentfactor\romannumeral\the\@listdepth\endcsname}% + \advance\@listdepth-\@ne% undo our increment + \def\@IEEEiedjustify{0}% left justified labels are default + % set other defaults + \IEEEnocalcleftmarginfalse% + \IEEEnolabelindentfactorfalse% + \topsep\IEEEiedtopsep% + \IEEElabelindent\IEEEdlabelindent% + % assume normal labelsep + \labelsep\IEEEiednormlabelsep% + \partopsep 0ex% + \parsep 0ex% + \itemsep 0ex% + \rightmargin 0em% + \listparindent 0em% + \itemindent 0em% + % Bogus label width in case the user forgets + % to set it. + % TIP: If you want to see what a variable's width is you + % can use the TeX command \showthe\width-variable to + % display it on the screen during compilation + % (This might be helpful to know when you need to find out + % which label is the widest) + \settowidth{\labelwidth}{Hello}% + \@IEEEsavelistparams% save our list parameters + \list{}{\@IEEErestorelistparams% override any list{} changes + % to our globals + \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel + \IEEEiedlistdecl% let user alter parameters + #1\relax% + % If the user has requested not to use the + % labelindent factor, don't revise \IEEElabelindent + \ifIEEEnolabelindentfactor\relax% + \else\IEEElabelindent=\IEEElabelindentfactor\IEEElabelindent% + \fi% + % Unless the user has requested otherwise, + % calculate our left margin based + % on \IEEElabelindent, \labelwidth and + % \labelsep + \ifIEEEnocalcleftmargin\relax% + \else\IEEEcalcleftmargin{\IEEElabelindent}\relax% + \fi}\fi} + +% v1.6b we use one makelabel that does justification as needed. +\def\@IEEEiedmakelabel#1{\relax\if\@IEEEiedjustify 0\relax +\makebox[\labelwidth][l]{\normalfont #1}\else +\if\@IEEEiedjustify 1\relax +\makebox[\labelwidth][c]{\normalfont #1}\else +\makebox[\labelwidth][r]{\normalfont #1}\fi\fi} + + +% VERSE and QUOTE +% V1.7 define environments with newenvironment +\newenvironment{verse}{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em \listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item\relax} + {\endlist} +\newenvironment{quotation}{\list{}{\listparindent 1.5em \itemindent\listparindent + \rightmargin\leftmargin \parsep 0pt plus 1pt}\item\relax} + {\endlist} +\newenvironment{quote}{\list{}{\rightmargin\leftmargin}\item\relax} + {\endlist} + + +% \titlepage +% provided only for backward compatibility. \maketitle is the correct +% way to create the title page. +\newif\if@restonecol +\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty}\c@page\z@} +\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} + +% standard values from article.cls +\arraycolsep 5pt +\arrayrulewidth .4pt +\doublerulesep 2pt + +\tabcolsep 6pt +\tabbingsep 0.5em + + +%% FOOTNOTES +% +%\skip\footins 10pt plus 4pt minus 2pt +% V1.6 respond to changes in font size +% space added above the footnotes (if present) +\skip\footins 0.9\baselineskip plus 0.4\baselineskip minus 0.2\baselineskip + +% V1.6, we need to make \footnotesep responsive to changes +% in \baselineskip or strange spacings will result when in +% draft mode. Here is a little LaTeX secret - \footnotesep +% determines the height of an invisible strut that is placed +% *above* the baseline of footnotes after the first. Since +% LaTeX considers the space for characters to be 0.7/baselineskip +% above the baseline and 0.3/baselineskip below it, we need to +% use 0.7/baselineskip as a \footnotesep to maintain equal spacing +% between all the lines of the footnotes. IEEE often uses a tad +% more, so use 0.8\baselineskip. This slightly larger value also helps +% the text to clear the footnote marks. Note that \thanks in IEEEtran +% uses its own value of \footnotesep which is set in \maketitle. +{\footnotesize +\global\footnotesep 0.8\baselineskip} + +\def\unnumberedfootnote{\gdef\@thefnmark{\quad}\@footnotetext} + +\skip\@mpfootins 0.3\baselineskip +\fboxsep = 3pt +\fboxrule = .4pt +% V1.6 use 1em, then use LaTeX2e's \@makefnmark +% Note that IEEE normally *left* aligns the footnote marks, so we don't need +% box resizing tricks here. +%\long\def\@makefnmark{\scriptsize\normalfont\@thefnmark} +\long\def\@makefntext#1{\parindent 1em\indent\hbox{\@makefnmark}#1}% V1.6 use 1em +\long\def\@maketablefntext#1{\raggedleft\leavevmode\hbox{\@makefnmark}#1} +% V1.7 compsoc does not use superscipts for footnote marks +\ifCLASSOPTIONcompsoc +\def\@IEEEcompsocmakefnmark{\hbox{\normalfont\@thefnmark.\ }} +\long\def\@makefntext#1{\parindent 1em\indent\hbox{\@IEEEcompsocmakefnmark}#1} +\fi + +% IEEE does not use footnote rules. Or do they? +\def\footnoterule{\vskip-2pt \hrule height 0.6pt depth \z@ \vskip1.6pt\relax} +\toks@\expandafter{\@setminipage\let\footnoterule\relax\footnotesep\z@} +\edef\@setminipage{\the\toks@} + +% V1.7 for compsoc, IEEE uses a footnote rule only for \thanks. We devise a "one-shot" +% system to implement this. +\newif\if@IEEEenableoneshotfootnoterule +\@IEEEenableoneshotfootnoterulefalse +\ifCLASSOPTIONcompsoc +\def\footnoterule{\relax\if@IEEEenableoneshotfootnoterule +\kern-5pt +\hbox to \columnwidth{\hfill\vrule width 0.5\columnwidth height 0.4pt\hfill} +\kern4.6pt +\global\@IEEEenableoneshotfootnoterulefalse +\else +\relax +\fi} +\fi + +% V1.6 do not allow LaTeX to break a footnote across multiple pages +\interfootnotelinepenalty=10000 + +% V1.6 discourage breaks within equations +% Note that amsmath normally sets this to 10000, +% but LaTeX2e normally uses 100. +\interdisplaylinepenalty=2500 + +% default allows section depth up to /paragraph +\setcounter{secnumdepth}{4} + +% technotes do not allow /paragraph +\ifCLASSOPTIONtechnote + \setcounter{secnumdepth}{3} +\fi +% neither do compsoc conferences +\@IEEEcompsocconfonly{\setcounter{secnumdepth}{3}} + + +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] + +% used only by IEEEtran's IEEEeqnarray as other packages may +% have their own, different, implementations +\newcounter{IEEEsubequation}[equation] + +% as shown when called by user from \ref, \label and in table of contents +\def\theequation{\arabic{equation}} % 1 +\def\theIEEEsubequation{\theequation\alph{IEEEsubequation}} % 1a (used only by IEEEtran's IEEEeqnarray) +\ifCLASSOPTIONcompsoc +% compsoc is all arabic +\def\thesection{\arabic{section}} +\def\thesubsection{\thesection.\arabic{subsection}} +\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} +\def\theparagraph{\thesubsubsection.\arabic{paragraph}} +\else +\def\thesection{\Roman{section}} % I +% V1.7, \mbox prevents breaks around - +\def\thesubsection{\mbox{\thesection-\Alph{subsection}}} % I-A +% V1.7 use I-A1 format used by IEEE rather than I-A.1 +\def\thesubsubsection{\thesubsection\arabic{subsubsection}} % I-A1 +\def\theparagraph{\thesubsubsection\alph{paragraph}} % I-A1a +\fi + +% From Heiko Oberdiek. Because of the \mbox in \thesubsection, we need to +% tell hyperref to disable the \mbox command when making PDF bookmarks. +% This done already with hyperref.sty version 6.74o and later, but +% it will not hurt to do it here again for users of older versions. +\@ifundefined{pdfstringdefPreHook}{\let\pdfstringdefPreHook\@empty}{}% +\g@addto@macro\pdfstringdefPreHook{\let\mbox\relax} + + +% Main text forms (how shown in main text headings) +% V1.6, using \thesection in \thesectiondis allows changes +% in the former to automatically appear in the latter +\ifCLASSOPTIONcompsoc + \ifCLASSOPTIONconference% compsoc conference + \def\thesectiondis{\thesection.} + \def\thesubsectiondis{\thesectiondis\arabic{subsection}.} + \def\thesubsubsectiondis{\thesubsectiondis\arabic{subsubsection}.} + \def\theparagraphdis{\thesubsubsectiondis\arabic{paragraph}.} + \else% compsoc not conferencs + \def\thesectiondis{\thesection} + \def\thesubsectiondis{\thesectiondis.\arabic{subsection}} + \def\thesubsubsectiondis{\thesubsectiondis.\arabic{subsubsection}} + \def\theparagraphdis{\thesubsubsectiondis.\arabic{paragraph}} + \fi +\else% not compsoc + \def\thesectiondis{\thesection.} % I. + \def\thesubsectiondis{\Alph{subsection}.} % B. + \def\thesubsubsectiondis{\arabic{subsubsection})} % 3) + \def\theparagraphdis{\alph{paragraph})} % d) +\fi + +% just like LaTeX2e's \@eqnnum +\def\theequationdis{{\normalfont \normalcolor (\theequation)}}% (1) +% IEEEsubequation used only by IEEEtran's IEEEeqnarray +\def\theIEEEsubequationdis{{\normalfont \normalcolor (\theIEEEsubequation)}}% (1a) +% redirect LaTeX2e's equation number display and all that depend on +% it, through IEEEtran's \theequationdis +\def\@eqnnum{\theequationdis} + + + +% V1.7 provide string macros as article.cls does +\def\contentsname{Contents} +\def\listfigurename{List of Figures} +\def\listtablename{List of Tables} +\def\refname{References} +\def\indexname{Index} +\def\figurename{Fig.} +\def\tablename{TABLE} +\@IEEEcompsocconfonly{\def\figurename{Figure}\def\tablename{Table}} +\def\partname{Part} +\def\appendixname{Appendix} +\def\abstractname{Abstract} +% IEEE specific names +\def\IEEEkeywordsname{Keywords} +\def\IEEEproofname{Proof} + + +% LIST OF FIGURES AND TABLES AND TABLE OF CONTENTS +% +\def\@pnumwidth{1.55em} +\def\@tocrmarg{2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{3} + +% adjusted some spacings here so that section numbers will not easily +% collide with the section titles. +% VIII; VIII-A; and VIII-A.1 are usually the worst offenders. +% MDS 1/2001 +\def\tableofcontents{\section*{\contentsname}\@starttoc{toc}} +\def\l@section#1#2{\addpenalty{\@secpenalty}\addvspace{1.0em plus 1pt}% + \@tempdima 2.75em \begingroup \parindent \z@ \rightskip \@pnumwidth% + \parfillskip-\@pnumwidth {\bfseries\leavevmode #1}\hfil\hbox to\@pnumwidth{\hss #2}\par% + \endgroup} +% argument format #1:level, #2:labelindent,#3:labelsep +\def\l@subsection{\@dottedtocline{2}{2.75em}{3.75em}} +\def\l@subsubsection{\@dottedtocline{3}{6.5em}{4.5em}} +% must provide \l@ defs for ALL sublevels EVEN if tocdepth +% is such as they will not appear in the table of contents +% these defs are how TOC knows what level these things are! +\def\l@paragraph{\@dottedtocline{4}{6.5em}{5.5em}} +\def\l@subparagraph{\@dottedtocline{5}{6.5em}{6.5em}} +\def\listoffigures{\section*{\listfigurename}\@starttoc{lof}} +\def\l@figure{\@dottedtocline{1}{0em}{2.75em}} +\def\listoftables{\section*{\listtablename}\@starttoc{lot}} +\let\l@table\l@figure + + +%% Definitions for floats +%% +%% Normal Floats +\floatsep 1\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip +\textfloatsep 1.7\baselineskip plus 0.2\baselineskip minus 0.4\baselineskip +\@fptop 0pt plus 1fil +\@fpsep 0.75\baselineskip plus 2fil +\@fpbot 0pt plus 1fil +\def\topfraction{0.9} +\def\bottomfraction{0.4} +\def\floatpagefraction{0.8} +% V1.7, let top floats approach 90% of page +\def\textfraction{0.1} + +%% Double Column Floats +\dblfloatsep 1\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip + +\dbltextfloatsep 1.7\baselineskip plus 0.2\baselineskip minus 0.4\baselineskip +% Note that it would be nice if the rubber here actually worked in LaTeX2e. +% There is a long standing limitation in LaTeX, first discovered (to the best +% of my knowledge) by Alan Jeffrey in 1992. LaTeX ignores the stretchable +% portion of \dbltextfloatsep, and as a result, double column figures can and +% do result in an non-integer number of lines in the main text columns with +% underfull vbox errors as a consequence. A post to comp.text.tex +% by Donald Arseneau confirms that this had not yet been fixed in 1998. +% IEEEtran V1.6 will fix this problem for you in the titles, but it doesn't +% protect you from other double floats. Happy vspace'ing. + +\@dblfptop 0pt plus 1fil +\@dblfpsep 0.75\baselineskip plus 2fil +\@dblfpbot 0pt plus 1fil +\def\dbltopfraction{0.8} +\def\dblfloatpagefraction{0.8} +\setcounter{dbltopnumber}{4} + +\intextsep 1\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip +\setcounter{topnumber}{2} +\setcounter{bottomnumber}{2} +\setcounter{totalnumber}{4} + + + +% article class provides these, we should too. +\newlength\abovecaptionskip +\newlength\belowcaptionskip +% but only \abovecaptionskip is used above figure captions and *below* table +% captions +\setlength\abovecaptionskip{0.65\baselineskip} +\setlength\belowcaptionskip{0.75\baselineskip} +% V1.6 create hooks in case the caption spacing ever needs to be +% overridden by a user +\def\@IEEEfigurecaptionsepspace{\vskip\abovecaptionskip\relax}% +\def\@IEEEtablecaptionsepspace{\vskip\belowcaptionskip\relax}% + + +% 1.6b revise caption system so that \@makecaption uses two arguments +% as with LaTeX2e. Otherwise, there will be problems when using hyperref. +\def\@IEEEtablestring{table} + +\ifCLASSOPTIONcompsoc +% V1.7 compsoc \@makecaption +\ifCLASSOPTIONconference% compsoc conference +\long\def\@makecaption#1#2{% +% test if is a for a figure or table +\ifx\@captype\@IEEEtablestring% +% if a table, do table caption +\normalsize\begin{center}{\normalfont\sffamily\normalsize {#1.}~ #2}\end{center}% +\@IEEEtablecaptionsepspace +% if not a table, format it as a figure +\else +\@IEEEfigurecaptionsepspace +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ #2}% +\ifdim \wd\@tempboxa >\hsize% +% if caption is longer than a line, let it wrap around +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ }% +\parbox[t]{\hsize}{\normalfont\sffamily\normalsize \noindent\unhbox\@tempboxa#2}% +% if caption is shorter than a line, center +\else% +\hbox to\hsize{\normalfont\sffamily\normalsize\hfil\box\@tempboxa\hfil}% +\fi\fi} +\else% nonconference compsoc +\long\def\@makecaption#1#2{% +% test if is a for a figure or table +\ifx\@captype\@IEEEtablestring% +% if a table, do table caption +\normalsize\begin{center}{\normalfont\sffamily\normalsize #1}\\{\normalfont\sffamily\normalsize #2}\end{center}% +\@IEEEtablecaptionsepspace +% if not a table, format it as a figure +\else +\@IEEEfigurecaptionsepspace +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ #2}% +\ifdim \wd\@tempboxa >\hsize% +% if caption is longer than a line, let it wrap around +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ }% +\parbox[t]{\hsize}{\normalfont\sffamily\normalsize \noindent\unhbox\@tempboxa#2}% +% if caption is shorter than a line, left justify +\else% +\hbox to\hsize{\normalfont\sffamily\normalsize\box\@tempboxa\hfil}% +\fi\fi} +\fi + +\else% traditional noncompsoc \@makecaption +\long\def\@makecaption#1#2{% +% test if is a for a figure or table +\ifx\@captype\@IEEEtablestring% +% if a table, do table caption +\footnotesize{\centering\normalfont\footnotesize#1.\qquad\scshape #2\par}% +\@IEEEtablecaptionsepspace +% if not a table, format it as a figure +\else +\@IEEEfigurecaptionsepspace +% 3/2001 use footnotesize, not small; use two nonbreaking spaces, not one +\setbox\@tempboxa\hbox{\normalfont\footnotesize {#1.}~~ #2}% +\ifdim \wd\@tempboxa >\hsize% +% if caption is longer than a line, let it wrap around +\setbox\@tempboxa\hbox{\normalfont\footnotesize {#1.}~~ }% +\parbox[t]{\hsize}{\normalfont\footnotesize\noindent\unhbox\@tempboxa#2}% +% if caption is shorter than a line, center if conference, left justify otherwise +\else% +\ifCLASSOPTIONconference \hbox to\hsize{\normalfont\footnotesize\box\@tempboxa\hfil}% +\else \hbox to\hsize{\normalfont\footnotesize\box\@tempboxa\hfil}% +\fi\fi\fi} +\fi + + + +% V1.7 disable captions class option, do so in a way that retains operation of \label +% within \caption +\ifCLASSOPTIONcaptionsoff +\long\def\@makecaption#1#2{\vspace*{2em}\footnotesize\begin{center}{\footnotesize #1}\end{center}% +\let\@IEEEtemporiglabeldefsave\label +\let\@IEEEtemplabelargsave\relax +\def\label##1{\gdef\@IEEEtemplabelargsave{##1}}% +\setbox\@tempboxa\hbox{#2}% +\let\label\@IEEEtemporiglabeldefsave +\ifx\@IEEEtemplabelargsave\relax\else\label{\@IEEEtemplabelargsave}\fi} +\fi + + +% V1.7 define end environments with \def not \let so as to work OK with +% preview-latex +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename~\thefigure} +\def\figure{\@float{figure}} +\def\endfigure{\end@float} +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} +\newcounter{table} +\ifCLASSOPTIONcompsoc +\def\thetable{\arabic{table}} +\else +\def\thetable{\@Roman\c@table} +\fi +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename~\thetable} +% V1.6 IEEE uses 8pt text for tables +% to default to footnotesize, we hack into LaTeX2e's \@floatboxreset and pray +\def\table{\def\@floatboxreset{\reset@font\scriptsize\@setminipage}% + \let\@makefntext\@maketablefntext + \@float{table}} +\def\endtable{\end@float} +% v1.6b double column tables need to default to footnotesize as well. +\@namedef{table*}{\def\@floatboxreset{\reset@font\scriptsize\@setminipage}\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + + + + +%% +%% START OF IEEEeqnarry DEFINITIONS +%% +%% Inspired by the concepts, examples, and previous works of LaTeX +%% coders and developers such as Donald Arseneau, Fred Bartlett, +%% David Carlisle, Tony Liu, Frank Mittelbach, Piet van Oostrum, +%% Roland Winkler and Mark Wooding. +%% I don't make the claim that my work here is even near their calibre. ;) + + +% hook to allow easy changeover to IEEEtran.cls/tools.sty error reporting +\def\@IEEEclspkgerror{\ClassError{IEEEtran}} + +\newif\if@IEEEeqnarraystarform% flag to indicate if the environment was called as the star form +\@IEEEeqnarraystarformfalse + +\newif\if@advanceIEEEeqncolcnt% tracks if the environment should advance the col counter +% allows a way to make an \IEEEeqnarraybox that can be used within an \IEEEeqnarray +% used by IEEEeqnarraymulticol so that it can work properly in both +\@advanceIEEEeqncolcnttrue + +\newcount\@IEEEeqnnumcols % tracks how many IEEEeqnarray cols are defined +\newcount\@IEEEeqncolcnt % tracks how many IEEEeqnarray cols the user actually used + + +% The default math style used by the columns +\def\IEEEeqnarraymathstyle{\displaystyle} +% The default text style used by the columns +% default to using the current font +\def\IEEEeqnarraytextstyle{\relax} + +% like the iedlistdecl but for \IEEEeqnarray +\def\IEEEeqnarraydecl{\relax} +\def\IEEEeqnarrayboxdecl{\relax} + +% \yesnumber is the opposite of \nonumber +% a novel concept with the same def as the equationarray package +% However, we give IEEE versions too since some LaTeX packages such as +% the MDWtools mathenv.sty redefine \nonumber to something else. +\providecommand{\yesnumber}{\global\@eqnswtrue} +\def\IEEEyesnumber{\global\@eqnswtrue} +\def\IEEEnonumber{\global\@eqnswfalse} + + +\def\IEEEyessubnumber{\global\@IEEEissubequationtrue\global\@eqnswtrue% +\if@IEEEeqnarrayISinner% only do something inside an IEEEeqnarray +\if@IEEElastlinewassubequation\addtocounter{equation}{-1}\else\setcounter{IEEEsubequation}{1}\fi% +\def\@currentlabel{\p@IEEEsubequation\theIEEEsubequation}\fi} + +% flag to indicate that an equation is a sub equation +\newif\if@IEEEissubequation% +\@IEEEissubequationfalse + +% allows users to "push away" equations that get too close to the equation numbers +\def\IEEEeqnarraynumspace{\hphantom{\if@IEEEissubequation\theIEEEsubequationdis\else\theequationdis\fi}} + +% provides a way to span multiple columns within IEEEeqnarray environments +% will consider \if@advanceIEEEeqncolcnt before globally advancing the +% column counter - so as to work within \IEEEeqnarraybox +% usage: \IEEEeqnarraymulticol{number cols. to span}{col type}{cell text} +\long\def\IEEEeqnarraymulticol#1#2#3{\multispan{#1}% +% check if column is defined +\relax\expandafter\ifx\csname @IEEEeqnarraycolDEF#2\endcsname\@IEEEeqnarraycolisdefined% +\csname @IEEEeqnarraycolPRE#2\endcsname#3\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST#2\endcsname% +\else% if not, error and use default type +\@IEEEclspkgerror{Invalid column type "#2" in \string\IEEEeqnarraymulticol.\MessageBreak +Using a default centering column instead}% +{You must define IEEEeqnarray column types before use.}% +\csname @IEEEeqnarraycolPRE@IEEEdefault\endcsname#3\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST@IEEEdefault\endcsname% +\fi% +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by #1\relax\fi} + +% like \omit, but maintains track of the column counter for \IEEEeqnarray +\def\IEEEeqnarrayomit{\omit\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by 1\relax\fi} + + +% provides a way to define a letter referenced column type +% usage: \IEEEeqnarraydefcol{col. type letter/name}{pre insertion text}{post insertion text} +\def\IEEEeqnarraydefcol#1#2#3{\expandafter\def\csname @IEEEeqnarraycolPRE#1\endcsname{#2}% +\expandafter\def\csname @IEEEeqnarraycolPOST#1\endcsname{#3}% +\expandafter\def\csname @IEEEeqnarraycolDEF#1\endcsname{1}} + + +% provides a way to define a numerically referenced inter-column glue types +% usage: \IEEEeqnarraydefcolsep{col. glue number}{glue definition} +\def\IEEEeqnarraydefcolsep#1#2{\expandafter\def\csname @IEEEeqnarraycolSEP\romannumeral #1\endcsname{#2}% +\expandafter\def\csname @IEEEeqnarraycolSEPDEF\romannumeral #1\endcsname{1}} + + +\def\@IEEEeqnarraycolisdefined{1}% just a macro for 1, used for checking undefined column types + + +% expands and appends the given argument to the \@IEEEtrantmptoksA token list +% used to build up the \halign preamble +\def\@IEEEappendtoksA#1{\edef\@@IEEEappendtoksA{\@IEEEtrantmptoksA={\the\@IEEEtrantmptoksA #1}}% +\@@IEEEappendtoksA} + +% also appends to \@IEEEtrantmptoksA, but does not expand the argument +% uses \toks8 as a scratchpad register +\def\@IEEEappendNOEXPANDtoksA#1{\toks8={#1}% +\edef\@@IEEEappendNOEXPANDtoksA{\@IEEEtrantmptoksA={\the\@IEEEtrantmptoksA\the\toks8}}% +\@@IEEEappendNOEXPANDtoksA} + +% define some common column types for the user +% math +\IEEEeqnarraydefcol{l}{$\IEEEeqnarraymathstyle}{$\hfil} +\IEEEeqnarraydefcol{c}{\hfil$\IEEEeqnarraymathstyle}{$\hfil} +\IEEEeqnarraydefcol{r}{\hfil$\IEEEeqnarraymathstyle}{$} +\IEEEeqnarraydefcol{L}{$\IEEEeqnarraymathstyle{}}{{}$\hfil} +\IEEEeqnarraydefcol{C}{\hfil$\IEEEeqnarraymathstyle{}}{{}$\hfil} +\IEEEeqnarraydefcol{R}{\hfil$\IEEEeqnarraymathstyle{}}{{}$} +% text +\IEEEeqnarraydefcol{s}{\IEEEeqnarraytextstyle}{\hfil} +\IEEEeqnarraydefcol{t}{\hfil\IEEEeqnarraytextstyle}{\hfil} +\IEEEeqnarraydefcol{u}{\hfil\IEEEeqnarraytextstyle}{} + +% vertical rules +\IEEEeqnarraydefcol{v}{}{\vrule width\arrayrulewidth} +\IEEEeqnarraydefcol{vv}{\vrule width\arrayrulewidth\hfil}{\hfil\vrule width\arrayrulewidth} +\IEEEeqnarraydefcol{V}{}{\vrule width\arrayrulewidth\hskip\doublerulesep\vrule width\arrayrulewidth} +\IEEEeqnarraydefcol{VV}{\vrule width\arrayrulewidth\hskip\doublerulesep\vrule width\arrayrulewidth\hfil}% +{\hfil\vrule width\arrayrulewidth\hskip\doublerulesep\vrule width\arrayrulewidth} + +% horizontal rules +\IEEEeqnarraydefcol{h}{}{\leaders\hrule height\arrayrulewidth\hfil} +\IEEEeqnarraydefcol{H}{}{\leaders\vbox{\hrule width\arrayrulewidth\vskip\doublerulesep\hrule width\arrayrulewidth}\hfil} + +% plain +\IEEEeqnarraydefcol{x}{}{} +\IEEEeqnarraydefcol{X}{$}{$} + +% the default column type to use in the event a column type is not defined +\IEEEeqnarraydefcol{@IEEEdefault}{\hfil$\IEEEeqnarraymathstyle}{$\hfil} + + +% a zero tabskip (used for "-" col types) +\def\@IEEEeqnarraycolSEPzero{0pt plus 0pt minus 0pt} +% a centering tabskip (used for "+" col types) +\def\@IEEEeqnarraycolSEPcenter{1000pt plus 0pt minus 1000pt} + +% top level default tabskip glues for the start, end, and inter-column +% may be reset within environments not always at the top level, e.g., \IEEEeqnarraybox +\edef\@IEEEeqnarraycolSEPdefaultstart{\@IEEEeqnarraycolSEPcenter}% default start glue +\edef\@IEEEeqnarraycolSEPdefaultend{\@IEEEeqnarraycolSEPcenter}% default end glue +\edef\@IEEEeqnarraycolSEPdefaultmid{\@IEEEeqnarraycolSEPzero}% default inter-column glue + + + +% creates a vertical rule that extends from the bottom to the top a a cell +% Provided in case other packages redefine \vline some other way. +% usage: \IEEEeqnarrayvrule[rule thickness] +% If no argument is provided, \arrayrulewidth will be used for the rule thickness. +\newcommand\IEEEeqnarrayvrule[1][\arrayrulewidth]{\vrule\@width#1\relax} + +% creates a blank separator row +% usage: \IEEEeqnarrayseprow[separation length][font size commands] +% default is \IEEEeqnarrayseprow[0.25\normalbaselineskip][\relax] +% blank arguments inherit the default values +% uses \skip5 as a scratch register - calls \@IEEEeqnarraystrutsize which uses more scratch registers +\def\IEEEeqnarrayseprow{\relax\@ifnextchar[{\@IEEEeqnarrayseprow}{\@IEEEeqnarrayseprow[0.25\normalbaselineskip]}} +\def\@IEEEeqnarrayseprow[#1]{\relax\@ifnextchar[{\@@IEEEeqnarrayseprow[#1]}{\@@IEEEeqnarrayseprow[#1][\relax]}} +\def\@@IEEEeqnarrayseprow[#1][#2]{\def\@IEEEeqnarrayseprowARGONE{#1}% +\ifx\@IEEEeqnarrayseprowARGONE\@empty% +% get the skip value, based on the font commands +% use skip5 because \IEEEeqnarraystrutsize uses \skip0, \skip2, \skip3 +% assign within a bogus box to confine the font changes +{\setbox0=\hbox{#2\relax\global\skip5=0.25\normalbaselineskip}}% +\else% +{\setbox0=\hbox{#2\relax\global\skip5=#1}}% +\fi% +\@IEEEeqnarrayhoptolastcolumn\IEEEeqnarraystrutsize{\skip5}{0pt}[\relax]\relax} + +% creates a blank separator row, but omits all the column templates +% usage: \IEEEeqnarrayseprowcut[separation length][font size commands] +% default is \IEEEeqnarrayseprowcut[0.25\normalbaselineskip][\relax] +% blank arguments inherit the default values +% uses \skip5 as a scratch register - calls \@IEEEeqnarraystrutsize which uses more scratch registers +\def\IEEEeqnarrayseprowcut{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarrayseprowcut}{\@IEEEeqnarrayseprowcut[0.25\normalbaselineskip]}} +\def\@IEEEeqnarrayseprowcut[#1]{\relax\@ifnextchar[{\@@IEEEeqnarrayseprowcut[#1]}{\@@IEEEeqnarrayseprowcut[#1][\relax]}} +\def\@@IEEEeqnarrayseprowcut[#1][#2]{\def\@IEEEeqnarrayseprowARGONE{#1}% +\ifx\@IEEEeqnarrayseprowARGONE\@empty% +% get the skip value, based on the font commands +% use skip5 because \IEEEeqnarraystrutsize uses \skip0, \skip2, \skip3 +% assign within a bogus box to confine the font changes +{\setbox0=\hbox{#2\relax\global\skip5=0.25\normalbaselineskip}}% +\else% +{\setbox0=\hbox{#2\relax\global\skip5=#1}}% +\fi% +\IEEEeqnarraystrutsize{\skip5}{0pt}[\relax]\relax} + + + +% draws a single rule across all the columns optional +% argument determines the rule width, \arrayrulewidth is the default +% updates column counter as needed and turns off struts +% usage: \IEEEeqnarrayrulerow[rule line thickness] +\def\IEEEeqnarrayrulerow{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarrayrulerow}{\@IEEEeqnarrayrulerow[\arrayrulewidth]}} +\def\@IEEEeqnarrayrulerow[#1]{\leaders\hrule height#1\hfil\relax% put in our rule +% turn off any struts +\IEEEeqnarraystrutsize{0pt}{0pt}[\relax]\relax} + + +% draws a double rule by using a single rule row, a separator row, and then +% another single rule row +% first optional argument determines the rule thicknesses, \arrayrulewidth is the default +% second optional argument determines the rule spacing, \doublerulesep is the default +% usage: \IEEEeqnarraydblrulerow[rule line thickness][rule spacing] +\def\IEEEeqnarraydblrulerow{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarraydblrulerow}{\@IEEEeqnarraydblrulerow[\arrayrulewidth]}} +\def\@IEEEeqnarraydblrulerow[#1]{\relax\@ifnextchar[{\@@IEEEeqnarraydblrulerow[#1]}% +{\@@IEEEeqnarraydblrulerow[#1][\doublerulesep]}} +\def\@@IEEEeqnarraydblrulerow[#1][#2]{\def\@IEEEeqnarraydblrulerowARG{#1}% +% we allow the user to say \IEEEeqnarraydblrulerow[][] +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]\relax% +\fi% +\def\@IEEEeqnarraydblrulerowARG{#2}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\\\IEEEeqnarrayseprow[\doublerulesep][\relax]% +\else% +\\\IEEEeqnarrayseprow[#2][\relax]% +\fi% +\\\multispan{\@IEEEeqnnumcols}% +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\def\@IEEEeqnarraydblrulerowARG{#1}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]% +\fi% +} + +% draws a double rule by using a single rule row, a separator (cutting) row, and then +% another single rule row +% first optional argument determines the rule thicknesses, \arrayrulewidth is the default +% second optional argument determines the rule spacing, \doublerulesep is the default +% usage: \IEEEeqnarraydblrulerow[rule line thickness][rule spacing] +\def\IEEEeqnarraydblrulerowcut{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarraydblrulerowcut}{\@IEEEeqnarraydblrulerowcut[\arrayrulewidth]}} +\def\@IEEEeqnarraydblrulerowcut[#1]{\relax\@ifnextchar[{\@@IEEEeqnarraydblrulerowcut[#1]}% +{\@@IEEEeqnarraydblrulerowcut[#1][\doublerulesep]}} +\def\@@IEEEeqnarraydblrulerowcut[#1][#2]{\def\@IEEEeqnarraydblrulerowARG{#1}% +% we allow the user to say \IEEEeqnarraydblrulerow[][] +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]% +\fi% +\def\@IEEEeqnarraydblrulerowARG{#2}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\\\IEEEeqnarrayseprowcut[\doublerulesep][\relax]% +\else% +\\\IEEEeqnarrayseprowcut[#2][\relax]% +\fi% +\\\multispan{\@IEEEeqnnumcols}% +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\def\@IEEEeqnarraydblrulerowARG{#1}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]% +\fi% +} + + + +% inserts a full row's worth of &'s +% relies on \@IEEEeqnnumcols to provide the correct number of columns +% uses \@IEEEtrantmptoksA, \count0 as scratch registers +\def\@IEEEeqnarrayhoptolastcolumn{\@IEEEtrantmptoksA={}\count0=1\relax% +\loop% add cols if the user did not use them all +\ifnum\count0<\@IEEEeqnnumcols\relax% +\@IEEEappendtoksA{&}% +\advance\count0 by 1\relax% update the col count +\repeat% +\the\@IEEEtrantmptoksA%execute the &'s +} + + + +\newif\if@IEEEeqnarrayISinner % flag to indicate if we are within the lines +\@IEEEeqnarrayISinnerfalse % of an IEEEeqnarray - after the IEEEeqnarraydecl + +\edef\@IEEEeqnarrayTHEstrutheight{0pt} % height and depth of IEEEeqnarray struts +\edef\@IEEEeqnarrayTHEstrutdepth{0pt} + +\edef\@IEEEeqnarrayTHEmasterstrutheight{0pt} % default height and depth of +\edef\@IEEEeqnarrayTHEmasterstrutdepth{0pt} % struts within an IEEEeqnarray + +\edef\@IEEEeqnarrayTHEmasterstrutHSAVE{0pt} % saved master strut height +\edef\@IEEEeqnarrayTHEmasterstrutDSAVE{0pt} % and depth + +\newif\if@IEEEeqnarrayusemasterstrut % flag to indicate that the master strut value +\@IEEEeqnarrayusemasterstruttrue % is to be used + + + +% saves the strut height and depth of the master strut +\def\@IEEEeqnarraymasterstrutsave{\relax% +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +% remove stretchability +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% save values +\edef\@IEEEeqnarrayTHEmasterstrutHSAVE{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutDSAVE{\the\dimen2}} + +% restores the strut height and depth of the master strut +\def\@IEEEeqnarraymasterstrutrestore{\relax% +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutHSAVE\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutDSAVE\relax% +% remove stretchability +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% restore values +\edef\@IEEEeqnarrayTHEmasterstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutdepth{\the\dimen2}} + + +% globally restores the strut height and depth to the +% master values and sets the master strut flag to true +\def\@IEEEeqnarraystrutreset{\relax% +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +% remove stretchability +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% restore values +\xdef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\xdef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\global\@IEEEeqnarrayusemasterstruttrue} + + +% if the master strut is not to be used, make the current +% values of \@IEEEeqnarrayTHEstrutheight, \@IEEEeqnarrayTHEstrutdepth +% and the use master strut flag, global +% this allows user strut commands issued in the last column to be carried +% into the isolation/strut column +\def\@IEEEeqnarrayglobalizestrutstatus{\relax% +\if@IEEEeqnarrayusemasterstrut\else% +\xdef\@IEEEeqnarrayTHEstrutheight{\@IEEEeqnarrayTHEstrutheight}% +\xdef\@IEEEeqnarrayTHEstrutdepth{\@IEEEeqnarrayTHEstrutdepth}% +\global\@IEEEeqnarrayusemasterstrutfalse% +\fi} + + + +% usage: \IEEEeqnarraystrutsize{height}{depth}[font size commands] +% If called outside the lines of an IEEEeqnarray, sets the height +% and depth of both the master and local struts. If called inside +% an IEEEeqnarray line, sets the height and depth of the local strut +% only and sets the flag to indicate the use of the local strut +% values. If the height or depth is left blank, 0.7\normalbaselineskip +% and 0.3\normalbaselineskip will be used, respectively. +% The optional argument can be used to evaluate the lengths under +% a different font size and styles. If none is specified, the current +% font is used. +% uses scratch registers \skip0, \skip2, \skip3, \dimen0, \dimen2 +\def\IEEEeqnarraystrutsize#1#2{\relax\@ifnextchar[{\@IEEEeqnarraystrutsize{#1}{#2}}{\@IEEEeqnarraystrutsize{#1}{#2}[\relax]}} +\def\@IEEEeqnarraystrutsize#1#2[#3]{\def\@IEEEeqnarraystrutsizeARG{#1}% +\ifx\@IEEEeqnarraystrutsizeARG\@empty% +{\setbox0=\hbox{#3\relax\global\skip3=0.7\normalbaselineskip}}% +\skip0=\skip3\relax% +\else% arg one present +{\setbox0=\hbox{#3\relax\global\skip3=#1\relax}}% +\skip0=\skip3\relax% +\fi% if null arg +\def\@IEEEeqnarraystrutsizeARG{#2}% +\ifx\@IEEEeqnarraystrutsizeARG\@empty% +{\setbox0=\hbox{#3\relax\global\skip3=0.3\normalbaselineskip}}% +\skip2=\skip3\relax% +\else% arg two present +{\setbox0=\hbox{#3\relax\global\skip3=#2\relax}}% +\skip2=\skip3\relax% +\fi% if null arg +% remove stretchability, just to be safe +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% dimen0 = height, dimen2 = depth +\if@IEEEeqnarrayISinner% inner does not touch master strut size +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstrutfalse% do not use master +\else% outer, have to set master strut too +\edef\@IEEEeqnarrayTHEmasterstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutdepth{\the\dimen2}% +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstruttrue% use master strut +\fi} + + +% usage: \IEEEeqnarraystrutsizeadd{added height}{added depth}[font size commands] +% If called outside the lines of an IEEEeqnarray, adds the given height +% and depth to both the master and local struts. +% If called inside an IEEEeqnarray line, adds the given height and depth +% to the local strut only and sets the flag to indicate the use +% of the local strut values. +% In both cases, if a height or depth is left blank, 0pt is used instead. +% The optional argument can be used to evaluate the lengths under +% a different font size and styles. If none is specified, the current +% font is used. +% uses scratch registers \skip0, \skip2, \skip3, \dimen0, \dimen2 +\def\IEEEeqnarraystrutsizeadd#1#2{\relax\@ifnextchar[{\@IEEEeqnarraystrutsizeadd{#1}{#2}}{\@IEEEeqnarraystrutsizeadd{#1}{#2}[\relax]}} +\def\@IEEEeqnarraystrutsizeadd#1#2[#3]{\def\@IEEEeqnarraystrutsizearg{#1}% +\ifx\@IEEEeqnarraystrutsizearg\@empty% +\skip0=0pt\relax% +\else% arg one present +{\setbox0=\hbox{#3\relax\global\skip3=#1}}% +\skip0=\skip3\relax% +\fi% if null arg +\def\@IEEEeqnarraystrutsizearg{#2}% +\ifx\@IEEEeqnarraystrutsizearg\@empty% +\skip2=0pt\relax% +\else% arg two present +{\setbox0=\hbox{#3\relax\global\skip3=#2}}% +\skip2=\skip3\relax% +\fi% if null arg +% remove stretchability, just to be safe +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% dimen0 = height, dimen2 = depth +\if@IEEEeqnarrayISinner% inner does not touch master strut size +% get local strut size +\expandafter\skip0=\@IEEEeqnarrayTHEstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEstrutdepth\relax% +% add it to the user supplied values +\advance\dimen0 by \skip0\relax% +\advance\dimen2 by \skip2\relax% +% update the local strut size +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstrutfalse% do not use master +\else% outer, have to set master strut too +% get master strut size +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +% add it to the user supplied values +\advance\dimen0 by \skip0\relax% +\advance\dimen2 by \skip2\relax% +% update the local and master strut sizes +\edef\@IEEEeqnarrayTHEmasterstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutdepth{\the\dimen2}% +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstruttrue% use master strut +\fi} + + +% allow user a way to see the struts +\newif\ifIEEEvisiblestruts +\IEEEvisiblestrutsfalse + +% inserts an invisible strut using the master or local strut values +% uses scratch registers \skip0, \skip2, \dimen0, \dimen2 +\def\@IEEEeqnarrayinsertstrut{\relax% +\if@IEEEeqnarrayusemasterstrut +% get master strut size +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +\else% +% get local strut size +\expandafter\skip0=\@IEEEeqnarrayTHEstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEstrutdepth\relax% +\fi% +% remove stretchability, probably not needed +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% dimen0 = height, dimen2 = depth +% allow user to see struts if desired +\ifIEEEvisiblestruts% +\vrule width0.2pt height\dimen0 depth\dimen2\relax% +\else% +\vrule width0pt height\dimen0 depth\dimen2\relax\fi} + + +% creates an invisible strut, useable even outside \IEEEeqnarray +% if \IEEEvisiblestrutstrue, the strut will be visible and 0.2pt wide. +% usage: \IEEEstrut[height][depth][font size commands] +% default is \IEEEstrut[0.7\normalbaselineskip][0.3\normalbaselineskip][\relax] +% blank arguments inherit the default values +% uses \dimen0, \dimen2, \skip0, \skip2 +\def\IEEEstrut{\relax\@ifnextchar[{\@IEEEstrut}{\@IEEEstrut[0.7\normalbaselineskip]}} +\def\@IEEEstrut[#1]{\relax\@ifnextchar[{\@@IEEEstrut[#1]}{\@@IEEEstrut[#1][0.3\normalbaselineskip]}} +\def\@@IEEEstrut[#1][#2]{\relax\@ifnextchar[{\@@@IEEEstrut[#1][#2]}{\@@@IEEEstrut[#1][#2][\relax]}} +\def\@@@IEEEstrut[#1][#2][#3]{\mbox{#3\relax% +\def\@IEEEstrutARG{#1}% +\ifx\@IEEEstrutARG\@empty% +\skip0=0.7\normalbaselineskip\relax% +\else% +\skip0=#1\relax% +\fi% +\def\@IEEEstrutARG{#2}% +\ifx\@IEEEstrutARG\@empty% +\skip2=0.3\normalbaselineskip\relax% +\else% +\skip2=#2\relax% +\fi% +% remove stretchability, probably not needed +\dimen0\skip0\relax% +\dimen2\skip2\relax% +\ifIEEEvisiblestruts% +\vrule width0.2pt height\dimen0 depth\dimen2\relax% +\else% +\vrule width0.0pt height\dimen0 depth\dimen2\relax\fi}} + + +% enables strut mode by setting a default strut size and then zeroing the +% \baselineskip, \lineskip, \lineskiplimit and \jot +\def\IEEEeqnarraystrutmode{\IEEEeqnarraystrutsize{0.7\normalbaselineskip}{0.3\normalbaselineskip}[\relax]% +\baselineskip=0pt\lineskip=0pt\lineskiplimit=0pt\jot=0pt} + + + +\def\IEEEeqnarray{\@IEEEeqnarraystarformfalse\@IEEEeqnarray} +\def\endIEEEeqnarray{\end@IEEEeqnarray} + +\@namedef{IEEEeqnarray*}{\@IEEEeqnarraystarformtrue\@IEEEeqnarray} +\@namedef{endIEEEeqnarray*}{\end@IEEEeqnarray} + + +% \IEEEeqnarray is an enhanced \eqnarray. +% The star form defaults to not putting equation numbers at the end of each row. +% usage: \IEEEeqnarray[decl]{cols} +\def\@IEEEeqnarray{\relax\@ifnextchar[{\@@IEEEeqnarray}{\@@IEEEeqnarray[\relax]}} +\def\@@IEEEeqnarray[#1]#2{% + % default to showing the equation number or not based on whether or not + % the star form was involked + \if@IEEEeqnarraystarform\global\@eqnswfalse + \else% not the star form + \global\@eqnswtrue + \fi% if star form + \@IEEEissubequationfalse% default to no subequations + \@IEEElastlinewassubequationfalse% assume last line is not a sub equation + \@IEEEeqnarrayISinnerfalse% not yet within the lines of the halign + \@IEEEeqnarraystrutsize{0pt}{0pt}[\relax]% turn off struts by default + \@IEEEeqnarrayusemasterstruttrue% use master strut till user asks otherwise + \IEEEvisiblestrutsfalse% diagnostic mode defaults to off + % no extra space unless the user specifically requests it + \lineskip=0pt\relax + \lineskiplimit=0pt\relax + \baselineskip=\normalbaselineskip\relax% + \jot=\IEEEnormaljot\relax% + \mathsurround\z@\relax% no extra spacing around math + \@advanceIEEEeqncolcnttrue% advance the col counter for each col the user uses, + % used in \IEEEeqnarraymulticol and in the preamble build + \stepcounter{equation}% advance equation counter before first line + \setcounter{IEEEsubequation}{0}% no subequation yet + \def\@currentlabel{\p@equation\theequation}% redefine the ref label + \IEEEeqnarraydecl\relax% allow a way for the user to make global overrides + #1\relax% allow user to override defaults + \let\\\@IEEEeqnarraycr% replace newline with one that can put in eqn. numbers + \global\@IEEEeqncolcnt\z@% col. count = 0 for first line + \@IEEEbuildpreamble #2\end\relax% build the preamble and put it into \@IEEEtrantmptoksA + % put in the column for the equation number + \ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi% col separator for those after the first + \toks0={##}% + % advance the \@IEEEeqncolcnt for the isolation col, this helps with error checking + \@IEEEappendtoksA{\global\advance\@IEEEeqncolcnt by 1\relax}% + % add the isolation column + \@IEEEappendtoksA{\tabskip\z@skip\bgroup\the\toks0\egroup}% + % advance the \@IEEEeqncolcnt for the equation number col, this helps with error checking + \@IEEEappendtoksA{&\global\advance\@IEEEeqncolcnt by 1\relax}% + % add the equation number col to the preamble + \@IEEEappendtoksA{\tabskip\z@skip\hb@xt@\z@\bgroup\hss\the\toks0\egroup}% + % note \@IEEEeqnnumcols does not count the equation col or isolation col + % set the starting tabskip glue as determined by the preamble build + \tabskip=\@IEEEBPstartglue\relax + % begin the display alignment + \@IEEEeqnarrayISinnertrue% commands are now within the lines + $$\everycr{}\halign to\displaywidth\bgroup + % "exspand" the preamble + \span\the\@IEEEtrantmptoksA\cr} + +% enter isolation/strut column (or the next column if the user did not use +% every column), record the strut status, complete the columns, do the strut if needed, +% restore counters to correct values and exit +\def\end@IEEEeqnarray{\@IEEEeqnarrayglobalizestrutstatus&\@@IEEEeqnarraycr\egroup% +\if@IEEElastlinewassubequation\global\advance\c@IEEEsubequation\m@ne\fi% +\global\advance\c@equation\m@ne% +$$\@ignoretrue} + +% need a way to remember if last line is a subequation +\newif\if@IEEElastlinewassubequation% +\@IEEElastlinewassubequationfalse + +% IEEEeqnarray uses a modifed \\ instead of the plain \cr to +% end rows. This allows for things like \\*[vskip amount] +% This "cr" macros are modified versions those for LaTeX2e's eqnarray +% the {\ifnum0=`} braces must be kept away from the last column to avoid +% altering spacing of its math, so we use & to advance to the next column +% as there is an isolation/strut column after the user's columns +\def\@IEEEeqnarraycr{\@IEEEeqnarrayglobalizestrutstatus&% save strut status and advance to next column + {\ifnum0=`}\fi + \@ifstar{% + \global\@eqpen\@M\@IEEEeqnarrayYCR + }{% + \global\@eqpen\interdisplaylinepenalty \@IEEEeqnarrayYCR + }% +} + +\def\@IEEEeqnarrayYCR{\@testopt\@IEEEeqnarrayXCR\z@skip} + +\def\@IEEEeqnarrayXCR[#1]{% + \ifnum0=`{\fi}% + \@@IEEEeqnarraycr + \noalign{\penalty\@eqpen\vskip\jot\vskip #1\relax}}% + +\def\@@IEEEeqnarraycr{\@IEEEtrantmptoksA={}% clear token register + \advance\@IEEEeqncolcnt by -1\relax% adjust col count because of the isolation column + \ifnum\@IEEEeqncolcnt>\@IEEEeqnnumcols\relax + \@IEEEclspkgerror{Too many columns within the IEEEeqnarray\MessageBreak + environment}% + {Use fewer \string &'s or put more columns in the IEEEeqnarry column\MessageBreak + specifications.}\relax% + \else + \loop% add cols if the user did not use them all + \ifnum\@IEEEeqncolcnt<\@IEEEeqnnumcols\relax + \@IEEEappendtoksA{&}% + \advance\@IEEEeqncolcnt by 1\relax% update the col count + \repeat + % this number of &'s will take us the the isolation column + \fi + % execute the &'s + \the\@IEEEtrantmptoksA% + % handle the strut/isolation column + \@IEEEeqnarrayinsertstrut% do the strut if needed + \@IEEEeqnarraystrutreset% reset the strut system for next line or IEEEeqnarray + &% and enter the equation number column + % is this line needs an equation number, display it and advance the + % (sub)equation counters, record what type this line was + \if@eqnsw% + \if@IEEEissubequation\theIEEEsubequationdis\addtocounter{equation}{1}\stepcounter{IEEEsubequation}% + \global\@IEEElastlinewassubequationtrue% + \else% display a standard equation number, initialize the IEEEsubequation counter + \theequationdis\stepcounter{equation}\setcounter{IEEEsubequation}{0}% + \global\@IEEElastlinewassubequationfalse\fi% + \fi% + % reset the eqnsw flag to indicate default preference of the display of equation numbers + \if@IEEEeqnarraystarform\global\@eqnswfalse\else\global\@eqnswtrue\fi + \global\@IEEEissubequationfalse% reset the subequation flag + % reset the number of columns the user actually used + \global\@IEEEeqncolcnt\z@\relax + % the real end of the line + \cr} + + + + + +% \IEEEeqnarraybox is like \IEEEeqnarray except the box form puts everything +% inside a vtop, vbox, or vcenter box depending on the letter in the second +% optional argument (t,b,c). Vbox is the default. Unlike \IEEEeqnarray, +% equation numbers are not displayed and \IEEEeqnarraybox can be nested. +% \IEEEeqnarrayboxm is for math mode (like \array) and does not put the vbox +% within an hbox. +% \IEEEeqnarrayboxt is for text mode (like \tabular) and puts the vbox within +% a \hbox{$ $} construct. +% \IEEEeqnarraybox will auto detect whether to use \IEEEeqnarrayboxm or +% \IEEEeqnarrayboxt depending on the math mode. +% The third optional argument specifies the width this box is to be set to - +% natural width is the default. +% The * forms do not add \jot line spacing +% usage: \IEEEeqnarraybox[decl][pos][width]{cols} +\def\IEEEeqnarrayboxm{\@IEEEeqnarraystarformfalse\@IEEEeqnarrayboxHBOXSWfalse\@IEEEeqnarraybox} +\def\endIEEEeqnarrayboxm{\end@IEEEeqnarraybox} +\@namedef{IEEEeqnarrayboxm*}{\@IEEEeqnarraystarformtrue\@IEEEeqnarrayboxHBOXSWfalse\@IEEEeqnarraybox} +\@namedef{endIEEEeqnarrayboxm*}{\end@IEEEeqnarraybox} + +\def\IEEEeqnarrayboxt{\@IEEEeqnarraystarformfalse\@IEEEeqnarrayboxHBOXSWtrue\@IEEEeqnarraybox} +\def\endIEEEeqnarrayboxt{\end@IEEEeqnarraybox} +\@namedef{IEEEeqnarrayboxt*}{\@IEEEeqnarraystarformtrue\@IEEEeqnarrayboxHBOXSWtrue\@IEEEeqnarraybox} +\@namedef{endIEEEeqnarrayboxt*}{\end@IEEEeqnarraybox} + +\def\IEEEeqnarraybox{\@IEEEeqnarraystarformfalse\ifmmode\@IEEEeqnarrayboxHBOXSWfalse\else\@IEEEeqnarrayboxHBOXSWtrue\fi% +\@IEEEeqnarraybox} +\def\endIEEEeqnarraybox{\end@IEEEeqnarraybox} + +\@namedef{IEEEeqnarraybox*}{\@IEEEeqnarraystarformtrue\ifmmode\@IEEEeqnarrayboxHBOXSWfalse\else\@IEEEeqnarrayboxHBOXSWtrue\fi% +\@IEEEeqnarraybox} +\@namedef{endIEEEeqnarraybox*}{\end@IEEEeqnarraybox} + +% flag to indicate if the \IEEEeqnarraybox needs to put things into an hbox{$ $} +% for \vcenter in non-math mode +\newif\if@IEEEeqnarrayboxHBOXSW% +\@IEEEeqnarrayboxHBOXSWfalse + +\def\@IEEEeqnarraybox{\relax\@ifnextchar[{\@@IEEEeqnarraybox}{\@@IEEEeqnarraybox[\relax]}} +\def\@@IEEEeqnarraybox[#1]{\relax\@ifnextchar[{\@@@IEEEeqnarraybox[#1]}{\@@@IEEEeqnarraybox[#1][b]}} +\def\@@@IEEEeqnarraybox[#1][#2]{\relax\@ifnextchar[{\@@@@IEEEeqnarraybox[#1][#2]}{\@@@@IEEEeqnarraybox[#1][#2][\relax]}} + +% #1 = decl; #2 = t,b,c; #3 = width, #4 = col specs +\def\@@@@IEEEeqnarraybox[#1][#2][#3]#4{\@IEEEeqnarrayISinnerfalse % not yet within the lines of the halign + \@IEEEeqnarraymasterstrutsave% save current master strut values + \@IEEEeqnarraystrutsize{0pt}{0pt}[\relax]% turn off struts by default + \@IEEEeqnarrayusemasterstruttrue% use master strut till user asks otherwise + \IEEEvisiblestrutsfalse% diagnostic mode defaults to off + % no extra space unless the user specifically requests it + \lineskip=0pt\relax% + \lineskiplimit=0pt\relax% + \baselineskip=\normalbaselineskip\relax% + \jot=\IEEEnormaljot\relax% + \mathsurround\z@\relax% no extra spacing around math + % the default end glues are zero for an \IEEEeqnarraybox + \edef\@IEEEeqnarraycolSEPdefaultstart{\@IEEEeqnarraycolSEPzero}% default start glue + \edef\@IEEEeqnarraycolSEPdefaultend{\@IEEEeqnarraycolSEPzero}% default end glue + \edef\@IEEEeqnarraycolSEPdefaultmid{\@IEEEeqnarraycolSEPzero}% default inter-column glue + \@advanceIEEEeqncolcntfalse% do not advance the col counter for each col the user uses, + % used in \IEEEeqnarraymulticol and in the preamble build + \IEEEeqnarrayboxdecl\relax% allow a way for the user to make global overrides + #1\relax% allow user to override defaults + \let\\\@IEEEeqnarrayboxcr% replace newline with one that allows optional spacing + \@IEEEbuildpreamble #4\end\relax% build the preamble and put it into \@IEEEtrantmptoksA + % add an isolation column to the preamble to stop \\'s {} from getting into the last col + \ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi% col separator for those after the first + \toks0={##}% + % add the isolation column to the preamble + \@IEEEappendtoksA{\tabskip\z@skip\bgroup\the\toks0\egroup}% + % set the starting tabskip glue as determined by the preamble build + \tabskip=\@IEEEBPstartglue\relax + % begin the alignment + \everycr{}% + % use only the very first token to determine the positioning + % this stops some problems when the user uses more than one letter, + % but is probably not worth the effort + % \noindent is used as a delimiter + \def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% + \@IEEEgrabfirstoken#2\relax\relax\noindent + % \@IEEEgrabbedfirstoken has the first token, the rest are discarded + % if we need to put things into and hbox and go into math mode, do so now + \if@IEEEeqnarrayboxHBOXSW \leavevmode \hbox \bgroup $\fi% + % use the appropriate vbox type + \if\@IEEEgrabbedfirstoken t\relax\vtop\else\if\@IEEEgrabbedfirstoken c\relax% + \vcenter\else\vbox\fi\fi\bgroup% + \@IEEEeqnarrayISinnertrue% commands are now within the lines + \ifx#3\relax\halign\else\halign to #3\relax\fi% + \bgroup + % "exspand" the preamble + \span\the\@IEEEtrantmptoksA\cr} + +% carry strut status and enter the isolation/strut column, +% exit from math mode if needed, and exit +\def\end@IEEEeqnarraybox{\@IEEEeqnarrayglobalizestrutstatus% carry strut status +&% enter isolation/strut column +\@IEEEeqnarrayinsertstrut% do strut if needed +\@IEEEeqnarraymasterstrutrestore% restore the previous master strut values +% reset the strut system for next IEEEeqnarray +% (sets local strut values back to previous master strut values) +\@IEEEeqnarraystrutreset% +% ensure last line, exit from halign, close vbox +\crcr\egroup\egroup% +% exit from math mode and close hbox if needed +\if@IEEEeqnarrayboxHBOXSW $\egroup\fi} + + + +% IEEEeqnarraybox uses a modifed \\ instead of the plain \cr to +% end rows. This allows for things like \\[vskip amount] +% This "cr" macros are modified versions those for LaTeX2e's eqnarray +% For IEEEeqnarraybox, \\* is the same as \\ +% the {\ifnum0=`} braces must be kept away from the last column to avoid +% altering spacing of its math, so we use & to advance to the isolation/strut column +% carry strut status into isolation/strut column +\def\@IEEEeqnarrayboxcr{\@IEEEeqnarrayglobalizestrutstatus% carry strut status +&% enter isolation/strut column +\@IEEEeqnarrayinsertstrut% do strut if needed +% reset the strut system for next line or IEEEeqnarray +\@IEEEeqnarraystrutreset% +{\ifnum0=`}\fi% +\@ifstar{\@IEEEeqnarrayboxYCR}{\@IEEEeqnarrayboxYCR}} + +% test and setup the optional argument to \\[] +\def\@IEEEeqnarrayboxYCR{\@testopt\@IEEEeqnarrayboxXCR\z@skip} + +% IEEEeqnarraybox does not automatically increase line spacing by \jot +\def\@IEEEeqnarrayboxXCR[#1]{\ifnum0=`{\fi}% +\cr\noalign{\if@IEEEeqnarraystarform\else\vskip\jot\fi\vskip#1\relax}} + + + +% starts the halign preamble build +\def\@IEEEbuildpreamble{\@IEEEtrantmptoksA={}% clear token register +\let\@IEEEBPcurtype=u%current column type is not yet known +\let\@IEEEBPprevtype=s%the previous column type was the start +\let\@IEEEBPnexttype=u%next column type is not yet known +% ensure these are valid +\def\@IEEEBPcurglue={0pt plus 0pt minus 0pt}% +\def\@IEEEBPcurcolname{@IEEEdefault}% name of current column definition +% currently acquired numerically referenced glue +% use a name that is easier to remember +\let\@IEEEBPcurnum=\@IEEEtrantmpcountA% +\@IEEEBPcurnum=0% +% tracks number of columns in the preamble +\@IEEEeqnnumcols=0% +% record the default end glues +\edef\@IEEEBPstartglue{\@IEEEeqnarraycolSEPdefaultstart}% +\edef\@IEEEBPendglue{\@IEEEeqnarraycolSEPdefaultend}% +% now parse the user's column specifications +\@@IEEEbuildpreamble} + + +% parses and builds the halign preamble +\def\@@IEEEbuildpreamble#1#2{\let\@@nextIEEEbuildpreamble=\@@IEEEbuildpreamble% +% use only the very first token to check the end +% \noindent is used as a delimiter as \end can be present here +\def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% +\@IEEEgrabfirstoken#1\relax\relax\noindent +\ifx\@IEEEgrabbedfirstoken\end\let\@@nextIEEEbuildpreamble=\@@IEEEfinishpreamble\else% +% identify current and next token type +\@IEEEgetcoltype{#1}{\@IEEEBPcurtype}{1}% current, error on invalid +\@IEEEgetcoltype{#2}{\@IEEEBPnexttype}{0}% next, no error on invalid next +% if curtype is a glue, get the glue def +\if\@IEEEBPcurtype g\@IEEEgetcurglue{#1}{\@IEEEBPcurglue}\fi% +% if curtype is a column, get the column def and set the current column name +\if\@IEEEBPcurtype c\@IEEEgetcurcol{#1}\fi% +% if curtype is a numeral, acquire the user defined glue +\if\@IEEEBPcurtype n\@IEEEprocessNcol{#1}\fi% +% process the acquired glue +\if\@IEEEBPcurtype g\@IEEEprocessGcol\fi% +% process the acquired col +\if\@IEEEBPcurtype c\@IEEEprocessCcol\fi% +% ready prevtype for next col spec. +\let\@IEEEBPprevtype=\@IEEEBPcurtype% +% be sure and put back the future token(s) as a group +\fi\@@nextIEEEbuildpreamble{#2}} + + +% executed just after preamble build is completed +% warn about zero cols, and if prevtype type = u, put in end tabskip glue +\def\@@IEEEfinishpreamble#1{\ifnum\@IEEEeqnnumcols<1\relax +\@IEEEclspkgerror{No column specifiers declared for IEEEeqnarray}% +{At least one column type must be declared for each IEEEeqnarray.}% +\fi%num cols less than 1 +%if last type undefined, set default end tabskip glue +\if\@IEEEBPprevtype u\@IEEEappendtoksA{\tabskip=\@IEEEBPendglue}\fi} + + +% Identify and return the column specifier's type code +\def\@IEEEgetcoltype#1#2#3{% +% use only the very first token to determine the type +% \noindent is used as a delimiter as \end can be present here +\def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% +\@IEEEgrabfirstoken#1\relax\relax\noindent +% \@IEEEgrabfirstoken has the first token, the rest are discarded +% n = number +% g = glue (any other char in catagory 12) +% c = letter +% e = \end +% u = undefined +% third argument: 0 = no error message, 1 = error on invalid char +\let#2=u\relax% assume invalid until know otherwise +\ifx\@IEEEgrabbedfirstoken\end\let#2=e\else +\ifcat\@IEEEgrabbedfirstoken\relax\else% screen out control sequences +\if0\@IEEEgrabbedfirstoken\let#2=n\else +\if1\@IEEEgrabbedfirstoken\let#2=n\else +\if2\@IEEEgrabbedfirstoken\let#2=n\else +\if3\@IEEEgrabbedfirstoken\let#2=n\else +\if4\@IEEEgrabbedfirstoken\let#2=n\else +\if5\@IEEEgrabbedfirstoken\let#2=n\else +\if6\@IEEEgrabbedfirstoken\let#2=n\else +\if7\@IEEEgrabbedfirstoken\let#2=n\else +\if8\@IEEEgrabbedfirstoken\let#2=n\else +\if9\@IEEEgrabbedfirstoken\let#2=n\else +\ifcat,\@IEEEgrabbedfirstoken\let#2=g\relax +\else\ifcat a\@IEEEgrabbedfirstoken\let#2=c\relax\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\if#2u\relax +\if0\noexpand#3\relax\else\@IEEEclspkgerror{Invalid character in column specifications}% +{Only letters, numerals and certain other symbols are allowed \MessageBreak +as IEEEeqnarray column specifiers.}\fi\fi} + + +% identify the current letter referenced column +% if invalid, use a default column +\def\@IEEEgetcurcol#1{\expandafter\ifx\csname @IEEEeqnarraycolDEF#1\endcsname\@IEEEeqnarraycolisdefined% +\def\@IEEEBPcurcolname{#1}\else% invalid column name +\@IEEEclspkgerror{Invalid column type "#1" in column specifications.\MessageBreak +Using a default centering column instead}% +{You must define IEEEeqnarray column types before use.}% +\def\@IEEEBPcurcolname{@IEEEdefault}\fi} + + +% identify and return the predefined (punctuation) glue value +\def\@IEEEgetcurglue#1#2{% +% ! = \! (neg small) -0.16667em (-3/18 em) +% , = \, (small) 0.16667em ( 3/18 em) +% : = \: (med) 0.22222em ( 4/18 em) +% ; = \; (large) 0.27778em ( 5/18 em) +% ' = \quad 1em +% " = \qquad 2em +% . = 0.5\arraycolsep +% / = \arraycolsep +% ? = 2\arraycolsep +% * = 1fil +% + = \@IEEEeqnarraycolSEPcenter +% - = \@IEEEeqnarraycolSEPzero +% Note that all em values are referenced to the math font (textfont2) fontdimen6 +% value for 1em. +% +% use only the very first token to determine the type +% this prevents errant tokens from getting in the main text +% \noindent is used as a delimiter here +\def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% +\@IEEEgrabfirstoken#1\relax\relax\noindent +% get the math font 1em value +% LaTeX2e's NFSS2 does not preload the fonts, but \IEEEeqnarray needs +% to gain access to the math (\textfont2) font's spacing parameters. +% So we create a bogus box here that uses the math font to ensure +% that \textfont2 is loaded and ready. If this is not done, +% the \textfont2 stuff here may not work. +% Thanks to Bernd Raichle for his 1997 post on this topic. +{\setbox0=\hbox{$\displaystyle\relax$}}% +% fontdimen6 has the width of 1em (a quad). +\@IEEEtrantmpdimenA=\fontdimen6\textfont2\relax% +% identify the glue value based on the first token +% we discard anything after the first +\if!\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=-0.16667\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if,\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.16667\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if:\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.22222\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if;\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.27778\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if'\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=1\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if"\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=2\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if.\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.5\arraycolsep\edef#2{\the\@IEEEtrantmpdimenA}\else +\if/\@IEEEgrabbedfirstoken\edef#2{\the\arraycolsep}\else +\if?\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=2\arraycolsep\edef#2{\the\@IEEEtrantmpdimenA}\else +\if *\@IEEEgrabbedfirstoken\edef#2{0pt plus 1fil minus 0pt}\else +\if+\@IEEEgrabbedfirstoken\edef#2{\@IEEEeqnarraycolSEPcenter}\else +\if-\@IEEEgrabbedfirstoken\edef#2{\@IEEEeqnarraycolSEPzero}\else +\edef#2{\@IEEEeqnarraycolSEPzero}% +\@IEEEclspkgerror{Invalid predefined inter-column glue type "#1" in\MessageBreak +column specifications. Using a default value of\MessageBreak +0pt instead}% +{Only !,:;'"./?*+ and - are valid predefined glue types in the\MessageBreak +IEEEeqnarray column specifications.}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} + + + +% process a numerical digit from the column specification +% and look up the corresponding user defined glue value +% can transform current type from n to g or a as the user defined glue is acquired +\def\@IEEEprocessNcol#1{\if\@IEEEBPprevtype g% +\@IEEEclspkgerror{Back-to-back inter-column glue specifiers in column\MessageBreak +specifications. Ignoring consecutive glue specifiers\MessageBreak +after the first}% +{You cannot have two or more glue types next to each other\MessageBreak +in the IEEEeqnarray column specifications.}% +\let\@IEEEBPcurtype=a% abort this glue, future digits will be discarded +\@IEEEBPcurnum=0\relax% +\else% if we previously aborted a glue +\if\@IEEEBPprevtype a\@IEEEBPcurnum=0\let\@IEEEBPcurtype=a%maintain digit abortion +\else%acquire this number +% save the previous type before the numerical digits started +\if\@IEEEBPprevtype n\else\let\@IEEEBPprevsavedtype=\@IEEEBPprevtype\fi% +\multiply\@IEEEBPcurnum by 10\relax% +\advance\@IEEEBPcurnum by #1\relax% add in number, \relax is needed to stop TeX's number scan +\if\@IEEEBPnexttype n\else%close acquisition +\expandafter\ifx\csname @IEEEeqnarraycolSEPDEF\expandafter\romannumeral\number\@IEEEBPcurnum\endcsname\@IEEEeqnarraycolisdefined% +\edef\@IEEEBPcurglue{\csname @IEEEeqnarraycolSEP\expandafter\romannumeral\number\@IEEEBPcurnum\endcsname}% +\else%user glue not defined +\@IEEEclspkgerror{Invalid user defined inter-column glue type "\number\@IEEEBPcurnum" in\MessageBreak +column specifications. Using a default value of\MessageBreak +0pt instead}% +{You must define all IEEEeqnarray numerical inter-column glue types via\MessageBreak +\string\IEEEeqnarraydefcolsep \space before they are used in column specifications.}% +\edef\@IEEEBPcurglue{\@IEEEeqnarraycolSEPzero}% +\fi% glue defined or not +\let\@IEEEBPcurtype=g% change the type to reflect the acquired glue +\let\@IEEEBPprevtype=\@IEEEBPprevsavedtype% restore the prev type before this number glue +\@IEEEBPcurnum=0\relax%ready for next acquisition +\fi%close acquisition, get glue +\fi%discard or acquire number +\fi%prevtype glue or not +} + + +% process an acquired glue +% add any acquired column/glue pair to the preamble +\def\@IEEEprocessGcol{\if\@IEEEBPprevtype a\let\@IEEEBPcurtype=a%maintain previous glue abortions +\else +% if this is the start glue, save it, but do nothing else +% as this is not used in the preamble, but before +\if\@IEEEBPprevtype s\edef\@IEEEBPstartglue{\@IEEEBPcurglue}% +\else%not the start glue +\if\@IEEEBPprevtype g%ignore if back to back glues +\@IEEEclspkgerror{Back-to-back inter-column glue specifiers in column\MessageBreak +specifications. Ignoring consecutive glue specifiers\MessageBreak +after the first}% +{You cannot have two or more glue types next to each other\MessageBreak +in the IEEEeqnarray column specifications.}% +\let\@IEEEBPcurtype=a% abort this glue +\else% not a back to back glue +\if\@IEEEBPprevtype c\relax% if the previoustype was a col, add column/glue pair to preamble +\ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi +\toks0={##}% +% make preamble advance col counter if this environment needs this +\if@advanceIEEEeqncolcnt\@IEEEappendtoksA{\global\advance\@IEEEeqncolcnt by 1\relax}\fi +% insert the column defintion into the preamble, being careful not to expand +% the column definition +\@IEEEappendtoksA{\tabskip=\@IEEEBPcurglue}% +\@IEEEappendNOEXPANDtoksA{\begingroup\csname @IEEEeqnarraycolPRE}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname}% +\@IEEEappendtoksA{\the\toks0}% +\@IEEEappendNOEXPANDtoksA{\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\endgroup}% +\advance\@IEEEeqnnumcols by 1\relax%one more column in the preamble +\else% error: non-start glue with no pending column +\@IEEEclspkgerror{Inter-column glue specifier without a prior column\MessageBreak +type in the column specifications. Ignoring this glue\MessageBreak +specifier}% +{Except for the first and last positions, glue can be placed only\MessageBreak +between column types.}% +\let\@IEEEBPcurtype=a% abort this glue +\fi% previous was a column +\fi% back-to-back glues +\fi% is start column glue +\fi% prev type not a +} + + +% process an acquired letter referenced column and, if necessary, add it to the preamble +\def\@IEEEprocessCcol{\if\@IEEEBPnexttype g\else +\if\@IEEEBPnexttype n\else +% we have a column followed by something other than a glue (or numeral glue) +% so we must add this column to the preamble now +\ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi%col separator for those after the first +\if\@IEEEBPnexttype e\@IEEEappendtoksA{\tabskip=\@IEEEBPendglue\relax}\else%put in end glue +\@IEEEappendtoksA{\tabskip=\@IEEEeqnarraycolSEPdefaultmid\relax}\fi% or default mid glue +\toks0={##}% +% make preamble advance col counter if this environment needs this +\if@advanceIEEEeqncolcnt\@IEEEappendtoksA{\global\advance\@IEEEeqncolcnt by 1\relax}\fi +% insert the column definition into the preamble, being careful not to expand +% the column definition +\@IEEEappendNOEXPANDtoksA{\begingroup\csname @IEEEeqnarraycolPRE}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname}% +\@IEEEappendtoksA{\the\toks0}% +\@IEEEappendNOEXPANDtoksA{\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\endgroup}% +\advance\@IEEEeqnnumcols by 1\relax%one more column in the preamble +\fi%next type not numeral +\fi%next type not glue +} + + +%% +%% END OF IEEEeqnarry DEFINITIONS +%% + + + + +% set up the running headings, this complex because of all the different +% modes IEEEtran supports +\if@twoside + \ifCLASSOPTIONtechnote + \def\ps@headings{% + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage} + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}} + \ifCLASSOPTIONdraftcls + \ifCLASSOPTIONdraftclsnofoot + \def\@oddfoot{}\def\@evenfoot{}% + \else + \def\@oddfoot{\scriptsize\@date\hfil DRAFT} + \def\@evenfoot{\scriptsize DRAFT\hfil\@date} + \fi + \else + \def\@oddfoot{}\def\@evenfoot{} + \fi} + \else % not a technote + \def\ps@headings{% + \ifCLASSOPTIONconference + \def\@oddhead{} + \def\@evenhead{} + \else + \def\@oddhead{\hbox{}\scriptsize\rightmark \hfil \thepage} + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}} + \fi + \ifCLASSOPTIONdraftcls + \def\@oddhead{\hbox{}\scriptsize\rightmark \hfil \thepage} + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}} + \ifCLASSOPTIONdraftclsnofoot + \def\@oddfoot{}\def\@evenfoot{}% + \else + \def\@oddfoot{\scriptsize\@date\hfil DRAFT} + \def\@evenfoot{\scriptsize DRAFT\hfil\@date} + \fi + \else + \def\@oddfoot{}\def\@evenfoot{}% + \fi} + \fi +\else % single side +\def\ps@headings{% + \ifCLASSOPTIONconference + \def\@oddhead{} + \def\@evenhead{} + \else + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage} + \def\@evenhead{} + \fi + \ifCLASSOPTIONdraftcls + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage} + \def\@evenhead{} + \ifCLASSOPTIONdraftclsnofoot + \def\@oddfoot{} + \else + \def\@oddfoot{\scriptsize \@date \hfil DRAFT} + \fi + \else + \def\@oddfoot{} + \fi + \def\@evenfoot{}} +\fi + + +% title page style +\def\ps@IEEEtitlepagestyle{\def\@oddfoot{}\def\@evenfoot{}% +\ifCLASSOPTIONconference + \def\@oddhead{}% + \def\@evenhead{}% +\else + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage}% + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}}% +\fi +\ifCLASSOPTIONdraftcls + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage}% + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}}% + \ifCLASSOPTIONdraftclsnofoot\else + \def\@oddfoot{\scriptsize \@date\hfil DRAFT}% + \def\@evenfoot{\scriptsize DRAFT\hfil \@date}% + \fi +\else + % all non-draft mode footers + \if@IEEEusingpubid + % for title pages that are using a pubid + % do not repeat pubid if using peer review option + \ifCLASSOPTIONpeerreview + \else + \footskip 0pt% + \ifCLASSOPTIONcompsoc + \def\@oddfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \else + \def\@oddfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \fi + \fi + \fi +\fi} + + +% peer review cover page style +\def\ps@IEEEpeerreviewcoverpagestyle{% +\def\@oddhead{}\def\@evenhead{}% +\def\@oddfoot{}\def\@evenfoot{}% +\ifCLASSOPTIONdraftcls + \ifCLASSOPTIONdraftclsnofoot\else + \def\@oddfoot{\scriptsize \@date\hfil DRAFT}% + \def\@evenfoot{\scriptsize DRAFT\hfil \@date}% + \fi +\else + % non-draft mode footers + \if@IEEEusingpubid + \footskip 0pt% + \ifCLASSOPTIONcompsoc + \def\@oddfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \else + \def\@oddfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \fi + \fi +\fi} + + +% start with empty headings +\def\rightmark{}\def\leftmark{} + + +%% Defines the command for putting the header. \footernote{TEXT} is the same +%% as \markboth{TEXT}{TEXT}. +%% Note that all the text is forced into uppercase, if you have some text +%% that needs to be in lower case, for instance et. al., then either manually +%% set \leftmark and \rightmark or use \MakeLowercase{et. al.} within the +%% arguments to \markboth. +\def\markboth#1#2{\def\leftmark{\@IEEEcompsoconly{\sffamily}\MakeUppercase{#1}}% +\def\rightmark{\@IEEEcompsoconly{\sffamily}\MakeUppercase{#2}}} +\def\footernote#1{\markboth{#1}{#1}} + +\def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} + + + + +%% CITATION AND BIBLIOGRAPHY COMMANDS +%% +%% V1.6 no longer supports the older, nonstandard \shortcite and \citename setup stuff +% +% +% Modify Latex2e \@citex to separate citations with "], [" +\def\@citex[#1]#2{% + \let\@citea\@empty + \@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{], [}% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}% + \G@refundefinedtrue + \@latex@warning + {Citation `\@citeb' on page \thepage \space undefined}}% + {\hbox{\csname b@\@citeb\endcsname}}}}{#1}} + +% V1.6 we create hooks for the optional use of Donald Arseneau's +% cite.sty package. cite.sty is "smart" and will notice that the +% following format controls are already defined and will not +% redefine them. The result will be the proper sorting of the +% citation numbers and auto detection of 3 or more entry "ranges" - +% all in IEEE style: [1], [2], [5]--[7], [12] +% This also allows for an optional note, i.e., \cite[mynote]{..}. +% If the \cite with note has more than one reference, the note will +% be applied to the last of the listed references. It is generally +% desired that if a note is given, only one reference is listed in +% that \cite. +% Thanks to Mr. Arseneau for providing the required format arguments +% to produce the IEEE style. +\def\citepunct{], [} +\def\citedash{]--[} + +% V1.7 default to using same font for urls made by url.sty +\AtBeginDocument{\csname url@samestyle\endcsname} + +% V1.6 class files should always provide these +\def\newblock{\hskip .11em\@plus.33em\@minus.07em} +\let\@openbib@code\@empty + + +% Provide support for the control entries of IEEEtran.bst V1.00 and later. +% V1.7 optional argument allows for a different aux file to be specified in +% order to handle multiple bibliographies. For example, with multibib.sty: +% \newcites{sec}{Secondary Literature} +% \bstctlcite[@auxoutsec]{BSTcontrolhak} +\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}} +\def\@bstctlcite[#1]#2{\@bsphack + \@for\@citeb:=#2\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}% + \@esphack} + +% V1.6 provide a way for a user to execute a command just before +% a given reference number - used to insert a \newpage to balance +% the columns on the last page +\edef\@IEEEtriggerrefnum{0} % the default of zero means that + % the command is not executed +\def\@IEEEtriggercmd{\newpage} + +% allow the user to alter the triggered command +\long\def\IEEEtriggercmd#1{\long\def\@IEEEtriggercmd{#1}} + +% allow user a way to specify the reference number just before the +% command is executed +\def\IEEEtriggeratref#1{\@IEEEtrantmpcountA=#1% +\edef\@IEEEtriggerrefnum{\the\@IEEEtrantmpcountA}}% + +% trigger command at the given reference +\def\@IEEEbibitemprefix{\@IEEEtrantmpcountA=\@IEEEtriggerrefnum\relax% +\advance\@IEEEtrantmpcountA by -1\relax% +\ifnum\c@enumiv=\@IEEEtrantmpcountA\relax\@IEEEtriggercmd\relax\fi} + + +\def\@biblabel#1{[#1]} + +% compsoc journals left align the reference numbers +\@IEEEcompsocnotconfonly{\def\@biblabel#1{[#1]\hfill}} + +% controls bib item spacing +\def\IEEEbibitemsep{2.5pt plus .5pt} + +\@IEEEcompsocconfonly{\def\IEEEbibitemsep{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}} + + +\def\thebibliography#1{\section*{\refname}% + \addcontentsline{toc}{section}{\refname}% + % V1.6 add some rubber space here and provide a command trigger + \footnotesize\@IEEEcompsocconfonly{\small}\vskip 0.3\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \labelsep 1em + \advance\leftmargin\labelsep\relax + \itemsep \IEEEbibitemsep\relax + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \let\@IEEElatexbibitem\bibitem% + \def\bibitem{\@IEEEbibitemprefix\@IEEElatexbibitem}% +\def\newblock{\hskip .11em plus .33em minus .07em}% +% originally: +% \sloppy\clubpenalty4000\widowpenalty4000% +% by adding the \interlinepenalty here, we make it more +% difficult, but not impossible, for LaTeX to break within a reference. +% IEEE almost never breaks a reference (but they do it more often with +% technotes). You may get an underfull vbox warning around the bibliography, +% but the final result will be much more like what IEEE will publish. +% MDS 11/2000 +\ifCLASSOPTIONtechnote\sloppy\clubpenalty4000\widowpenalty4000\interlinepenalty100% +\else\sloppy\clubpenalty4000\widowpenalty4000\interlinepenalty500\fi% + \sfcode`\.=1000\relax} +\let\endthebibliography=\endlist + + + + +% TITLE PAGE COMMANDS +% +% +% \IEEEmembership is used to produce the sublargesize italic font used to indicate author +% IEEE membership. compsoc uses a large size sans slant font +\def\IEEEmembership#1{{\@IEEEnotcompsoconly{\sublargesize}\normalfont\@IEEEcompsoconly{\sffamily}\textit{#1}}} + + +% \IEEEauthorrefmark{} produces a footnote type symbol to indicate author affiliation. +% When given an argument of 1 to 9, \IEEEauthorrefmark{} follows the standard LaTeX footnote +% symbol sequence convention. However, for arguments 10 and above, \IEEEauthorrefmark{} +% reverts to using lower case roman numerals, so it cannot overflow. Do note that you +% cannot use \footnotemark[] in place of \IEEEauthorrefmark{} within \author as the footnote +% symbols will have been turned off to prevent \thanks from creating footnote marks. +% \IEEEauthorrefmark{} produces a symbol that appears to LaTeX as having zero vertical +% height - this allows for a more compact line packing, but the user must ensure that +% the interline spacing is large enough to prevent \IEEEauthorrefmark{} from colliding +% with the text above. +% V1.7 make this a robust command +\DeclareRobustCommand*{\IEEEauthorrefmark}[1]{\raisebox{0pt}[0pt][0pt]{\textsuperscript{\footnotesize\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or% + \mathsection\or \mathparagraph\or \|\or **\or \dagger\dagger% + \or \ddagger\ddagger \else\textsuperscript{\expandafter\romannumeral#1}\fi}}}} + + +% FONT CONTROLS AND SPACINGS FOR CONFERENCE MODE AUTHOR NAME AND AFFILIATION BLOCKS +% +% The default font styles for the author name and affiliation blocks (confmode) +\def\@IEEEauthorblockNstyle{\normalfont\@IEEEcompsocnotconfonly{\sffamily}\sublargesize\@IEEEcompsocconfonly{\large}} +\def\@IEEEauthorblockAstyle{\normalfont\@IEEEcompsocnotconfonly{\sffamily}\@IEEEcompsocconfonly{\itshape}\normalsize\@IEEEcompsocconfonly{\large}} +% The default if the user does not use an author block +\def\@IEEEauthordefaulttextstyle{\normalfont\@IEEEcompsocnotconfonly{\sffamily}\sublargesize} + +% spacing from title (or special paper notice) to author name blocks (confmode) +% can be negative +\def\@IEEEauthorblockconfadjspace{-0.25em} +% compsoc conferences need more space here +\@IEEEcompsocconfonly{\def\@IEEEauthorblockconfadjspace{0.75\@IEEEnormalsizeunitybaselineskip}} +\ifCLASSOPTIONconference\def\@IEEEauthorblockconfadjspace{20pt}\fi + +% spacing between name and affiliation blocks (confmode) +% This can be negative. +% IEEE doesn't want any added spacing here, but I will leave these +% controls in place in case they ever change their mind. +% Personally, I like 0.75ex. +%\def\@IEEEauthorblockNtopspace{0.75ex} +%\def\@IEEEauthorblockAtopspace{0.75ex} +\def\@IEEEauthorblockNtopspace{0.0ex} +\def\@IEEEauthorblockAtopspace{0.0ex} +% baseline spacing within name and affiliation blocks (confmode) +% must be positive, spacings below certain values will make +% the position of line of text sensitive to the contents of the +% line above it i.e., whether or not the prior line has descenders, +% subscripts, etc. For this reason it is a good idea to keep +% these above 2.6ex +\def\@IEEEauthorblockNinterlinespace{2.6ex} +\def\@IEEEauthorblockAinterlinespace{2.75ex} + +% This tracks the required strut size. +% See the \@IEEEauthorhalign command for the actual default value used. +\def\@IEEEauthorblockXinterlinespace{2.7ex} + +% variables to retain font size and style across groups +% values given here have no effect as they will be overwritten later +\gdef\@IEEESAVESTATEfontsize{10} +\gdef\@IEEESAVESTATEfontbaselineskip{12} +\gdef\@IEEESAVESTATEfontencoding{OT1} +\gdef\@IEEESAVESTATEfontfamily{ptm} +\gdef\@IEEESAVESTATEfontseries{m} +\gdef\@IEEESAVESTATEfontshape{n} + +% saves the current font attributes +\def\@IEEEcurfontSAVE{\global\let\@IEEESAVESTATEfontsize\f@size% +\global\let\@IEEESAVESTATEfontbaselineskip\f@baselineskip% +\global\let\@IEEESAVESTATEfontencoding\f@encoding% +\global\let\@IEEESAVESTATEfontfamily\f@family% +\global\let\@IEEESAVESTATEfontseries\f@series% +\global\let\@IEEESAVESTATEfontshape\f@shape} + +% restores the saved font attributes +\def\@IEEEcurfontRESTORE{\fontsize{\@IEEESAVESTATEfontsize}{\@IEEESAVESTATEfontbaselineskip}% +\fontencoding{\@IEEESAVESTATEfontencoding}% +\fontfamily{\@IEEESAVESTATEfontfamily}% +\fontseries{\@IEEESAVESTATEfontseries}% +\fontshape{\@IEEESAVESTATEfontshape}% +\selectfont} + + +% variable to indicate if the current block is the first block in the column +\newif\if@IEEEprevauthorblockincol \@IEEEprevauthorblockincolfalse + + +% the command places a strut with height and depth = \@IEEEauthorblockXinterlinespace +% we use this technique to have complete manual control over the spacing of the lines +% within the halign environment. +% We set the below baseline portion at 30%, the above +% baseline portion at 70% of the total length. +% Responds to changes in the document's \baselinestretch +\def\@IEEEauthorstrutrule{\@IEEEtrantmpdimenA\@IEEEauthorblockXinterlinespace% +\@IEEEtrantmpdimenA=\baselinestretch\@IEEEtrantmpdimenA% +\rule[-0.3\@IEEEtrantmpdimenA]{0pt}{\@IEEEtrantmpdimenA}} + + +% blocks to hold the authors' names and affilations. +% Makes formatting easy for conferences +% +% use real definitions in conference mode +% name block +\def\IEEEauthorblockN#1{\relax\@IEEEauthorblockNstyle% set the default text style +\gdef\@IEEEauthorblockXinterlinespace{0pt}% disable strut for spacer row +% the \expandafter hides the \cr in conditional tex, see the array.sty docs +% for details, probably not needed here as the \cr is in a macro +% do a spacer row if needed +\if@IEEEprevauthorblockincol\expandafter\@IEEEauthorblockNtopspaceline\fi +\global\@IEEEprevauthorblockincoltrue% we now have a block in this column +%restore the correct strut value +\gdef\@IEEEauthorblockXinterlinespace{\@IEEEauthorblockNinterlinespace}% +% input the author names +#1% +% end the row if the user did not already +\crcr} +% spacer row for names +\def\@IEEEauthorblockNtopspaceline{\cr\noalign{\vskip\@IEEEauthorblockNtopspace}} +% +% affiliation block +\def\IEEEauthorblockA#1{\relax\@IEEEauthorblockAstyle% set the default text style +\gdef\@IEEEauthorblockXinterlinespace{0pt}%disable strut for spacer row +% the \expandafter hides the \cr in conditional tex, see the array.sty docs +% for details, probably not needed here as the \cr is in a macro +% do a spacer row if needed +\if@IEEEprevauthorblockincol\expandafter\@IEEEauthorblockAtopspaceline\fi +\global\@IEEEprevauthorblockincoltrue% we now have a block in this column +%restore the correct strut value +\gdef\@IEEEauthorblockXinterlinespace{\@IEEEauthorblockAinterlinespace}% +% input the author affiliations +#1% +% end the row if the user did not already +\crcr} +% spacer row for affiliations +\def\@IEEEauthorblockAtopspaceline{\cr\noalign{\vskip\@IEEEauthorblockAtopspace}} + + +% allow papers to compile even if author blocks are used in modes other +% than conference or peerreviewca. For such cases, we provide dummy blocks. +\ifCLASSOPTIONconference +\else + \ifCLASSOPTIONpeerreviewca\else + % not conference or peerreviewca mode + \def\IEEEauthorblockN#1{#1}% + \def\IEEEauthorblockA#1{#1}% + \fi +\fi + + + +% we provide our own halign so as not to have to depend on tabular +\def\@IEEEauthorhalign{\@IEEEauthordefaulttextstyle% default text style + \lineskip=0pt\relax% disable line spacing + \lineskiplimit=0pt\relax% + \baselineskip=0pt\relax% + \@IEEEcurfontSAVE% save the current font + \mathsurround\z@\relax% no extra spacing around math + \let\\\@IEEEauthorhaligncr% replace newline with halign friendly one + \tabskip=0pt\relax% no column spacing + \everycr{}% ensure no problems here + \@IEEEprevauthorblockincolfalse% no author blocks yet + \def\@IEEEauthorblockXinterlinespace{2.7ex}% default interline space + \vtop\bgroup%vtop box + \halign\bgroup&\relax\hfil\@IEEEcurfontRESTORE\relax ##\relax + \hfil\@IEEEcurfontSAVE\@IEEEauthorstrutrule\cr} + +% ensure last line, exit from halign, close vbox +\def\end@IEEEauthorhalign{\crcr\egroup\egroup} + +% handle bogus star form +\def\@IEEEauthorhaligncr{{\ifnum0=`}\fi\@ifstar{\@@IEEEauthorhaligncr}{\@@IEEEauthorhaligncr}} + +% test and setup the optional argument to \\[] +\def\@@IEEEauthorhaligncr{\@testopt\@@@IEEEauthorhaligncr\z@skip} + +% end the line and do the optional spacer +\def\@@@IEEEauthorhaligncr[#1]{\ifnum0=`{\fi}\cr\noalign{\vskip#1\relax}} + + + +% flag to prevent multiple \and warning messages +\newif\if@IEEEWARNand +\@IEEEWARNandtrue + +% if in conference or peerreviewca modes, we support the use of \and as \author is a +% tabular environment, otherwise we warn the user that \and is invalid +% outside of conference or peerreviewca modes. +\def\and{\relax} % provide a bogus \and that we will then override + +\renewcommand{\and}[1][\relax]{\if@IEEEWARNand\typeout{** WARNING: \noexpand\and is valid only + when in conference or peerreviewca}\typeout{modes (line \the\inputlineno).}\fi\global\@IEEEWARNandfalse} + +\ifCLASSOPTIONconference% +\renewcommand{\and}[1][\hfill]{\end{@IEEEauthorhalign}#1\begin{@IEEEauthorhalign}}% +\fi +\ifCLASSOPTIONpeerreviewca +\renewcommand{\and}[1][\hfill]{\end{@IEEEauthorhalign}#1\begin{@IEEEauthorhalign}}% +\fi + + +% page clearing command +% based on LaTeX2e's \cleardoublepage, but allows different page styles +% for the inserted blank pages +\def\@IEEEcleardoublepage#1{\clearpage\if@twoside\ifodd\c@page\else +\hbox{}\thispagestyle{#1}\newpage\if@twocolumn\hbox{}\thispagestyle{#1}\newpage\fi\fi\fi} + + +% user command to invoke the title page +\def\maketitle{\par% + \begingroup% + \normalfont% + \def\thefootnote{}% the \thanks{} mark type is empty + \def\footnotemark{}% and kill space from \thanks within author + \let\@makefnmark\relax% V1.7, must *really* kill footnotemark to remove all \textsuperscript spacing as well. + \footnotesize% equal spacing between thanks lines + \footnotesep 0.7\baselineskip%see global setting of \footnotesep for more info + % V1.7 disable \thanks note indention for compsoc + \@IEEEcompsoconly{\long\def\@makefntext##1{\parindent 1em\noindent\hbox{\@makefnmark}##1}}% + \normalsize% + \ifCLASSOPTIONpeerreview + \newpage\global\@topnum\z@ \@maketitle\@IEEEstatictitlevskip\@IEEEaftertitletext% + \thispagestyle{IEEEpeerreviewcoverpagestyle}\@thanks% + \else + \if@twocolumn% + \ifCLASSOPTIONtechnote% + \newpage\global\@topnum\z@ \@maketitle\@IEEEstatictitlevskip\@IEEEaftertitletext% + \else + \twocolumn[\@maketitle\@IEEEstatictitlevskip\@IEEEaftertitletext]% + \fi + \else + \newpage\global\@topnum\z@ \@maketitle\@IEEEstatictitlevskip\@IEEEaftertitletext% + \fi + \thispagestyle{IEEEtitlepagestyle}\@thanks% + \fi + % pullup page for pubid if used. + \if@IEEEusingpubid + \enlargethispage{-\@IEEEpubidpullup}% + \fi + \endgroup + \setcounter{footnote}{0}\let\maketitle\relax\let\@maketitle\relax + \gdef\@thanks{}% + % v1.6b do not clear these as we will need the title again for peer review papers + % \gdef\@author{}\gdef\@title{}% + \let\thanks\relax} + + + +% V1.7 parbox to format \@IEEEcompsoctitleabstractindextext +\long\def\@IEEEcompsoctitleabstractindextextbox#1{\parbox{0.915\textwidth}{#1}} + +% formats the Title, authors names, affiliations and special paper notice +% THIS IS A CONTROLLED SPACING COMMAND! Do not allow blank lines or unintentional +% spaces to enter the definition - use % at the end of each line +\def\@maketitle{\newpage +\begingroup\centering +\ifCLASSOPTIONtechnote% technotes + {\bfseries\large\@IEEEcompsoconly{\sffamily}\@title\par}\vskip 1.3em{\lineskip .5em\@IEEEcompsoconly{\sffamily}\@author + \@IEEEspecialpapernotice\par{\@IEEEcompsoconly{\vskip 1.5em\relax + \@IEEEcompsoctitleabstractindextextbox{\@IEEEcompsoctitleabstractindextext}\par + \hfill\@IEEEcompsocdiamondline\hfill\hbox{}\par}}}\relax +\else% not a technote + \vskip0.2em{\Huge\@IEEEcompsoconly{\sffamily}\@IEEEcompsocconfonly{\normalfont\normalsize\vskip 2\@IEEEnormalsizeunitybaselineskip + \bfseries\Large}\@title\par}\vskip1.0em\par% + % V1.6 handle \author differently if in conference mode + \ifCLASSOPTIONconference% + {\@IEEEspecialpapernotice\mbox{}\vskip\@IEEEauthorblockconfadjspace% + \mbox{}\hfill\begin{@IEEEauthorhalign}\@author\end{@IEEEauthorhalign}\hfill\mbox{}\par}\relax + \else% peerreviewca, peerreview or journal + \ifCLASSOPTIONpeerreviewca + % peerreviewca handles author names just like conference mode + {\@IEEEcompsoconly{\sffamily}\@IEEEspecialpapernotice\mbox{}\vskip\@IEEEauthorblockconfadjspace% + \mbox{}\hfill\begin{@IEEEauthorhalign}\@author\end{@IEEEauthorhalign}\hfill\mbox{}\par + {\@IEEEcompsoconly{\vskip 1.5em\relax + \@IEEEcompsoctitleabstractindextextbox{\@IEEEcompsoctitleabstractindextext}\par\hfill + \@IEEEcompsocdiamondline\hfill\hbox{}\par}}}\relax + \else% journal or peerreview + {\lineskip.5em\@IEEEcompsoconly{\sffamily}\sublargesize\@author\@IEEEspecialpapernotice\par + {\@IEEEcompsoconly{\vskip 1.5em\relax + \@IEEEcompsoctitleabstractindextextbox{\@IEEEcompsoctitleabstractindextext}\par\hfill + \@IEEEcompsocdiamondline\hfill\hbox{}\par}}}\relax + \fi + \fi +\fi\par\endgroup} + + + +% V1.7 Computer Society "diamond line" which follows index terms for nonconference papers +\def\@IEEEcompsocdiamondline{\vrule depth 0pt height 0.5pt width 4cm\hspace{7.5pt}% +\raisebox{-3.5pt}{\fontfamily{pzd}\fontencoding{U}\fontseries{m}\fontshape{n}\fontsize{11}{12}\selectfont\char70}% +\hspace{7.5pt}\vrule depth 0pt height 0.5pt width 4cm\relax} + +% V1.7 standard LateX2e \thanks, but with \itshape under compsoc. Also make it a \long\def +% We also need to trigger the one-shot footnote rule +\def\@IEEEtriggeroneshotfootnoterule{\global\@IEEEenableoneshotfootnoteruletrue} + + +\long\def\thanks#1{\footnotemark + \protected@xdef\@thanks{\@thanks + \protect\footnotetext[\the\c@footnote]{\@IEEEcompsoconly{\itshape + \protect\@IEEEtriggeroneshotfootnoterule\relax}\ignorespaces#1}}} +\let\@thanks\@empty + +% V1.7 allow \author to contain \par's. This is needed to allow \thanks to contain \par. +\long\def\author#1{\gdef\@author{#1}} + + +% in addition to setting up IEEEitemize, we need to remove a baselineskip space above and +% below it because \list's \pars introduce blank lines because of the footnote struts. +\def\@IEEEsetupcompsocitemizelist{\def\labelitemi{$\bullet$}% +\setlength{\IEEElabelindent}{0pt}\setlength{\parskip}{0pt}% +\setlength{\partopsep}{0pt}\setlength{\topsep}{0.5\baselineskip}\vspace{-1\baselineskip}\relax} + + +% flag for fake non-compsoc \IEEEcompsocthanksitem - prevents line break on very first item +\newif\if@IEEEbreakcompsocthanksitem \@IEEEbreakcompsocthanksitemfalse + +\ifCLASSOPTIONcompsoc +% V1.7 compsoc bullet item \thanks +% also, we need to redefine this to destroy the argument in \@IEEEdynamictitlevspace +\long\def\IEEEcompsocitemizethanks#1{\relax\@IEEEbreakcompsocthanksitemfalse\footnotemark + \protected@xdef\@thanks{\@thanks + \protect\footnotetext[\the\c@footnote]{\itshape\protect\@IEEEtriggeroneshotfootnoterule + {\let\IEEEiedlistdecl\relax\protect\begin{IEEEitemize}[\protect\@IEEEsetupcompsocitemizelist]\ignorespaces#1\relax + \protect\end{IEEEitemize}}\protect\vspace{-1\baselineskip}}}} +\DeclareRobustCommand*{\IEEEcompsocthanksitem}{\item} +\else +% non-compsoc, allow for dual compilation via rerouting to normal \thanks +\long\def\IEEEcompsocitemizethanks#1{\thanks{#1}} +% redirect to "pseudo-par" \hfil\break\indent after swallowing [] from \IEEEcompsocthanksitem[] +\DeclareRobustCommand{\IEEEcompsocthanksitem}{\@ifnextchar [{\@IEEEthanksswallowoptionalarg}% +{\@IEEEthanksswallowoptionalarg[\relax]}} +% be sure and break only after first item, be sure and ignore spaces after optional argument +\def\@IEEEthanksswallowoptionalarg[#1]{\relax\if@IEEEbreakcompsocthanksitem\hfil\break +\indent\fi\@IEEEbreakcompsocthanksitemtrue\ignorespaces} +\fi + + +% V1.6b define the \IEEEpeerreviewmaketitle as needed +\ifCLASSOPTIONpeerreview +\def\IEEEpeerreviewmaketitle{\@IEEEcleardoublepage{empty}% +\ifCLASSOPTIONtwocolumn +\twocolumn[\@IEEEpeerreviewmaketitle\@IEEEdynamictitlevspace] +\else +\newpage\@IEEEpeerreviewmaketitle\@IEEEstatictitlevskip +\fi +\thispagestyle{IEEEtitlepagestyle}} +\else +% \IEEEpeerreviewmaketitle does nothing if peer review option has not been selected +\def\IEEEpeerreviewmaketitle{\relax} +\fi + +% peerreview formats the repeated title like the title in journal papers. +\def\@IEEEpeerreviewmaketitle{\begin{center}\@IEEEcompsoconly{\sffamily}% +\normalfont\normalsize\vskip0.2em{\Huge\@title\par}\vskip1.0em\par +\end{center}} + + + +% V1.6 +% this is a static rubber spacer between the title/authors and the main text +% used for single column text, or when the title appears in the first column +% of two column text (technotes). +\def\@IEEEstatictitlevskip{{\normalfont\normalsize +% adjust spacing to next text +% v1.6b handle peer review papers +\ifCLASSOPTIONpeerreview +% for peer review papers, the same value is used for both title pages +% regardless of the other paper modes + \vskip 1\baselineskip plus 0.375\baselineskip minus 0.1875\baselineskip +\else + \ifCLASSOPTIONconference% conference + \vskip 0.6\baselineskip + \else% + \ifCLASSOPTIONtechnote% technote + \vskip 1\baselineskip plus 0.375\baselineskip minus 0.1875\baselineskip% + \else% journal uses more space + \vskip 2.5\baselineskip plus 0.75\baselineskip minus 0.375\baselineskip% + \fi + \fi +\fi}} + + +% V1.6 +% This is a dynamically determined rigid spacer between the title/authors +% and the main text. This is used only for single column titles over two +% column text (most common) +% This is bit tricky because we have to ensure that the textheight of the +% main text is an integer multiple of \baselineskip +% otherwise underfull vbox problems may develop in the second column of the +% text on the titlepage +% The possible use of \IEEEpubid must also be taken into account. +\def\@IEEEdynamictitlevspace{{% + % we run within a group so that all the macros can be forgotten when we are done + \long\def\thanks##1{\relax}%don't allow \thanks to run when we evaluate the vbox height + \long\def\IEEEcompsocitemizethanks##1{\relax}%don't allow \IEEEcompsocitemizethanks to run when we evaluate the vbox height + \normalfont\normalsize% we declare more descriptive variable names + \let\@IEEEmaintextheight=\@IEEEtrantmpdimenA%height of the main text columns + \let\@IEEEINTmaintextheight=\@IEEEtrantmpdimenB%height of the main text columns with integer # lines + % set the nominal and minimum values for the title spacer + % the dynamic algorithm will not allow the spacer size to + % become less than \@IEEEMINtitlevspace - instead it will be + % lengthened + % default to journal values + \def\@IEEENORMtitlevspace{2.5\baselineskip}% + \def\@IEEEMINtitlevspace{2\baselineskip}% + % conferences and technotes need tighter spacing + \ifCLASSOPTIONconference%conference + \def\@IEEENORMtitlevspace{1\baselineskip}% + \def\@IEEEMINtitlevspace{0.75\baselineskip}% + \fi + \ifCLASSOPTIONtechnote%technote + \def\@IEEENORMtitlevspace{1\baselineskip}% + \def\@IEEEMINtitlevspace{0.75\baselineskip}% + \fi% + % get the height that the title will take up + \ifCLASSOPTIONpeerreview + \settoheight{\@IEEEmaintextheight}{\vbox{\hsize\textwidth \@IEEEpeerreviewmaketitle}}% + \else + \settoheight{\@IEEEmaintextheight}{\vbox{\hsize\textwidth \@maketitle}}% + \fi + \@IEEEmaintextheight=-\@IEEEmaintextheight% title takes away from maintext, so reverse sign + % add the height of the page textheight + \advance\@IEEEmaintextheight by \textheight% + % correct for title pages using pubid + \ifCLASSOPTIONpeerreview\else + % peerreview papers use the pubid on the cover page only. + % And the cover page uses a static spacer. + \if@IEEEusingpubid\advance\@IEEEmaintextheight by -\@IEEEpubidpullup\fi + \fi% + % subtract off the nominal value of the title bottom spacer + \advance\@IEEEmaintextheight by -\@IEEENORMtitlevspace% + % \topskip takes away some too + \advance\@IEEEmaintextheight by -\topskip% + % calculate the column height of the main text for lines + % now we calculate the main text height as if holding + % an integer number of \normalsize lines after the first + % and discard any excess fractional remainder + % we subtracted the first line, because the first line + % is placed \topskip into the maintext, not \baselineskip like the + % rest of the lines. + \@IEEEINTmaintextheight=\@IEEEmaintextheight% + \divide\@IEEEINTmaintextheight by \baselineskip% + \multiply\@IEEEINTmaintextheight by \baselineskip% + % now we calculate how much the title spacer height will + % have to be reduced from nominal (\@IEEEREDUCEmaintextheight is always + % a positive value) so that the maintext area will contain an integer + % number of normal size lines + % we change variable names here (to avoid confusion) as we no longer + % need \@IEEEINTmaintextheight and can reuse its dimen register + \let\@IEEEREDUCEmaintextheight=\@IEEEINTmaintextheight% + \advance\@IEEEREDUCEmaintextheight by -\@IEEEmaintextheight% + \advance\@IEEEREDUCEmaintextheight by \baselineskip% + % this is the calculated height of the spacer + % we change variable names here (to avoid confusion) as we no longer + % need \@IEEEmaintextheight and can reuse its dimen register + \let\@IEEECOMPENSATElen=\@IEEEmaintextheight% + \@IEEECOMPENSATElen=\@IEEENORMtitlevspace% set the nominal value + % we go with the reduced length if it is smaller than an increase + \ifdim\@IEEEREDUCEmaintextheight < 0.5\baselineskip\relax% + \advance\@IEEECOMPENSATElen by -\@IEEEREDUCEmaintextheight% + % if the resulting spacer is too small back out and go with an increase instead + \ifdim\@IEEECOMPENSATElen<\@IEEEMINtitlevspace\relax% + \advance\@IEEECOMPENSATElen by \baselineskip% + \fi% + \else% + % go with an increase because it is closer to the nominal than a decrease + \advance\@IEEECOMPENSATElen by -\@IEEEREDUCEmaintextheight% + \advance\@IEEECOMPENSATElen by \baselineskip% + \fi% + % set the calculated rigid spacer + \vspace{\@IEEECOMPENSATElen}}} + + + +% V1.6 +% we allow the user access to the last part of the title area +% useful in emergencies such as when a different spacing is needed +% This text is NOT compensated for in the dynamic sizer. +\let\@IEEEaftertitletext=\relax +\long\def\IEEEaftertitletext#1{\def\@IEEEaftertitletext{#1}} + +% V1.7 provide a way for users to enter abstract and keywords +% into the onecolumn title are. This text is compensated for +% in the dynamic sizer. +\let\@IEEEcompsoctitleabstractindextext=\relax +\long\def\IEEEcompsoctitleabstractindextext#1{\def\@IEEEcompsoctitleabstractindextext{#1}} +% V1.7 provide a way for users to get the \@IEEEcompsoctitleabstractindextext if +% not in compsoc journal mode - this way abstract and keywords can be placed +% in their conventional position if not in compsoc mode. +\def\IEEEdisplaynotcompsoctitleabstractindextext{% +\ifCLASSOPTIONcompsoc% display if compsoc conf +\ifCLASSOPTIONconference\@IEEEcompsoctitleabstractindextext\fi +\else% or if not compsoc +\@IEEEcompsoctitleabstractindextext\fi} + + +% command to allow alteration of baselinestretch, but only if the current +% baselineskip is unity. Used to tweak the compsoc abstract and keywords line spacing. +\def\@IEEEtweakunitybaselinestretch#1{{\def\baselinestretch{1}\selectfont +\global\@tempskipa\baselineskip}\ifnum\@tempskipa=\baselineskip% +\def\baselinestretch{#1}\selectfont\fi\relax} + + +% abstract and keywords are in \small, except +% for 9pt docs in which they are in \footnotesize +% Because 9pt docs use an 8pt footnotesize, \small +% becomes a rather awkward 8.5pt +\def\@IEEEabskeysecsize{\small} +\ifx\CLASSOPTIONpt\@IEEEptsizenine + \def\@IEEEabskeysecsize{\footnotesize} +\fi + +% compsoc journals use \footnotesize, compsoc conferences use normalsize +\@IEEEcompsoconly{\def\@IEEEabskeysecsize{\footnotesize}} +\@IEEEcompsocconfonly{\def\@IEEEabskeysecsize{\normalsize}} + + + + +% V1.6 have abstract and keywords strip leading spaces, pars and newlines +% so that spacing is more tightly controlled. +\def\abstract{\normalfont + \if@twocolumn + \par\@IEEEabskeysecsize\bfseries\leavevmode\kern-1pt\textit{\abstractname}---\relax + \else + \begin{center}\vspace{-1.78ex}\@IEEEabskeysecsize\textbf{\abstractname}\end{center}\quotation\@IEEEabskeysecsize + \fi\@IEEEgobbleleadPARNLSP} +% V1.6 IEEE wants only 1 pica from end of abstract to introduction heading when in +% conference mode (the heading already has this much above it) +\def\endabstract{\relax\ifCLASSOPTIONconference\vspace{0ex}\else\vspace{1.34ex}\fi\par\if@twocolumn\else\endquotation\fi + \normalfont\normalsize} + +\def\IEEEkeywords{\normalfont + \if@twocolumn + \@IEEEabskeysecsize\bfseries\leavevmode\kern-1pt\textit{\IEEEkeywordsname}---\relax + \else + \begin{center}\@IEEEabskeysecsize\textbf{\IEEEkeywordsname}\end{center}\quotation\@IEEEabskeysecsize + \fi\itshape\@IEEEgobbleleadPARNLSP} +\def\endIEEEkeywords{\relax\ifCLASSOPTIONtechnote\vspace{1.34ex}\else\vspace{0.5ex}\fi + \par\if@twocolumn\else\endquotation\fi% + \normalfont\normalsize} + +% V1.7 compsoc keywords index terms +\ifCLASSOPTIONcompsoc + \ifCLASSOPTIONconference% compsoc conference +\def\abstract{\normalfont + \begin{center}\@IEEEabskeysecsize\textbf{\large\abstractname}\end{center}\vskip 0.5\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip + \if@twocolumn\else\quotation\fi\itshape\@IEEEabskeysecsize% + \par\@IEEEgobbleleadPARNLSP} +\def\IEEEkeywords{\normalfont\vskip 1.5\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip + \begin{center}\@IEEEabskeysecsize\textbf{\large\IEEEkeywordsname}\end{center}\vskip 0.5\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip + \if@twocolumn\else\quotation\fi\itshape\@IEEEabskeysecsize% + \par\@IEEEgobbleleadPARNLSP} + \else% compsoc not conference +\def\abstract{\normalfont\@IEEEtweakunitybaselinestretch{1.15}\sffamily + \if@twocolumn + \@IEEEabskeysecsize\noindent\textbf{\abstractname}---\relax + \else + \begin{center}\vspace{-1.78ex}\@IEEEabskeysecsize\textbf{\abstractname}\end{center}\quotation\@IEEEabskeysecsize% + \fi\@IEEEgobbleleadPARNLSP} +\def\IEEEkeywords{\normalfont\@IEEEtweakunitybaselinestretch{1.15}\sffamily + \if@twocolumn + \@IEEEabskeysecsize\vskip 0.5\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip\noindent + \textbf{\IEEEkeywordsname}---\relax + \else + \begin{center}\@IEEEabskeysecsize\textbf{\IEEEkeywordsname}\end{center}\quotation\@IEEEabskeysecsize% + \fi\@IEEEgobbleleadPARNLSP} + \fi +\fi + + + +% gobbles all leading \, \\ and \par, upon finding first token that +% is not a \ , \\ or a \par, it ceases and returns that token +% +% used to strip leading \, \\ and \par from the input +% so that such things in the beginning of an environment will not +% affect the formatting of the text +\long\def\@IEEEgobbleleadPARNLSP#1{\let\@IEEEswallowthistoken=0% +\let\@IEEEgobbleleadPARNLSPtoken#1% +\let\@IEEEgobbleleadPARtoken=\par% +\let\@IEEEgobbleleadNLtoken=\\% +\let\@IEEEgobbleleadSPtoken=\ % +\def\@IEEEgobbleleadSPMACRO{\ }% +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadPARtoken% +\let\@IEEEswallowthistoken=1% +\fi% +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadNLtoken% +\let\@IEEEswallowthistoken=1% +\fi% +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadSPtoken% +\let\@IEEEswallowthistoken=1% +\fi% +% a control space will come in as a macro +% when it is the last one on a line +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadSPMACRO% +\let\@IEEEswallowthistoken=1% +\fi% +% if we have to swallow this token, do so and taste the next one +% else spit it out and stop gobbling +\ifx\@IEEEswallowthistoken 1\let\@IEEEnextgobbleleadPARNLSP=\@IEEEgobbleleadPARNLSP\else% +\let\@IEEEnextgobbleleadPARNLSP=#1\fi% +\@IEEEnextgobbleleadPARNLSP}% + + + + +% TITLING OF SECTIONS +\def\@IEEEsectpunct{:\ \,} % Punctuation after run-in section heading (headings which are + % part of the paragraphs), need little bit more than a single space + % spacing from section number to title +% compsoc conferences use regular period/space punctuation +\ifCLASSOPTIONcompsoc +\ifCLASSOPTIONconference +\def\@IEEEsectpunct{.\ } +\fi\fi + +\def\@seccntformat#1{\hb@xt@ 1.4em{\csname the#1dis\endcsname\hss\relax}} +\def\@seccntformatinl#1{\hb@xt@ 1.1em{\csname the#1dis\endcsname\hss\relax}} +\def\@seccntformatch#1{\csname the#1dis\endcsname\hskip 1em\relax} + +\ifCLASSOPTIONcompsoc +% compsoc journals need extra spacing +\ifCLASSOPTIONconference\else +\def\@seccntformat#1{\csname the#1dis\endcsname\hskip 1em\relax} +\fi\fi + +%v1.7 put {} after #6 to allow for some types of user font control +%and use \@@par rather than \par +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + % load section label and spacer into \@svsec + \ifnum #2=1 + \protected@edef\@svsec{\@seccntformatch{#1}\relax}% + \else + \ifnum #2>2 + \protected@edef\@svsec{\@seccntformatinl{#1}\relax}% + \else + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi + \fi + \fi% + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@% tempskipa determines whether is treated as a high + \begingroup #6{\relax% or low level heading + \noindent % subsections are NOT indented + % print top level headings. \@svsec is label, #8 is heading title + % IEEE does not block indent the section title text, it flows like normal + {\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\@@par}}% + \endgroup + \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth\relax\else + \protect\numberline{\csname the#1\endcsname}\fi#7}% + \else % printout low level headings + % svsechd seems to swallow the trailing space, protect it with \mbox{} + % got rid of sectionmark stuff + \def\@svsechd{#6{\hskip #3\relax\@svsec #8\@IEEEsectpunct\mbox{}}% + \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth\relax\else + \protect\numberline{\csname the#1\endcsname}\fi#7}}% + \fi%skip down + \@xsect{#5}} + + +% section* handler +%v1.7 put {} after #4 to allow for some types of user font control +%and use \@@par rather than \par +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + %\begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M #5\par}\endgroup + % IEEE does not block indent the section title text, it flows like normal + \begingroup \noindent #4{\relax{\hskip #1}{\interlinepenalty \@M #5\@@par}}\endgroup + % svsechd swallows the trailing space, protect it with \mbox{} + \else \def\@svsechd{#4{\hskip #1\relax #5\@IEEEsectpunct\mbox{}}}\fi + \@xsect{#3}} + + +%% SECTION heading spacing and font +%% +% arguments are: #1 - sectiontype name +% (for \@sect) #2 - section level +% #3 - section heading indent +% #4 - top separation (absolute value used, neg indicates not to indent main text) +% If negative, make stretch parts negative too! +% #5 - (absolute value used) positive: bottom separation after heading, +% negative: amount to indent main text after heading +% Both #4 and #5 negative means to indent main text and use negative top separation +% #6 - font control +% You've got to have \normalfont\normalsize in the font specs below to prevent +% trouble when you do something like: +% \section{Note}{\ttfamily TT-TEXT} is known to ... +% IEEE sometimes REALLY stretches the area before a section +% heading by up to about 0.5in. However, it may not be a good +% idea to let LaTeX have quite this much rubber. +\ifCLASSOPTIONconference% +% IEEE wants section heading spacing to decrease for conference mode +\def\section{\@startsection{section}{1}{\z@}{1.5ex plus 1.5ex minus 0.5ex}% +{1sp}{\normalfont\normalsize\centering\scshape}}% +\def\subsection{\@startsection{subsection}{2}{\z@}{1.5ex plus 1.5ex minus 0.5ex}% +{1sp}{\normalfont\normalsize\itshape}}% +\else % for journals +\def\section{\@startsection{section}{1}{\z@}{3.0ex plus 1.5ex minus 1.5ex}% V1.6 3.0ex from 3.5ex +{0.7ex plus 1ex minus 0ex}{\normalfont\normalsize\centering\scshape}}% +\def\subsection{\@startsection{subsection}{2}{\z@}{3.5ex plus 1.5ex minus 1.5ex}% +{0.7ex plus .5ex minus 0ex}{\normalfont\normalsize\itshape}}% +\fi + +% for both journals and conferences +% decided to put in a little rubber above the section, might help somebody +\def\subsubsection{\@startsection{subsubsection}{3}{\parindent}{0ex plus 0.1ex minus 0.1ex}% +{0ex}{\normalfont\normalsize\itshape}}% +\def\paragraph{\@startsection{paragraph}{4}{2\parindent}{0ex plus 0.1ex minus 0.1ex}% +{0ex}{\normalfont\normalsize\itshape}}% + + +% compsoc +\ifCLASSOPTIONcompsoc +\ifCLASSOPTIONconference +% compsoc conference +\def\section{\@startsection{section}{1}{\z@}{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}% +{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}{\normalfont\large\bfseries}}% +\def\subsection{\@startsection{subsection}{2}{\z@}{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}% +{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}{\normalfont\sublargesize\bfseries}}% +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}% +{0ex}{\normalfont\normalsize\bfseries}}% +\def\paragraph{\@startsection{paragraph}{4}{2\parindent}{0ex plus 0.1ex minus 0.1ex}% +{0ex}{\normalfont\normalsize}}% +\else% compsoc journals +% use negative top separation as compsoc journals do not indent paragraphs after section titles +\def\section{\@startsection{section}{1}{\z@}{-3ex plus -2ex minus -1.5ex}% +{0.7ex plus 1ex minus 0ex}{\normalfont\large\sffamily\bfseries\scshape}}% +% Note that subsection and smaller may not be correct for the Computer Society, +% I have to look up an example. +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.5ex plus -1.5ex minus -1.5ex}% +{0.7ex plus .5ex minus 0ex}{\normalfont\normalsize\sffamily\bfseries}}% +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-2.5ex plus -1ex minus -1ex}% +{0.5ex plus 0.5ex minus 0ex}{\normalfont\normalsize\sffamily\itshape}}% +\def\paragraph{\@startsection{paragraph}{4}{2\parindent}{-0ex plus -0.1ex minus -0.1ex}% +{0ex}{\normalfont\normalsize}}% +\fi\fi + + + + +%% ENVIRONMENTS +% "box" symbols at end of proofs +\def\IEEEQEDclosed{\mbox{\rule[0pt]{1.3ex}{1.3ex}}} % for a filled box +% V1.6 some journals use an open box instead that will just fit around a closed one +\def\IEEEQEDopen{{\setlength{\fboxsep}{0pt}\setlength{\fboxrule}{0.2pt}\fbox{\rule[0pt]{0pt}{1.3ex}\rule[0pt]{1.3ex}{0pt}}}} +\ifCLASSOPTIONcompsoc +\def\IEEEQED{\IEEEQEDopen} % default to open for compsoc +\else +\def\IEEEQED{\IEEEQEDclosed} % otherwise default to closed +\fi + +% v1.7 name change to avoid namespace collision with amsthm. Also add support +% for an optional argument. +\def\IEEEproof{\@ifnextchar[{\@IEEEproof}{\@IEEEproof[\IEEEproofname]}} +\def\@IEEEproof[#1]{\par\noindent\hspace{2em}{\itshape #1: }} +\def\endIEEEproof{\hspace*{\fill}~\IEEEQED\par} + + +%\itemindent is set to \z@ by list, so define new temporary variable +\newdimen\@IEEEtmpitemindent +\def\@begintheorem#1#2{\@IEEEtmpitemindent\itemindent\topsep 0pt\rmfamily\trivlist% + \item[\hskip \labelsep{\indent\itshape #1\ #2:}]\itemindent\@IEEEtmpitemindent} +\def\@opargbegintheorem#1#2#3{\@IEEEtmpitemindent\itemindent\topsep 0pt\rmfamily \trivlist% +% V1.6 IEEE is back to using () around theorem names which are also in italics +% Thanks to Christian Peel for reporting this. + \item[\hskip\labelsep{\indent\itshape #1\ #2\ (#3):}]\itemindent\@IEEEtmpitemindent} +% V1.7 remove bogus \unskip that caused equations in theorems to collide with +% lines below. +\def\@endtheorem{\endtrivlist} + +% V1.6 +% display command for the section the theorem is in - so that \thesection +% is not used as this will be in Roman numerals when we want arabic. +% LaTeX2e uses \def\@thmcounter#1{\noexpand\arabic{#1}} for the theorem number +% (second part) display and \def\@thmcountersep{.} as a separator. +% V1.7 intercept calls to the section counter and reroute to \@IEEEthmcounterinsection +% to allow \appendix(ices} to override as needed. +% +% special handler for sections, allows appendix(ices) to override +\gdef\@IEEEthmcounterinsection#1{\arabic{#1}} +% string macro +\edef\@IEEEstringsection{section} + +% redefine the #1#2[#3] form of newtheorem to use a hook to \@IEEEthmcounterinsection +% if section in_counter is used +\def\@xnthm#1#2[#3]{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}\@newctr{#1}[#3]% + \edef\@IEEEstringtmp{#3} + \ifx\@IEEEstringtmp\@IEEEstringsection + \expandafter\xdef\csname the#1\endcsname{% + \noexpand\@IEEEthmcounterinsection{#3}\@thmcountersep + \@thmcounter{#1}}% + \else + \expandafter\xdef\csname the#1\endcsname{% + \expandafter\noexpand\csname the#3\endcsname \@thmcountersep + \@thmcounter{#1}}% + \fi + \global\@namedef{#1}{\@thm{#1}{#2}}% + \global\@namedef{end#1}{\@endtheorem}}} + + + +%% SET UP THE DEFAULT PAGESTYLE +\ps@headings +\pagenumbering{arabic} + +% normally the page counter starts at 1 +\setcounter{page}{1} +% however, for peerreview the cover sheet is page 0 or page -1 +% (for duplex printing) +\ifCLASSOPTIONpeerreview + \if@twoside + \setcounter{page}{-1} + \else + \setcounter{page}{0} + \fi +\fi + +% standard book class behavior - let bottom line float up and down as +% needed when single sided +\ifCLASSOPTIONtwoside\else\raggedbottom\fi +% if two column - turn on twocolumn, allow word spacings to stretch more and +% enforce a rigid position for the last lines +\ifCLASSOPTIONtwocolumn +% the peer review option delays invoking twocolumn + \ifCLASSOPTIONpeerreview\else + \twocolumn + \fi +\sloppy +\flushbottom +\fi + + + + +% \APPENDIX and \APPENDICES definitions + +% This is the \@ifmtarg command from the LaTeX ifmtarg package +% by Peter Wilson (CUA) and Donald Arseneau +% \@ifmtarg is used to determine if an argument to a command +% is present or not. +% For instance: +% \@ifmtarg{#1}{\typeout{empty}}{\typeout{has something}} +% \@ifmtarg is used with our redefined \section command if +% \appendices is invoked. +% The command \section will behave slightly differently depending +% on whether the user specifies a title: +% \section{My appendix title} +% or not: +% \section{} +% This way, we can eliminate the blank lines where the title +% would be, and the unneeded : after Appendix in the table of +% contents +\begingroup +\catcode`\Q=3 +\long\gdef\@ifmtarg#1{\@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil} +\long\gdef\@xifmtarg#1#2Q#3#4#5\@nil{#4} +\endgroup +% end of \@ifmtarg defs + + +% V1.7 +% command that allows the one time saving of the original definition +% of section to \@IEEEappendixsavesection for \appendix or \appendices +% we don't save \section here as it may be redefined later by other +% packages (hyperref.sty, etc.) +\def\@IEEEsaveoriginalsectiononce{\let\@IEEEappendixsavesection\section +\let\@IEEEsaveoriginalsectiononce\relax} + +% neat trick to grab and process the argument from \section{argument} +% we process differently if the user invoked \section{} with no +% argument (title) +% note we reroute the call to the old \section* +\def\@IEEEprocessthesectionargument#1{% +\@ifmtarg{#1}{% +\@IEEEappendixsavesection*{\appendixname~\thesectiondis}% +\addcontentsline{toc}{section}{\appendixname~\thesection}}{% +\@IEEEappendixsavesection*{\appendixname~\thesectiondis \\* #1}% +\addcontentsline{toc}{section}{\appendixname~\thesection: #1}}} + +% we use this if the user calls \section{} after +% \appendix-- which has no meaning. So, we ignore the +% command and its argument. Then, warn the user. +\def\@IEEEdestroythesectionargument#1{\typeout{** WARNING: Ignoring useless +\protect\section\space in Appendix (line \the\inputlineno).}} + + +% remember \thesection forms will be displayed in \ref calls +% and in the Table of Contents. +% The \sectiondis form is used in the actual heading itself + +% appendix command for one single appendix +% normally has no heading. However, if you want a +% heading, you can do so via the optional argument: +% \appendix[Optional Heading] +\def\appendix{\relax} +\renewcommand{\appendix}[1][]{\@IEEEsaveoriginalsectiononce\par + % v1.6 keep hyperref's identifiers unique + \gdef\theHsection{Appendix.A}% + % v1.6 adjust hyperref's string name for the section + \xdef\Hy@chapapp{appendix}% + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \setcounter{subsubsection}{0}% + \setcounter{paragraph}{0}% + \gdef\thesection{A}% + \gdef\thesectiondis{}% + \gdef\thesubsection{\Alph{subsection}}% + \gdef\@IEEEthmcounterinsection##1{A} + \refstepcounter{section}% update the \ref counter + \@ifmtarg{#1}{\@IEEEappendixsavesection*{\appendixname}% + \addcontentsline{toc}{section}{\appendixname}}{% + \@IEEEappendixsavesection*{\appendixname~\\* #1}% + \addcontentsline{toc}{section}{\appendixname: #1}}% + % redefine \section command for appendix + % leave \section* as is + \def\section{\@ifstar{\@IEEEappendixsavesection*}{% + \@IEEEdestroythesectionargument}}% throw out the argument + % of the normal form +} + + + +% appendices command for multiple appendices +% user then calls \section with an argument (possibly empty) to +% declare the individual appendices +\def\appendices{\@IEEEsaveoriginalsectiononce\par + % v1.6 keep hyperref's identifiers unique + \gdef\theHsection{Appendix.\Alph{section}}% + % v1.6 adjust hyperref's string name for the section + \xdef\Hy@chapapp{appendix}% + \setcounter{section}{-1}% we want \refstepcounter to use section 0 + \setcounter{subsection}{0}% + \setcounter{subsubsection}{0}% + \setcounter{paragraph}{0}% + \ifCLASSOPTIONromanappendices% + \gdef\thesection{\Roman{section}}% + \gdef\thesectiondis{\Roman{section}}% + \@IEEEcompsocconfonly{\gdef\thesectiondis{\Roman{section}.}}% + \gdef\@IEEEthmcounterinsection##1{A\arabic{##1}} + \else% + \gdef\thesection{\Alph{section}}% + \gdef\thesectiondis{\Alph{section}}% + \@IEEEcompsocconfonly{\gdef\thesectiondis{\Alph{section}.}}% + \gdef\@IEEEthmcounterinsection##1{\Alph{##1}} + \fi% + \refstepcounter{section}% update the \ref counter + \setcounter{section}{0}% NEXT \section will be the FIRST appendix + % redefine \section command for appendices + % leave \section* as is + \def\section{\@ifstar{\@IEEEappendixsavesection*}{% process the *-form + \refstepcounter{section}% or is a new section so, + \@IEEEprocessthesectionargument}}% process the argument + % of the normal form +} + + + +% \IEEEPARstart +% Definition for the big two line drop cap letter at the beginning of the +% first paragraph of journal papers. The first argument is the first letter +% of the first word, the second argument is the remaining letters of the +% first word which will be rendered in upper case. +% In V1.6 this has been completely rewritten to: +% +% 1. no longer have problems when the user begins an environment +% within the paragraph that uses \IEEEPARstart. +% 2. auto-detect and use the current font family +% 3. revise handling of the space at the end of the first word so that +% interword glue will now work as normal. +% 4. produce correctly aligned edges for the (two) indented lines. +% +% We generalize things via control macros - playing with these is fun too. +% +% V1.7 added more control macros to make it easy for IEEEtrantools.sty users +% to change the font style. +% +% the number of lines that are indented to clear it +% may need to increase if using decenders +\def\@IEEEPARstartDROPLINES{2} +% minimum number of lines left on a page to allow a \@IEEEPARstart +% Does not take into consideration rubber shrink, so it tends to +% be overly cautious +\def\@IEEEPARstartMINPAGELINES{2} +% V1.7 the height of the drop cap is adjusted to match the height of this text +% in the current font (when \IEEEPARstart is called). +\def\@IEEEPARstartHEIGHTTEXT{T} +% the depth the letter is lowered below the baseline +% the height (and size) of the letter is determined by the sum +% of this value and the height of the \@IEEEPARstartHEIGHTTEXT in the current +% font. It is a good idea to set this value in terms of the baselineskip +% so that it can respond to changes therein. +\def\@IEEEPARstartDROPDEPTH{1.1\baselineskip} +% V1.7 the font the drop cap will be rendered in, +% can take zero or one argument. +\def\@IEEEPARstartFONTSTYLE{\bfseries} +% V1.7 any additional, non-font related commands needed to modify +% the drop cap letter, can take zero or one argument. +\def\@IEEEPARstartCAPSTYLE{\MakeUppercase} +% V1.7 the font that will be used to render the rest of the word, +% can take zero or one argument. +\def\@IEEEPARstartWORDFONTSTYLE{\relax} +% V1.7 any additional, non-font related commands needed to modify +% the rest of the word, can take zero or one argument. +\def\@IEEEPARstartWORDCAPSTYLE{\MakeUppercase} +% This is the horizontal separation distance from the drop letter to the main text. +% Lengths that depend on the font (e.g., ex, em, etc.) will be referenced +% to the font that is active when \IEEEPARstart is called. +\def\@IEEEPARstartSEP{0.15em} +% V1.7 horizontal offset applied to the left of the drop cap. +\def\@IEEEPARstartHOFFSET{0em} +% V1.7 Italic correction command applied at the end of the drop cap. +\def\@IEEEPARstartITLCORRECT{\/} + +% V1.7 compoc uses nonbold drop cap and small caps word style +\ifCLASSOPTIONcompsoc +\def\@IEEEPARstartFONTSTYLE{\mdseries} +\def\@IEEEPARstartWORDFONTSTYLE{\scshape} +\def\@IEEEPARstartWORDCAPSTYLE{\relax} +\fi + +% definition of \IEEEPARstart +% THIS IS A CONTROLLED SPACING AREA, DO NOT ALLOW SPACES WITHIN THESE LINES +% +% The token \@IEEEPARstartfont will be globally defined after the first use +% of \IEEEPARstart and will be a font command which creates the big letter +% The first argument is the first letter of the first word and the second +% argument is the rest of the first word(s). +\def\IEEEPARstart#1#2{\par{% +% if this page does not have enough space, break it and lets start +% on a new one +\@IEEEtranneedspace{\@IEEEPARstartMINPAGELINES\baselineskip}{\relax}% +% V1.7 move this up here in case user uses \textbf for \@IEEEPARstartFONTSTYLE +% which uses command \leavevmode which causes an unwanted \indent to be issued +\noindent +% calculate the desired height of the big letter +% it extends from the top of \@IEEEPARstartHEIGHTTEXT in the current font +% down to \@IEEEPARstartDROPDEPTH below the current baseline +\settoheight{\@IEEEtrantmpdimenA}{\@IEEEPARstartHEIGHTTEXT}% +\addtolength{\@IEEEtrantmpdimenA}{\@IEEEPARstartDROPDEPTH}% +% extract the name of the current font in bold +% and place it in \@IEEEPARstartFONTNAME +\def\@IEEEPARstartGETFIRSTWORD##1 ##2\relax{##1}% +{\@IEEEPARstartFONTSTYLE{\selectfont\edef\@IEEEPARstartFONTNAMESPACE{\fontname\font\space}% +\xdef\@IEEEPARstartFONTNAME{\expandafter\@IEEEPARstartGETFIRSTWORD\@IEEEPARstartFONTNAMESPACE\relax}}}% +% define a font based on this name with a point size equal to the desired +% height of the drop letter +\font\@IEEEPARstartsubfont\@IEEEPARstartFONTNAME\space at \@IEEEtrantmpdimenA\relax% +% save this value as a counter (integer) value (sp points) +\@IEEEtrantmpcountA=\@IEEEtrantmpdimenA% +% now get the height of the actual letter produced by this font size +\settoheight{\@IEEEtrantmpdimenB}{\@IEEEPARstartsubfont\@IEEEPARstartCAPSTYLE{#1}}% +% If something bogus happens like the first argument is empty or the +% current font is strange, do not allow a zero height. +\ifdim\@IEEEtrantmpdimenB=0pt\relax% +\typeout{** WARNING: IEEEPARstart drop letter has zero height! (line \the\inputlineno)}% +\typeout{ Forcing the drop letter font size to 10pt.}% +\@IEEEtrantmpdimenB=10pt% +\fi% +% and store it as a counter +\@IEEEtrantmpcountB=\@IEEEtrantmpdimenB% +% Since a font size doesn't exactly correspond to the height of the capital +% letters in that font, the actual height of the letter, \@IEEEtrantmpcountB, +% will be less than that desired, \@IEEEtrantmpcountA +% we need to raise the font size, \@IEEEtrantmpdimenA +% by \@IEEEtrantmpcountA / \@IEEEtrantmpcountB +% But, TeX doesn't have floating point division, so we have to use integer +% division. Hence the use of the counters. +% We need to reduce the denominator so that the loss of the remainder will +% have minimal affect on the accuracy of the result +\divide\@IEEEtrantmpcountB by 200% +\divide\@IEEEtrantmpcountA by \@IEEEtrantmpcountB% +% Then reequalize things when we use TeX's ability to multiply by +% floating point values +\@IEEEtrantmpdimenB=0.005\@IEEEtrantmpdimenA% +\multiply\@IEEEtrantmpdimenB by \@IEEEtrantmpcountA% +% \@IEEEPARstartfont is globaly set to the calculated font of the big letter +% We need to carry this out of the local calculation area to to create the +% big letter. +\global\font\@IEEEPARstartfont\@IEEEPARstartFONTNAME\space at \@IEEEtrantmpdimenB% +% Now set \@IEEEtrantmpdimenA to the width of the big letter +% We need to carry this out of the local calculation area to set the +% hanging indent +\settowidth{\global\@IEEEtrantmpdimenA}{\@IEEEPARstartfont +\@IEEEPARstartCAPSTYLE{#1\@IEEEPARstartITLCORRECT}}}% +% end of the isolated calculation environment +% add in the extra clearance we want +\advance\@IEEEtrantmpdimenA by \@IEEEPARstartSEP\relax% +% add in the optional offset +\advance\@IEEEtrantmpdimenA by \@IEEEPARstartHOFFSET\relax% +% V1.7 don't allow negative offsets to produce negative hanging indents +\@IEEEtrantmpdimenB\@IEEEtrantmpdimenA +\ifnum\@IEEEtrantmpdimenB < 0 \@IEEEtrantmpdimenB 0pt\fi +% \@IEEEtrantmpdimenA has the width of the big letter plus the +% separation space and \@IEEEPARstartfont is the font we need to use +% Now, we make the letter and issue the hanging indent command +% The letter is placed in a box of zero width and height so that other +% text won't be displaced by it. +\hangindent\@IEEEtrantmpdimenB\hangafter=-\@IEEEPARstartDROPLINES% +\makebox[0pt][l]{\hspace{-\@IEEEtrantmpdimenA}% +\raisebox{-\@IEEEPARstartDROPDEPTH}[0pt][0pt]{\hspace{\@IEEEPARstartHOFFSET}% +\@IEEEPARstartfont\@IEEEPARstartCAPSTYLE{#1\@IEEEPARstartITLCORRECT}% +\hspace{\@IEEEPARstartSEP}}}% +{\@IEEEPARstartWORDFONTSTYLE{\@IEEEPARstartWORDCAPSTYLE{\selectfont#2}}}} + + + + + + +% determines if the space remaining on a given page is equal to or greater +% than the specified space of argument one +% if not, execute argument two (only if the remaining space is greater than zero) +% and issue a \newpage +% +% example: \@IEEEtranneedspace{2in}{\vfill} +% +% Does not take into consideration rubber shrinkage, so it tends to +% be overly cautious +% Based on an example posted by Donald Arseneau +% Note this macro uses \@IEEEtrantmpdimenB internally for calculations, +% so DO NOT PASS \@IEEEtrantmpdimenB to this routine +% if you need a dimen register, import with \@IEEEtrantmpdimenA instead +\def\@IEEEtranneedspace#1#2{\penalty-100\begingroup%shield temp variable +\@IEEEtrantmpdimenB\pagegoal\advance\@IEEEtrantmpdimenB-\pagetotal% space left +\ifdim #1>\@IEEEtrantmpdimenB\relax% not enough space left +\ifdim\@IEEEtrantmpdimenB>\z@\relax #2\fi% +\newpage% +\fi\endgroup} + + + +% IEEEbiography ENVIRONMENT +% Allows user to enter biography leaving place for picture (adapts to font size) +% As of V1.5, a new optional argument allows you to have a real graphic! +% V1.5 and later also fixes the "colliding biographies" which could happen when a +% biography's text was shorter than the space for the photo. +% MDS 7/2001 +% V1.6 prevent multiple biographies from making multiple TOC entries +\newif\if@IEEEbiographyTOCentrynotmade +\global\@IEEEbiographyTOCentrynotmadetrue + +% biography counter so hyperref can jump directly to the biographies +% and not just the previous section +\newcounter{IEEEbiography} +\setcounter{IEEEbiography}{0} + +% photo area size +\def\@IEEEBIOphotowidth{1.0in} % width of the biography photo area +\def\@IEEEBIOphotodepth{1.25in} % depth (height) of the biography photo area +% area cleared for photo +\def\@IEEEBIOhangwidth{1.14in} % width cleared for the biography photo area +\def\@IEEEBIOhangdepth{1.25in} % depth cleared for the biography photo area + % actual depth will be a multiple of + % \baselineskip, rounded up +\def\@IEEEBIOskipN{4\baselineskip}% nominal value of the vskip above the biography + +\newenvironment{IEEEbiography}[2][]{\normalfont\@IEEEcompsoconly{\sffamily}\footnotesize% +\unitlength 1in\parskip=0pt\par\parindent 1em\interlinepenalty500% +% we need enough space to support the hanging indent +% the nominal value of the spacer +% and one extra line for good measure +\@IEEEtrantmpdimenA=\@IEEEBIOhangdepth% +\advance\@IEEEtrantmpdimenA by \@IEEEBIOskipN% +\advance\@IEEEtrantmpdimenA by 1\baselineskip% +% if this page does not have enough space, break it and lets start +% with a new one +\@IEEEtranneedspace{\@IEEEtrantmpdimenA}{\relax}% +% nominal spacer can strech, not shrink use 1fil so user can out stretch with \vfill +\vskip \@IEEEBIOskipN plus 1fil minus 0\baselineskip% +% the default box for where the photo goes +\def\@IEEEtempbiographybox{{\setlength{\fboxsep}{0pt}\framebox{% +\begin{minipage}[b][\@IEEEBIOphotodepth][c]{\@IEEEBIOphotowidth}\centering PLACE\\ PHOTO\\ HERE \end{minipage}}}}% +% +% detect if the optional argument was supplied, this requires the +% \@ifmtarg command as defined in the appendix section above +% and if so, override the default box with what they want +\@ifmtarg{#1}{\relax}{\def\@IEEEtempbiographybox{\mbox{\begin{minipage}[b][\@IEEEBIOphotodepth][c]{\@IEEEBIOphotowidth}% +\centering% +#1% +\end{minipage}}}}% end if optional argument supplied +% Make an entry into the table of contents only if we have not done so before +\if@IEEEbiographyTOCentrynotmade% +% link labels to the biography counter so hyperref will jump +% to the biography, not the previous section +\setcounter{IEEEbiography}{-1}% +\refstepcounter{IEEEbiography}% +\addcontentsline{toc}{section}{Biographies}% +\global\@IEEEbiographyTOCentrynotmadefalse% +\fi% +% one more biography +\refstepcounter{IEEEbiography}% +% Make an entry for this name into the table of contents +\addcontentsline{toc}{subsection}{#2}% +% V1.6 properly handle if a new paragraph should occur while the +% hanging indent is still active. Do this by redefining \par so +% that it will not start a new paragraph. (But it will appear to the +% user as if it did.) Also, strip any leading pars, newlines, or spaces. +\let\@IEEEBIOORGparCMD=\par% save the original \par command +\edef\par{\hfil\break\indent}% the new \par will not be a "real" \par +\settoheight{\@IEEEtrantmpdimenA}{\@IEEEtempbiographybox}% get height of biography box +\@IEEEtrantmpdimenB=\@IEEEBIOhangdepth% +\@IEEEtrantmpcountA=\@IEEEtrantmpdimenB% countA has the hang depth +\divide\@IEEEtrantmpcountA by \baselineskip% calculates lines needed to produce the hang depth +\advance\@IEEEtrantmpcountA by 1% ensure we overestimate +% set the hanging indent +\hangindent\@IEEEBIOhangwidth% +\hangafter-\@IEEEtrantmpcountA% +% reference the top of the photo area to the top of a capital T +\settoheight{\@IEEEtrantmpdimenB}{\mbox{T}}% +% set the photo box, give it zero width and height so as not to disturb anything +\noindent\makebox[0pt][l]{\hspace{-\@IEEEBIOhangwidth}\raisebox{\@IEEEtrantmpdimenB}[0pt][0pt]{% +\raisebox{-\@IEEEBIOphotodepth}[0pt][0pt]{\@IEEEtempbiographybox}}}% +% now place the author name and begin the bio text +\noindent\textbf{#2\ }\@IEEEgobbleleadPARNLSP}{\relax\let\par=\@IEEEBIOORGparCMD\par% +% 7/2001 V1.5 detect when the biography text is shorter than the photo area +% and pad the unused area - preventing a collision from the next biography entry +% MDS +\ifnum \prevgraf <\@IEEEtrantmpcountA\relax% detect when the biography text is shorter than the photo + \advance\@IEEEtrantmpcountA by -\prevgraf% calculate how many lines we need to pad + \advance\@IEEEtrantmpcountA by -1\relax% we compensate for the fact that we indented an extra line + \@IEEEtrantmpdimenA=\baselineskip% calculate the length of the padding + \multiply\@IEEEtrantmpdimenA by \@IEEEtrantmpcountA% + \noindent\rule{0pt}{\@IEEEtrantmpdimenA}% insert an invisible support strut +\fi% +\par\normalfont} + + + +% V1.6 +% added biography without a photo environment +\newenvironment{IEEEbiographynophoto}[1]{% +% Make an entry into the table of contents only if we have not done so before +\if@IEEEbiographyTOCentrynotmade% +% link labels to the biography counter so hyperref will jump +% to the biography, not the previous section +\setcounter{IEEEbiography}{-1}% +\refstepcounter{IEEEbiography}% +\addcontentsline{toc}{section}{Biographies}% +\global\@IEEEbiographyTOCentrynotmadefalse% +\fi% +% one more biography +\refstepcounter{IEEEbiography}% +% Make an entry for this name into the table of contents +\addcontentsline{toc}{subsection}{#1}% +\normalfont\@IEEEcompsoconly{\sffamily}\footnotesize\interlinepenalty500% +\vskip 4\baselineskip plus 1fil minus 0\baselineskip% +\parskip=0pt\par% +\noindent\textbf{#1\ }\@IEEEgobbleleadPARNLSP}{\relax\par\normalfont} + + +% provide the user with some old font commands +% got this from article.cls +\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} + + +% SPECIAL PAPER NOTICE COMMANDS +% +% holds the special notice text +\def\@IEEEspecialpapernotice{\relax} + +% for special papers, like invited papers, the user can do: +% \IEEEspecialpapernotice{(Invited Paper)} before \maketitle +\def\IEEEspecialpapernotice#1{\ifCLASSOPTIONconference% +\def\@IEEEspecialpapernotice{{\Large#1\vspace*{1em}}}% +\else% +\def\@IEEEspecialpapernotice{{\\*[1.5ex]\sublargesize\textit{#1}}\vspace*{-2ex}}% +\fi} + + + + +% PUBLISHER ID COMMANDS +% to insert a publisher's ID footer +% V1.6 \IEEEpubid has been changed so that the change in page size and style +% occurs in \maketitle. \IEEEpubid must now be issued prior to \maketitle +% use \IEEEpubidadjcol as before - in the second column of the title page +% These changes allow \maketitle to take the reduced page height into +% consideration when dynamically setting the space between the author +% names and the maintext. +% +% the amount the main text is pulled up to make room for the +% publisher's ID footer +% IEEE uses about 1.3\baselineskip for journals, +% dynamic title spacing will clean up the fraction +\def\@IEEEpubidpullup{1.3\baselineskip} +\ifCLASSOPTIONtechnote +% for technotes it must be an integer of baselineskip as there can be no +% dynamic title spacing for two column mode technotes (the title is in the +% in first column) and we should maintain an integer number of lines in the +% second column +% There are some examples (such as older issues of "Transactions on +% Information Theory") in which IEEE really pulls the text off the ID for +% technotes - about 0.55in (or 4\baselineskip). We'll use 2\baselineskip +% and call it even. +\def\@IEEEpubidpullup{2\baselineskip} +\fi + +% V1.7 compsoc does not use a pullup +\ifCLASSOPTIONcompsoc +\def\@IEEEpubidpullup{0pt} +\fi + +% holds the ID text +\def\@IEEEpubid{\relax} + +% flag so \maketitle can tell if \IEEEpubid was called +\newif\if@IEEEusingpubid +\global\@IEEEusingpubidfalse +% issue this command in the page to have the ID at the bottom +% V1.6 use before \maketitle +\def\IEEEpubid#1{\def\@IEEEpubid{#1}\global\@IEEEusingpubidtrue} + + +% command which will pull up (shorten) the column it is executed in +% to make room for the publisher ID. Place in the second column of +% the title page when using \IEEEpubid +% Is smart enough not to do anything when in single column text or +% if the user hasn't called \IEEEpubid +% currently needed in for the second column of a page with the +% publisher ID. If not needed in future releases, please provide this +% command and define it as \relax for backward compatibility +% v1.6b do not allow command to operate if the peer review option has been +% selected because \IEEEpubidadjcol will not be on the cover page. +% V1.7 do nothing if compsoc +\def\IEEEpubidadjcol{\ifCLASSOPTIONcompsoc\else\ifCLASSOPTIONpeerreview\else +\if@twocolumn\if@IEEEusingpubid\enlargethispage{-\@IEEEpubidpullup}\fi\fi\fi\fi} + +% Special thanks to Peter Wilson, Daniel Luecking, and the other +% gurus at comp.text.tex, for helping me to understand how best to +% implement the IEEEpubid command in LaTeX. + + + +%% Lockout some commands under various conditions + +% general purpose bit bucket +\newsavebox{\@IEEEtranrubishbin} + +% flags to prevent multiple warning messages +\newif\if@IEEEWARNthanks +\newif\if@IEEEWARNIEEEPARstart +\newif\if@IEEEWARNIEEEbiography +\newif\if@IEEEWARNIEEEbiographynophoto +\newif\if@IEEEWARNIEEEpubid +\newif\if@IEEEWARNIEEEpubidadjcol +\newif\if@IEEEWARNIEEEmembership +\newif\if@IEEEWARNIEEEaftertitletext +\@IEEEWARNthankstrue +\@IEEEWARNIEEEPARstarttrue +\@IEEEWARNIEEEbiographytrue +\@IEEEWARNIEEEbiographynophototrue +\@IEEEWARNIEEEpubidtrue +\@IEEEWARNIEEEpubidadjcoltrue +\@IEEEWARNIEEEmembershiptrue +\@IEEEWARNIEEEaftertitletexttrue + + +%% Lockout some commands when in various modes, but allow them to be restored if needed +%% +% save commands which might be locked out +% so that the user can later restore them if needed +\let\@IEEESAVECMDthanks\thanks +\let\@IEEESAVECMDIEEEPARstart\IEEEPARstart +\let\@IEEESAVECMDIEEEbiography\IEEEbiography +\let\@IEEESAVECMDendIEEEbiography\endIEEEbiography +\let\@IEEESAVECMDIEEEbiographynophoto\IEEEbiographynophoto +\let\@IEEESAVECMDendIEEEbiographynophoto\endIEEEbiographynophoto +\let\@IEEESAVECMDIEEEpubid\IEEEpubid +\let\@IEEESAVECMDIEEEpubidadjcol\IEEEpubidadjcol +\let\@IEEESAVECMDIEEEmembership\IEEEmembership +\let\@IEEESAVECMDIEEEaftertitletext\IEEEaftertitletext + + +% disable \IEEEPARstart when in draft mode +% This may have originally been done because the pre-V1.6 drop letter +% algorithm had problems with a non-unity baselinestretch +% At any rate, it seems too formal to have a drop letter in a draft +% paper. +\ifCLASSOPTIONdraftcls +\def\IEEEPARstart#1#2{#1#2\if@IEEEWARNIEEEPARstart\typeout{** ATTENTION: \noexpand\IEEEPARstart + is disabled in draft mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEPARstartfalse} +\fi +% and for technotes +\ifCLASSOPTIONtechnote +\def\IEEEPARstart#1#2{#1#2\if@IEEEWARNIEEEPARstart\typeout{** WARNING: \noexpand\IEEEPARstart + is locked out for technotes (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEPARstartfalse} +\fi + + +% lockout unneeded commands when in conference mode +\ifCLASSOPTIONconference +% when locked out, \thanks, \IEEEbiography, \IEEEbiographynophoto, \IEEEpubid, +% \IEEEmembership and \IEEEaftertitletext will all swallow their given text. +% \IEEEPARstart will output a normal character instead +% warn the user about these commands only once to prevent the console screen +% from filling up with redundant messages +\def\thanks#1{\if@IEEEWARNthanks\typeout{** WARNING: \noexpand\thanks + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNthanksfalse} +\def\IEEEPARstart#1#2{#1#2\if@IEEEWARNIEEEPARstart\typeout{** WARNING: \noexpand\IEEEPARstart + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEPARstartfalse} + + +% LaTeX treats environments and commands with optional arguments differently. +% the actual ("internal") command is stored as \\commandname +% (accessed via \csname\string\commandname\endcsname ) +% the "external" command \commandname is a macro with code to determine +% whether or not the optional argument is presented and to provide the +% default if it is absent. So, in order to save and restore such a command +% we would have to save and restore \\commandname as well. But, if LaTeX +% ever changes the way it names the internal names, the trick would break. +% Instead let us just define a new environment so that the internal +% name can be left undisturbed. +\newenvironment{@IEEEbogusbiography}[2][]{\if@IEEEWARNIEEEbiography\typeout{** WARNING: \noexpand\IEEEbiography + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEbiographyfalse% +\setbox\@IEEEtranrubishbin\vbox\bgroup}{\egroup\relax} +% and make biography point to our bogus biography +\let\IEEEbiography=\@IEEEbogusbiography +\let\endIEEEbiography=\end@IEEEbogusbiography + +\renewenvironment{IEEEbiographynophoto}[1]{\if@IEEEWARNIEEEbiographynophoto\typeout{** WARNING: \noexpand\IEEEbiographynophoto + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEbiographynophotofalse% +\setbox\@IEEEtranrubishbin\vbox\bgroup}{\egroup\relax} + +\def\IEEEpubid#1{\if@IEEEWARNIEEEpubid\typeout{** WARNING: \noexpand\IEEEpubid + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEpubidfalse} +\def\IEEEpubidadjcol{\if@IEEEWARNIEEEpubidadjcol\typeout{** WARNING: \noexpand\IEEEpubidadjcol + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEpubidadjcolfalse} +\def\IEEEmembership#1{\if@IEEEWARNIEEEmembership\typeout{** WARNING: \noexpand\IEEEmembership + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEmembershipfalse} +\def\IEEEaftertitletext#1{\if@IEEEWARNIEEEaftertitletext\typeout{** WARNING: \noexpand\IEEEaftertitletext + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEaftertitletextfalse} +\fi + + +% provide a way to restore the commands that are locked out +\def\IEEEoverridecommandlockouts{% +\typeout{** ATTENTION: Overriding command lockouts (line \the\inputlineno).}% +\let\thanks\@IEEESAVECMDthanks% +\let\IEEEPARstart\@IEEESAVECMDIEEEPARstart% +\let\IEEEbiography\@IEEESAVECMDIEEEbiography% +\let\endIEEEbiography\@IEEESAVECMDendIEEEbiography% +\let\IEEEbiographynophoto\@IEEESAVECMDIEEEbiographynophoto% +\let\endIEEEbiographynophoto\@IEEESAVECMDendIEEEbiographynophoto% +\let\IEEEpubid\@IEEESAVECMDIEEEpubid% +\let\IEEEpubidadjcol\@IEEESAVECMDIEEEpubidadjcol% +\let\IEEEmembership\@IEEESAVECMDIEEEmembership% +\let\IEEEaftertitletext\@IEEESAVECMDIEEEaftertitletext} + + + +% need a backslash character for typeout output +{\catcode`\|=0 \catcode`\\=12 +|xdef|@IEEEbackslash{\}} + + +% hook to allow easy disabling of all legacy warnings +\def\@IEEElegacywarn#1#2{\typeout{** ATTENTION: \@IEEEbackslash #1 is deprecated (line \the\inputlineno). +Use \@IEEEbackslash #2 instead.}} + + +% provide for legacy commands +\def\authorblockA{\@IEEElegacywarn{authorblockA}{IEEEauthorblockA}\IEEEauthorblockA} +\def\authorblockN{\@IEEElegacywarn{authorblockN}{IEEEauthorblockN}\IEEEauthorblockN} +\def\authorrefmark{\@IEEElegacywarn{authorrefmark}{IEEEauthorrefmark}\IEEEauthorrefmark} +\def\PARstart{\@IEEElegacywarn{PARstart}{IEEEPARstart}\IEEEPARstart} +\def\pubid{\@IEEElegacywarn{pubid}{IEEEpubid}\IEEEpubid} +\def\pubidadjcol{\@IEEElegacywarn{pubidadjcol}{IEEEpubidadjcol}\IEEEpubidadjcol} +\def\QED{\@IEEElegacywarn{QED}{IEEEQED}\IEEEQED} +\def\QEDclosed{\@IEEElegacywarn{QEDclosed}{IEEEQEDclosed}\IEEEQEDclosed} +\def\QEDopen{\@IEEElegacywarn{QEDopen}{IEEEQEDopen}\IEEEQEDopen} +\def\specialpapernotice{\@IEEElegacywarn{specialpapernotice}{IEEEspecialpapernotice}\IEEEspecialpapernotice} + + + +% provide for legacy environments +\def\biography{\@IEEElegacywarn{biography}{IEEEbiography}\IEEEbiography} +\def\biographynophoto{\@IEEElegacywarn{biographynophoto}{IEEEbiographynophoto}\IEEEbiographynophoto} +\def\keywords{\@IEEElegacywarn{keywords}{IEEEkeywords}\IEEEkeywords} +\def\endbiography{\endIEEEbiography} +\def\endbiographynophoto{\endIEEEbiographynophoto} +\def\endkeywords{\endIEEEkeywords} + + +% provide for legacy IED commands/lengths when possible +\let\labelindent\IEEElabelindent +\def\calcleftmargin{\@IEEElegacywarn{calcleftmargin}{IEEEcalcleftmargin}\IEEEcalcleftmargin} +\def\setlabelwidth{\@IEEElegacywarn{setlabelwidth}{IEEEsetlabelwidth}\IEEEsetlabelwidth} +\def\usemathlabelsep{\@IEEElegacywarn{usemathlabelsep}{IEEEusemathlabelsep}\IEEEusemathlabelsep} +\def\iedlabeljustifyc{\@IEEElegacywarn{iedlabeljustifyc}{IEEEiedlabeljustifyc}\IEEEiedlabeljustifyc} +\def\iedlabeljustifyl{\@IEEElegacywarn{iedlabeljustifyl}{IEEEiedlabeljustifyl}\IEEEiedlabeljustifyl} +\def\iedlabeljustifyr{\@IEEElegacywarn{iedlabeljustifyr}{IEEEiedlabeljustifyr}\IEEEiedlabeljustifyr} + + + +% let \proof use the IEEEtran version even after amsthm is loaded +% \proof is now deprecated in favor of \IEEEproof +\AtBeginDocument{\def\proof{\@IEEElegacywarn{proof}{IEEEproof}\IEEEproof}\def\endproof{\endIEEEproof}} + +% V1.7 \overrideIEEEmargins is no longer supported. +\def\overrideIEEEmargins{% +\typeout{** WARNING: \string\overrideIEEEmargins \space no longer supported (line \the\inputlineno).}% +\typeout{** Use the \string\CLASSINPUTinnersidemargin, \string\CLASSINPUToutersidemargin \space controls instead.}} + + +\endinput + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End of IEEEtran.cls %%%%%%%%%%%%%%%%%%%%%%%%%%%% +% That's all folks! + diff --git a/mpi-energy2-extension/IEEEtran/IEEEtranS.bst b/mpi-energy2-extension/IEEEtran/IEEEtranS.bst new file mode 100644 index 0000000..29e5b8c --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/IEEEtranS.bst @@ -0,0 +1,2607 @@ +%% +%% IEEEtranS.bst +%% BibTeX Bibliography Style file +%% Sorting version of IEEEtran.bst +%% *** Not for normal IEEE work *** +%% Version 1.12 (2007/01/11) +%% +%% Copyright (c) 2003-2007 Michael Shell +%% +%% Original starting code base and algorithms obtained from the output of +%% Patrick W. Daly's makebst package as well as from prior versions of +%% IEEE BibTeX styles: +%% +%% 1. Howard Trickey and Oren Patashnik's ieeetr.bst (1985/1988) +%% 2. Silvano Balemi and Richard H. Roy's IEEEbib.bst (1993) +%% +%% Added sorting code is from plain.bst. +%% +%% Support sites: +%% http://www.michaelshell.org/tex/ieeetran/ +%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +%% and/or +%% http://www.ieee.org/ +%% +%% For use with BibTeX version 0.99a or later +%% +%% This is a numerical citation style. +%% +%%************************************************************************* +%% Legal Notice: +%% This code is offered as-is without any warranty either expressed or +%% implied; without even the implied warranty of MERCHANTABILITY or +%% FITNESS FOR A PARTICULAR PURPOSE! +%% User assumes all risk. +%% In no event shall IEEE or any contributor to this code be liable for +%% any damages or losses, including, but not limited to, incidental, +%% consequential, or any other damages, resulting from the use or misuse +%% of any information contained here. +%% +%% All comments are the opinions of their respective authors and are not +%% necessarily endorsed by the IEEE. +%% +%% This work is distributed under the LaTeX Project Public License (LPPL) +%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, +%% distributed and modified. A copy of the LPPL, version 1.3, is included +%% in the base LaTeX documentation of all distributions of LaTeX released +%% 2003/12/01 or later. +%% Retain all contribution notices and credits. +%% ** Modified files should be clearly indicated as such, including ** +%% ** renaming them and changing author support contact information. ** +%% +%% File list of work: IEEEabrv.bib, IEEEfull.bib, IEEEexample.bib, +%% IEEEtran.bst, IEEEtranS.bst, IEEEtranSA.bst, +%% IEEEtranN.bst, IEEEtranSN.bst, IEEEtran_bst_HOWTO.pdf +%%************************************************************************* +% +% +% Changelog: +% +% 1.10 (2002/09/27) Initial release +% +% 1.11 (2003/04/02) +% 1. Fixed bug with URLs containing underscores when using url.sty. Thanks +% to Ming Kin Lai for reporting this. +% +% 1.12 (2007/01/11) +% 1. Fixed bug with unwanted comma before "et al." when an entry contained +% more than two author names. Thanks to Pallav Gupta for reporting this. +% 2. Fixed bug with anomalous closing quote in tech reports that have a +% type, but without a number or address. Thanks to Mehrdad Mirreza for +% reporting this. +% 3. Use braces in \providecommand in begin.bib to better support +% latex2html. TeX style length assignments OK with recent versions +% of latex2html - 1.71 (2002/2/1) or later is strongly recommended. +% Use of the language field still causes trouble with latex2html. +% Thanks to Federico Beffa for reporting this. +% 4. Added IEEEtran.bst ID and version comment string to .bbl output. +% 5. Provide a \BIBdecl hook that allows the user to execute commands +% just prior to the first entry. +% 6. Use default urlstyle (is using url.sty) of "same" rather than rm to +% better work with a wider variety of bibliography styles. +% 7. Changed month abbreviations from Sept., July and June to Sep., Jul., +% and Jun., respectively, as IEEE now does. Thanks to Moritz Borgmann +% for reporting this. +% 8. Control entry types should not be considered when calculating longest +% label width. +% 9. Added alias www for electronic/online. +% 10. Added CTLname_url_prefix control entry type. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% DEFAULTS FOR THE CONTROLS OF THE BST STYLE %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% These are the defaults for the user adjustable controls. The values used +% here can be overridden by the user via IEEEtranBSTCTL entry type. + +% NOTE: The recommended LaTeX command to invoke a control entry type is: +% +%\makeatletter +%\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}} +%\def\@bstctlcite[#1]#2{\@bsphack +% \@for\@citeb:=#2\do{% +% \edef\@citeb{\expandafter\@firstofone\@citeb}% +% \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}% +% \@esphack} +%\makeatother +% +% It is called at the start of the document, before the first \cite, like: +% \bstctlcite{IEEEexample:BSTcontrol} +% +% IEEEtran.cls V1.6 and later does provide this command. + + + +% #0 turns off the display of the number for articles. +% #1 enables +FUNCTION {default.is.use.number.for.article} { #1 } + + +% #0 turns off the display of the paper and type fields in @inproceedings. +% #1 enables +FUNCTION {default.is.use.paper} { #1 } + + +% #0 turns off the forced use of "et al." +% #1 enables +FUNCTION {default.is.forced.et.al} { #0 } + +% The maximum number of names that can be present beyond which an "et al." +% usage is forced. Be sure that num.names.shown.with.forced.et.al (below) +% is not greater than this value! +% Note: There are many instances of references in IEEE journals which have +% a very large number of authors as well as instances in which "et al." is +% used profusely. +FUNCTION {default.max.num.names.before.forced.et.al} { #10 } + +% The number of names that will be shown with a forced "et al.". +% Must be less than or equal to max.num.names.before.forced.et.al +FUNCTION {default.num.names.shown.with.forced.et.al} { #1 } + + +% #0 turns off the alternate interword spacing for entries with URLs. +% #1 enables +FUNCTION {default.is.use.alt.interword.spacing} { #1 } + +% If alternate interword spacing for entries with URLs is enabled, this is +% the interword spacing stretch factor that will be used. For example, the +% default "4" here means that the interword spacing in entries with URLs can +% stretch to four times normal. Does not have to be an integer. Note that +% the value specified here can be overridden by the user in their LaTeX +% code via a command such as: +% "\providecommand\BIBentryALTinterwordstretchfactor{1.5}" in addition to +% that via the IEEEtranBSTCTL entry type. +FUNCTION {default.ALTinterwordstretchfactor} { "4" } + + +% #0 turns off the "dashification" of repeated (i.e., identical to those +% of the previous entry) names. IEEE normally does this. +% #1 enables +FUNCTION {default.is.dash.repeated.names} { #1 } + + +% The default name format control string. +FUNCTION {default.name.format.string}{ "{f.~}{vv~}{ll}{, jj}" } + + +% The default LaTeX font command for the names. +FUNCTION {default.name.latex.cmd}{ "" } + + +% The default URL prefix. +FUNCTION {default.name.url.prefix}{ "[Online]. Available:" } + + +% Other controls that cannot be accessed via IEEEtranBSTCTL entry type. + +% #0 turns off the terminal startup banner/completed message so as to +% operate more quietly. +% #1 enables +FUNCTION {is.print.banners.to.terminal} { #1 } + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% FILE VERSION AND BANNER %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION{bst.file.version} { "1.12" } +FUNCTION{bst.file.date} { "2007/01/11" } +FUNCTION{bst.file.website} { "http://www.michaelshell.org/tex/ieeetran/bibtex/" } + +FUNCTION {banner.message} +{ is.print.banners.to.terminal + { "-- IEEEtranS.bst version" " " * bst.file.version * + " (" * bst.file.date * ") " * "by Michael Shell." * + top$ + "-- " bst.file.website * + top$ + "-- See the " quote$ * "IEEEtran_bst_HOWTO.pdf" * quote$ * " manual for usage information." * + top$ + "** Sorting version - not for normal IEEE work." + top$ + } + { skip$ } + if$ +} + +FUNCTION {completed.message} +{ is.print.banners.to.terminal + { "" + top$ + "Done." + top$ + } + { skip$ } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%%% +%% STRING CONSTANTS %% +%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {bbl.and}{ "and" } +FUNCTION {bbl.etal}{ "et~al." } +FUNCTION {bbl.editors}{ "eds." } +FUNCTION {bbl.editor}{ "ed." } +FUNCTION {bbl.edition}{ "ed." } +FUNCTION {bbl.volume}{ "vol." } +FUNCTION {bbl.of}{ "of" } +FUNCTION {bbl.number}{ "no." } +FUNCTION {bbl.in}{ "in" } +FUNCTION {bbl.pages}{ "pp." } +FUNCTION {bbl.page}{ "p." } +FUNCTION {bbl.chapter}{ "ch." } +FUNCTION {bbl.paper}{ "paper" } +FUNCTION {bbl.part}{ "pt." } +FUNCTION {bbl.patent}{ "Patent" } +FUNCTION {bbl.patentUS}{ "U.S." } +FUNCTION {bbl.revision}{ "Rev." } +FUNCTION {bbl.series}{ "ser." } +FUNCTION {bbl.standard}{ "Std." } +FUNCTION {bbl.techrep}{ "Tech. Rep." } +FUNCTION {bbl.mthesis}{ "Master's thesis" } +FUNCTION {bbl.phdthesis}{ "Ph.D. dissertation" } +FUNCTION {bbl.st}{ "st" } +FUNCTION {bbl.nd}{ "nd" } +FUNCTION {bbl.rd}{ "rd" } +FUNCTION {bbl.th}{ "th" } + + +% This is the LaTeX spacer that is used when a larger than normal space +% is called for (such as just before the address:publisher). +FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " } + +% The LaTeX code for dashes that are used to represent repeated names. +% Note: Some older IEEE journals used something like +% "\rule{0.275in}{0.5pt}\," which is fairly thick and runs right along +% the baseline. However, IEEE now uses a thinner, above baseline, +% six dash long sequence. +FUNCTION {repeated.name.dashes} { "------" } + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% PREDEFINED STRING MACROS %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +MACRO {jan} {"Jan."} +MACRO {feb} {"Feb."} +MACRO {mar} {"Mar."} +MACRO {apr} {"Apr."} +MACRO {may} {"May"} +MACRO {jun} {"Jun."} +MACRO {jul} {"Jul."} +MACRO {aug} {"Aug."} +MACRO {sep} {"Sep."} +MACRO {oct} {"Oct."} +MACRO {nov} {"Nov."} +MACRO {dec} {"Dec."} + + + +%%%%%%%%%%%%%%%%%% +%% ENTRY FIELDS %% +%%%%%%%%%%%%%%%%%% + +ENTRY + { address + assignee + author + booktitle + chapter + day + dayfiled + edition + editor + howpublished + institution + intype + journal + key + language + month + monthfiled + nationality + note + number + organization + pages + paper + publisher + school + series + revision + title + type + url + volume + year + yearfiled + CTLuse_article_number + CTLuse_paper + CTLuse_forced_etal + CTLmax_names_forced_etal + CTLnames_show_etal + CTLuse_alt_spacing + CTLalt_stretch_factor + CTLdash_repeated_names + CTLname_format_string + CTLname_latex_cmd + CTLname_url_prefix + } + {} + { label } + + + + +%%%%%%%%%%%%%%%%%%%%%%% +%% INTEGER VARIABLES %% +%%%%%%%%%%%%%%%%%%%%%%% + +INTEGERS { prev.status.punct this.status.punct punct.std + punct.no punct.comma punct.period + prev.status.space this.status.space space.std + space.no space.normal space.large + prev.status.quote this.status.quote quote.std + quote.no quote.close + prev.status.nline this.status.nline nline.std + nline.no nline.newblock + status.cap cap.std + cap.no cap.yes} + +INTEGERS { longest.label.width multiresult nameptr namesleft number.label numnames } + +INTEGERS { is.use.number.for.article + is.use.paper + is.forced.et.al + max.num.names.before.forced.et.al + num.names.shown.with.forced.et.al + is.use.alt.interword.spacing + is.dash.repeated.names} + + +%%%%%%%%%%%%%%%%%%%%%% +%% STRING VARIABLES %% +%%%%%%%%%%%%%%%%%%%%%% + +STRINGS { bibinfo + longest.label + oldname + s + t + ALTinterwordstretchfactor + name.format.string + name.latex.cmd + name.url.prefix} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOW LEVEL FUNCTIONS %% +%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {initialize.controls} +{ default.is.use.number.for.article 'is.use.number.for.article := + default.is.use.paper 'is.use.paper := + default.is.forced.et.al 'is.forced.et.al := + default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al := + default.num.names.shown.with.forced.et.al 'num.names.shown.with.forced.et.al := + default.is.use.alt.interword.spacing 'is.use.alt.interword.spacing := + default.is.dash.repeated.names 'is.dash.repeated.names := + default.ALTinterwordstretchfactor 'ALTinterwordstretchfactor := + default.name.format.string 'name.format.string := + default.name.latex.cmd 'name.latex.cmd := + default.name.url.prefix 'name.url.prefix := +} + + +% This IEEEtran.bst features a very powerful and flexible mechanism for +% controlling the capitalization, punctuation, spacing, quotation, and +% newlines of the formatted entry fields. (Note: IEEEtran.bst does not need +% or use the newline/newblock feature, but it has been implemented for +% possible future use.) The output states of IEEEtran.bst consist of +% multiple independent attributes and, as such, can be thought of as being +% vectors, rather than the simple scalar values ("before.all", +% "mid.sentence", etc.) used in most other .bst files. +% +% The more flexible and complex design used here was motivated in part by +% IEEE's rather unusual bibliography style. For example, IEEE ends the +% previous field item with a period and large space prior to the publisher +% address; the @electronic entry types use periods as inter-item punctuation +% rather than the commas used by the other entry types; and URLs are never +% followed by periods even though they are the last item in the entry. +% Although it is possible to accommodate these features with the conventional +% output state system, the seemingly endless exceptions make for convoluted, +% unreliable and difficult to maintain code. +% +% IEEEtran.bst's output state system can be easily understood via a simple +% illustration of two most recently formatted entry fields (on the stack): +% +% CURRENT_ITEM +% "PREVIOUS_ITEM +% +% which, in this example, is to eventually appear in the bibliography as: +% +% "PREVIOUS_ITEM," CURRENT_ITEM +% +% It is the job of the output routine to take the previous item off of the +% stack (while leaving the current item at the top of the stack), apply its +% trailing punctuation (including closing quote marks) and spacing, and then +% to write the result to BibTeX's output buffer: +% +% "PREVIOUS_ITEM," +% +% Punctuation (and spacing) between items is often determined by both of the +% items rather than just the first one. The presence of quotation marks +% further complicates the situation because, in standard English, trailing +% punctuation marks are supposed to be contained within the quotes. +% +% IEEEtran.bst maintains two output state (aka "status") vectors which +% correspond to the previous and current (aka "this") items. Each vector +% consists of several independent attributes which track punctuation, +% spacing, quotation, and newlines. Capitalization status is handled by a +% separate scalar because the format routines, not the output routine, +% handle capitalization and, therefore, there is no need to maintain the +% capitalization attribute for both the "previous" and "this" items. +% +% When a format routine adds a new item, it copies the current output status +% vector to the previous output status vector and (usually) resets the +% current (this) output status vector to a "standard status" vector. Using a +% "standard status" vector in this way allows us to redefine what we mean by +% "standard status" at the start of each entry handler and reuse the same +% format routines under the various inter-item separation schemes. For +% example, the standard status vector for the @book entry type may use +% commas for item separators, while the @electronic type may use periods, +% yet both entry handlers exploit many of the exact same format routines. +% +% Because format routines have write access to the output status vector of +% the previous item, they can override the punctuation choices of the +% previous format routine! Therefore, it becomes trivial to implement rules +% such as "Always use a period and a large space before the publisher." By +% pushing the generation of the closing quote mark to the output routine, we +% avoid all the problems caused by having to close a quote before having all +% the information required to determine what the punctuation should be. +% +% The IEEEtran.bst output state system can easily be expanded if needed. +% For instance, it is easy to add a "space.tie" attribute value if the +% bibliography rules mandate that two items have to be joined with an +% unbreakable space. + +FUNCTION {initialize.status.constants} +{ #0 'punct.no := + #1 'punct.comma := + #2 'punct.period := + #0 'space.no := + #1 'space.normal := + #2 'space.large := + #0 'quote.no := + #1 'quote.close := + #0 'cap.no := + #1 'cap.yes := + #0 'nline.no := + #1 'nline.newblock := +} + +FUNCTION {std.status.using.comma} +{ punct.comma 'punct.std := + space.normal 'space.std := + quote.no 'quote.std := + nline.no 'nline.std := + cap.no 'cap.std := +} + +FUNCTION {std.status.using.period} +{ punct.period 'punct.std := + space.normal 'space.std := + quote.no 'quote.std := + nline.no 'nline.std := + cap.yes 'cap.std := +} + +FUNCTION {initialize.prev.this.status} +{ punct.no 'prev.status.punct := + space.no 'prev.status.space := + quote.no 'prev.status.quote := + nline.no 'prev.status.nline := + punct.no 'this.status.punct := + space.no 'this.status.space := + quote.no 'this.status.quote := + nline.no 'this.status.nline := + cap.yes 'status.cap := +} + +FUNCTION {this.status.std} +{ punct.std 'this.status.punct := + space.std 'this.status.space := + quote.std 'this.status.quote := + nline.std 'this.status.nline := +} + +FUNCTION {cap.status.std}{ cap.std 'status.cap := } + +FUNCTION {this.to.prev.status} +{ this.status.punct 'prev.status.punct := + this.status.space 'prev.status.space := + this.status.quote 'prev.status.quote := + this.status.nline 'prev.status.nline := +} + + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ { skip$ } + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + { skip$ } + if$ +} + + +% convert the strings "yes" or "no" to #1 or #0 respectively +FUNCTION {yes.no.to.int} +{ "l" change.case$ duplicate$ + "yes" = + { pop$ #1 } + { duplicate$ "no" = + { pop$ #0 } + { "unknown boolean " quote$ * swap$ * quote$ * + " in " * cite$ * warning$ + #0 + } + if$ + } + if$ +} + + +% pushes true if the single char string on the stack is in the +% range of "0" to "9" +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +% multiplies the integer on the stack by a factor of 10 +FUNCTION {bump.int.mag} +{ #0 'multiresult := + { duplicate$ #0 > } + { #1 - + multiresult #10 + + 'multiresult := + } + while$ +pop$ +multiresult +} + +% converts a single character string on the stack to an integer +FUNCTION {char.to.integer} +{ duplicate$ + is.num + { chr.to.int$ "0" chr.to.int$ - } + {"noninteger character " quote$ * swap$ * quote$ * + " in integer field of " * cite$ * warning$ + #0 + } + if$ +} + +% converts a string on the stack to an integer +FUNCTION {string.to.integer} +{ duplicate$ text.length$ 'namesleft := + #1 'nameptr := + #0 'numnames := + { nameptr namesleft > not } + { duplicate$ nameptr #1 substring$ + char.to.integer numnames bump.int.mag + + 'numnames := + nameptr #1 + + 'nameptr := + } + while$ +pop$ +numnames +} + + + + +% The output routines write out the *next* to the top (previous) item on the +% stack, adding punctuation and such as needed. Since IEEEtran.bst maintains +% the output status for the top two items on the stack, these output +% routines have to consider the previous output status (which corresponds to +% the item that is being output). Full independent control of punctuation, +% closing quote marks, spacing, and newblock is provided. +% +% "output.nonnull" does not check for the presence of a previous empty +% item. +% +% "output" does check for the presence of a previous empty item and will +% remove an empty item rather than outputing it. +% +% "output.warn" is like "output", but will issue a warning if it detects +% an empty item. + +FUNCTION {output.nonnull} +{ swap$ + prev.status.punct punct.comma = + { "," * } + { skip$ } + if$ + prev.status.punct punct.period = + { add.period$ } + { skip$ } + if$ + prev.status.quote quote.close = + { "''" * } + { skip$ } + if$ + prev.status.space space.normal = + { " " * } + { skip$ } + if$ + prev.status.space space.large = + { large.space * } + { skip$ } + if$ + write$ + prev.status.nline nline.newblock = + { newline$ "\newblock " write$ } + { skip$ } + if$ +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.warn} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +% "fin.entry" is the output routine that handles the last item of the entry +% (which will be on the top of the stack when "fin.entry" is called). + +FUNCTION {fin.entry} +{ this.status.punct punct.no = + { skip$ } + { add.period$ } + if$ + this.status.quote quote.close = + { "''" * } + { skip$ } + if$ +write$ +newline$ +} + + +FUNCTION {is.last.char.not.punct} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {is.multiple.pages} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {capitalize}{ "u" change.case$ "t" change.case$ } + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} + +FUNCTION {do.name.latex.cmd} +{ name.latex.cmd + empty$ + { skip$ } + { name.latex.cmd "{" * swap$ * "}" * } + if$ +} + +% IEEEtran.bst uses its own \BIBforeignlanguage command which directly +% invokes the TeX hyphenation patterns without the need of the Babel +% package. Babel does a lot more than switch hyphenation patterns and +% its loading can cause unintended effects in many class files (such as +% IEEEtran.cls). +FUNCTION {select.language} +{ duplicate$ empty$ 'pop$ + { language empty$ 'skip$ + { "\BIBforeignlanguage{" language * "}{" * swap$ * "}" * } + if$ + } + if$ +} + +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {space.word}{ " " swap$ * " " * } + + +% Field Conditioners, Converters, Checkers and External Interfaces + +FUNCTION {empty.field.to.null.string} +{ duplicate$ empty$ + { pop$ "" } + { skip$ } + if$ +} + +FUNCTION {either.or.check} +{ empty$ + { pop$ } + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {empty.entry.warn} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ url empty$ + and and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + + +% The bibinfo system provides a way for the electronic parsing/acquisition +% of a bibliography's contents as is done by ReVTeX. For example, a field +% could be entered into the bibliography as: +% \bibinfo{volume}{2} +% Only the "2" would show up in the document, but the LaTeX \bibinfo command +% could do additional things with the information. IEEEtran.bst does provide +% a \bibinfo command via "\providecommand{\bibinfo}[2]{#2}". However, it is +% currently not used as the bogus bibinfo functions defined here output the +% entry values directly without the \bibinfo wrapper. The bibinfo functions +% themselves (and the calls to them) are retained for possible future use. +% +% bibinfo.check avoids acting on missing fields while bibinfo.warn will +% issue a warning message if a missing field is detected. Prior to calling +% the bibinfo functions, the user should push the field value and then its +% name string, in that order. + +FUNCTION {bibinfo.check} +{ swap$ duplicate$ missing$ + { pop$ pop$ "" } + { duplicate$ empty$ + { swap$ pop$ } + { swap$ pop$ } + if$ + } + if$ +} + +FUNCTION {bibinfo.warn} +{ swap$ duplicate$ missing$ + { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" } + { duplicate$ empty$ + { swap$ "empty " swap$ * " in " * cite$ * warning$ } + { swap$ pop$ } + if$ + } + if$ +} + + +% IEEE separates large numbers with more than 4 digits into groups of +% three. IEEE uses a small space to separate these number groups. +% Typical applications include patent and page numbers. + +% number of consecutive digits required to trigger the group separation. +FUNCTION {large.number.trigger}{ #5 } + +% For numbers longer than the trigger, this is the blocksize of the groups. +% The blocksize must be less than the trigger threshold, and 2 * blocksize +% must be greater than the trigger threshold (can't do more than one +% separation on the initial trigger). +FUNCTION {large.number.blocksize}{ #3 } + +% What is actually inserted between the number groups. +FUNCTION {large.number.separator}{ "\," } + +% So as to save on integer variables by reusing existing ones, numnames +% holds the current number of consecutive digits read and nameptr holds +% the number that will trigger an inserted space. +FUNCTION {large.number.separate} +{ 't := + "" + #0 'numnames := + large.number.trigger 'nameptr := + { t empty$ not } + { t #-1 #1 substring$ is.num + { numnames #1 + 'numnames := } + { #0 'numnames := + large.number.trigger 'nameptr := + } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames nameptr = + { duplicate$ #1 nameptr large.number.blocksize - substring$ swap$ + nameptr large.number.blocksize - #1 + global.max$ substring$ + large.number.separator swap$ * * + nameptr large.number.blocksize - 'numnames := + large.number.blocksize #1 + 'nameptr := + } + { skip$ } + if$ + } + while$ +} + +% Converts all single dashes "-" to double dashes "--". +FUNCTION {n.dashify} +{ large.number.separate + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + + +% This function detects entries with names that are identical to that of +% the previous entry and replaces the repeated names with dashes (if the +% "is.dash.repeated.names" user control is nonzero). +FUNCTION {name.or.dash} +{ 's := + oldname empty$ + { s 'oldname := s } + { s oldname = + { is.dash.repeated.names + { repeated.name.dashes } + { s 'oldname := s } + if$ + } + { s 'oldname := s } + if$ + } + if$ +} + +% Converts the number string on the top of the stack to +% "numerical ordinal form" (e.g., "7" to "7th"). There is +% no artificial limit to the upper bound of the numbers as the +% least significant digit always determines the ordinal form. +FUNCTION {num.to.ordinal} +{ duplicate$ #-1 #1 substring$ "1" = + { bbl.st * } + { duplicate$ #-1 #1 substring$ "2" = + { bbl.nd * } + { duplicate$ #-1 #1 substring$ "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ +} + +% If the string on the top of the stack begins with a number, +% (e.g., 11th) then replace the string with the leading number +% it contains. Otherwise retain the string as-is. s holds the +% extracted number, t holds the part of the string that remains +% to be scanned. +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +% Converts the word number string on the top of the stack to +% Arabic string form. Will be successful up to "tenth". +FUNCTION {word.to.num} +{ duplicate$ "l" change.case$ 's := + s "first" = + { pop$ "1" } + { skip$ } + if$ + s "second" = + { pop$ "2" } + { skip$ } + if$ + s "third" = + { pop$ "3" } + { skip$ } + if$ + s "fourth" = + { pop$ "4" } + { skip$ } + if$ + s "fifth" = + { pop$ "5" } + { skip$ } + if$ + s "sixth" = + { pop$ "6" } + { skip$ } + if$ + s "seventh" = + { pop$ "7" } + { skip$ } + if$ + s "eighth" = + { pop$ "8" } + { skip$ } + if$ + s "ninth" = + { pop$ "9" } + { skip$ } + if$ + s "tenth" = + { pop$ "10" } + { skip$ } + if$ +} + + +% Converts the string on the top of the stack to numerical +% ordinal (e.g., "11th") form. +FUNCTION {convert.edition} +{ duplicate$ empty$ 'skip$ + { duplicate$ #1 #1 substring$ is.num + { extract.num + num.to.ordinal + } + { word.to.num + duplicate$ #1 #1 substring$ is.num + { num.to.ordinal } + { "edition ordinal word " quote$ * edition * quote$ * + " may be too high (or improper) for conversion" * " in " * cite$ * warning$ + } + if$ + } + if$ + } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LATEX BIBLIOGRAPHY CODE %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {start.entry} +{ newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + initialize.prev.this.status +} + +% Here we write out all the LaTeX code that we will need. The most involved +% code sequences are those that control the alternate interword spacing and +% foreign language hyphenation patterns. The heavy use of \providecommand +% gives users a way to override the defaults. Special thanks to Javier Bezos, +% Johannes Braams, Robin Fairbairns, Heiko Oberdiek, Donald Arseneau and all +% the other gurus on comp.text.tex for their help and advice on the topic of +% \selectlanguage, Babel and BibTeX. +FUNCTION {begin.bib} +{ "% Generated by IEEEtranS.bst, version: " bst.file.version * " (" * bst.file.date * ")" * + write$ newline$ + preamble$ empty$ 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * + write$ newline$ + "\providecommand{\url}[1]{#1}" + write$ newline$ + "\csname url@samestyle\endcsname" + write$ newline$ + "\providecommand{\newblock}{\relax}" + write$ newline$ + "\providecommand{\bibinfo}[2]{#2}" + write$ newline$ + "\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}" + write$ newline$ + "\providecommand{\BIBentryALTinterwordstretchfactor}{" + ALTinterwordstretchfactor * "}" * + write$ newline$ + "\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus " + write$ newline$ + "\BIBentryALTinterwordstretchfactor\fontdimen3\font minus \fontdimen4\font\relax}" + write$ newline$ + "\providecommand{\BIBforeignlanguage}[2]{{%" + write$ newline$ + "\expandafter\ifx\csname l@#1\endcsname\relax" + write$ newline$ + "\typeout{** WARNING: IEEEtranS.bst: No hyphenation pattern has been}%" + write$ newline$ + "\typeout{** loaded for the language `#1'. Using the pattern for}%" + write$ newline$ + "\typeout{** the default language instead.}%" + write$ newline$ + "\else" + write$ newline$ + "\language=\csname l@#1\endcsname" + write$ newline$ + "\fi" + write$ newline$ + "#2}}" + write$ newline$ + "\providecommand{\BIBdecl}{\relax}" + write$ newline$ + "\BIBdecl" + write$ newline$ +} + +FUNCTION {end.bib} +{ newline$ "\end{thebibliography}" write$ newline$ } + +FUNCTION {if.url.alt.interword.spacing} +{ is.use.alt.interword.spacing + {url empty$ 'skip$ {"\BIBentryALTinterwordspacing" write$ newline$} if$} + { skip$ } + if$ +} + +FUNCTION {if.url.std.interword.spacing} +{ is.use.alt.interword.spacing + {url empty$ 'skip$ {"\BIBentrySTDinterwordspacing" write$ newline$} if$} + { skip$ } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%% +%% LONGEST LABEL PASS %% +%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ type$ "ieeetranbstctl" = + { skip$ } + { number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + { skip$ } + if$ + } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%%% +%% FORMAT HANDLERS %% +%%%%%%%%%%%%%%%%%%%%% + +%% Lower Level Formats (used by higher level formats) + +FUNCTION {format.address.org.or.pub.date} +{ 't := + "" + year empty$ + { "empty year in " cite$ * warning$ } + { skip$ } + if$ + address empty$ t empty$ and + year empty$ and month empty$ and + { skip$ } + { this.to.prev.status + this.status.std + cap.status.std + address "address" bibinfo.check * + t empty$ + { skip$ } + { punct.period 'prev.status.punct := + space.large 'prev.status.space := + address empty$ + { skip$ } + { ": " * } + if$ + t * + } + if$ + year empty$ month empty$ and + { skip$ } + { t empty$ address empty$ and + { skip$ } + { ", " * } + if$ + month empty$ + { year empty$ + { skip$ } + { year "year" bibinfo.check * } + if$ + } + { month "month" bibinfo.check * + year empty$ + { skip$ } + { " " * year "year" bibinfo.check * } + if$ + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + this.to.prev.status + this.status.std + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + name.format.string + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { nameptr num.names.shown.with.forced.et.al #1 + = + numnames max.num.names.before.forced.et.al > + is.forced.et.al and and + { "others" 't := + #1 'namesleft := + } + { skip$ } + if$ + namesleft #1 > + { ", " * t do.name.latex.cmd * } + { s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { " " * bbl.etal emphasize * } + { numnames #2 > + { "," * } + { skip$ } + if$ + bbl.and + space.word * t do.name.latex.cmd * + } + if$ + } + if$ + } + { t do.name.latex.cmd } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + cap.status.std + } if$ +} + + + + +%% Higher Level Formats + +%% addresses/locations + +FUNCTION {format.address} +{ address duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + + + +%% author/editor names + +FUNCTION {format.authors}{ author "author" format.names } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { ", " * + get.bbl.editor + capitalize + * + } + if$ +} + + + +%% date + +FUNCTION {format.date} +{ + month "month" bibinfo.check duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + "there's a month but no year in " cite$ * warning$ } + if$ + * + } + { this.to.prev.status + this.status.std + cap.status.std + swap$ 'skip$ + { + swap$ + " " * swap$ + } + if$ + * + } + if$ +} + +FUNCTION {format.date.electronic} +{ month "month" bibinfo.check duplicate$ empty$ + year "year" bibinfo.check duplicate$ empty$ + { swap$ + { pop$ } + { "there's a month but no year in " cite$ * warning$ + pop$ ")" * "(" swap$ * + this.to.prev.status + punct.no 'this.status.punct := + space.normal 'this.status.space := + quote.no 'this.status.quote := + cap.yes 'status.cap := + } + if$ + } + { swap$ + { swap$ pop$ ")" * "(" swap$ * } + { "(" swap$ * ", " * swap$ * ")" * } + if$ + this.to.prev.status + punct.no 'this.status.punct := + space.normal 'this.status.space := + quote.no 'this.status.quote := + cap.yes 'status.cap := + } + if$ +} + + + +%% edition/title + +% Note: IEEE considers the edition to be closely associated with +% the title of a book. So, in IEEEtran.bst the edition is normally handled +% within the formatting of the title. The format.edition function is +% retained here for possible future use. +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + convert.edition + status.cap + { "t" } + { "l" } + if$ change.case$ + "edition" bibinfo.check + "~" * bbl.edition * + cap.status.std + } + if$ +} + +% This is used to format the booktitle of a conference proceedings. +% Here we use the "intype" field to provide the user a way to +% override the word "in" (e.g., with things like "presented at") +% Use of intype stops the emphasis of the booktitle to indicate that +% we no longer mean the written conference proceedings, but the +% conference itself. +FUNCTION {format.in.booktitle} +{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + select.language + intype missing$ + { emphasize + bbl.in " " * + } + { intype " " * } + if$ + swap$ * + cap.status.std + } + if$ +} + +% This is used to format the booktitle of collection. +% Here the "intype" field is not supported, but "edition" is. +FUNCTION {format.in.booktitle.edition} +{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + select.language + emphasize + edition empty$ 'skip$ + { ", " * + edition + convert.edition + "l" change.case$ + * "~" * bbl.edition * + } + if$ + bbl.in " " * swap$ * + cap.status.std + } + if$ +} + +FUNCTION {format.article.title} +{ title duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + "t" change.case$ + } + if$ + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { quote.close 'this.status.quote := + is.last.char.not.punct + { punct.std 'this.status.punct := } + { punct.no 'this.status.punct := } + if$ + select.language + "``" swap$ * + cap.status.std + } + if$ +} + +FUNCTION {format.article.title.electronic} +{ title duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + "t" change.case$ + } + if$ + "title" bibinfo.check + duplicate$ empty$ + { skip$ } + { select.language } + if$ +} + +FUNCTION {format.book.title.edition} +{ title "title" bibinfo.check + duplicate$ empty$ + { "empty title in " cite$ * warning$ } + { this.to.prev.status + this.status.std + select.language + emphasize + edition empty$ 'skip$ + { ", " * + edition + convert.edition + status.cap + { "t" } + { "l" } + if$ + change.case$ + * "~" * bbl.edition * + } + if$ + cap.status.std + } + if$ +} + +FUNCTION {format.book.title} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + select.language + emphasize + } + if$ +} + + + +%% journal + +FUNCTION {format.journal} +{ journal duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + select.language + emphasize + } + if$ +} + + + +%% how published + +FUNCTION {format.howpublished} +{ howpublished duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + + + +%% institutions/organization/publishers/school + +FUNCTION {format.institution} +{ institution duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + +FUNCTION {format.organization} +{ organization duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + +FUNCTION {format.address.publisher.date} +{ publisher "publisher" bibinfo.warn format.address.org.or.pub.date } + +FUNCTION {format.address.publisher.date.nowarn} +{ publisher "publisher" bibinfo.check format.address.org.or.pub.date } + +FUNCTION {format.address.organization.date} +{ organization "organization" bibinfo.check format.address.org.or.pub.date } + +FUNCTION {format.school} +{ school duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + cap.status.std + } + if$ +} + + + +%% volume/number/series/chapter/pages + +FUNCTION {format.volume} +{ volume empty.field.to.null.string + duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + bbl.volume + status.cap + { capitalize } + { skip$ } + if$ + swap$ tie.or.space.prefix + "volume" bibinfo.check + * * + cap.status.std + } + if$ +} + +FUNCTION {format.number} +{ number empty.field.to.null.string + duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + status.cap + { bbl.number capitalize } + { bbl.number } + if$ + swap$ tie.or.space.prefix + "number" bibinfo.check + * * + cap.status.std + } + if$ +} + +FUNCTION {format.number.if.use.for.article} +{ is.use.number.for.article + { format.number } + { "" } + if$ +} + +% IEEE does not seem to tie the series so closely with the volume +% and number as is done in other bibliography styles. Instead the +% series is treated somewhat like an extension of the title. +FUNCTION {format.series} +{ series empty$ + { "" } + { this.to.prev.status + this.status.std + bbl.series " " * + series "series" bibinfo.check * + cap.status.std + } + if$ +} + + +FUNCTION {format.chapter} +{ chapter empty$ + { "" } + { this.to.prev.status + this.status.std + type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + cap.status.std + } + if$ +} + + +% The intended use of format.paper is for paper numbers of inproceedings. +% The paper type can be overridden via the type field. +% We allow the type to be displayed even if the paper number is absent +% for things like "postdeadline paper" +FUNCTION {format.paper} +{ is.use.paper + { paper empty$ + { type empty$ + { "" } + { this.to.prev.status + this.status.std + type "type" bibinfo.check + cap.status.std + } + if$ + } + { this.to.prev.status + this.status.std + type empty$ + { bbl.paper } + { type "type" bibinfo.check } + if$ + " " * paper + "paper" bibinfo.check + * + cap.status.std + } + if$ + } + { "" } + if$ +} + + +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { this.to.prev.status + this.status.std + duplicate$ is.multiple.pages + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + cap.status.std + } + if$ +} + + + +%% technical report number + +FUNCTION {format.tech.report.number} +{ number "number" bibinfo.check + this.to.prev.status + this.status.std + cap.status.std + type duplicate$ empty$ + { pop$ + bbl.techrep + } + { skip$ } + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ } + { tie.or.space.prefix * * } + if$ +} + + + +%% note + +FUNCTION {format.note} +{ note empty$ + { "" } + { this.to.prev.status + this.status.std + punct.period 'this.status.punct := + note #1 #1 substring$ + duplicate$ "{" = + { skip$ } + { status.cap + { "u" } + { "l" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + cap.yes 'status.cap := + } + if$ +} + + + +%% patent + +FUNCTION {format.patent.date} +{ this.to.prev.status + this.status.std + year empty$ + { monthfiled duplicate$ empty$ + { "monthfiled" bibinfo.check pop$ "" } + { "monthfiled" bibinfo.check } + if$ + dayfiled duplicate$ empty$ + { "dayfiled" bibinfo.check pop$ "" * } + { "dayfiled" bibinfo.check + monthfiled empty$ + { "dayfiled without a monthfiled in " cite$ * warning$ + * + } + { " " swap$ * * } + if$ + } + if$ + yearfiled empty$ + { "no year or yearfiled in " cite$ * warning$ } + { yearfiled "yearfiled" bibinfo.check + swap$ + duplicate$ empty$ + { pop$ } + { ", " * swap$ * } + if$ + } + if$ + } + { month duplicate$ empty$ + { "month" bibinfo.check pop$ "" } + { "month" bibinfo.check } + if$ + day duplicate$ empty$ + { "day" bibinfo.check pop$ "" * } + { "day" bibinfo.check + month empty$ + { "day without a month in " cite$ * warning$ + * + } + { " " swap$ * * } + if$ + } + if$ + year "year" bibinfo.check + swap$ + duplicate$ empty$ + { pop$ } + { ", " * swap$ * } + if$ + } + if$ + cap.status.std +} + +FUNCTION {format.patent.nationality.type.number} +{ this.to.prev.status + this.status.std + nationality duplicate$ empty$ + { "nationality" bibinfo.warn pop$ "" } + { "nationality" bibinfo.check + duplicate$ "l" change.case$ "united states" = + { pop$ bbl.patentUS } + { skip$ } + if$ + " " * + } + if$ + type empty$ + { bbl.patent "type" bibinfo.check } + { type "type" bibinfo.check } + if$ + * + number duplicate$ empty$ + { "number" bibinfo.warn pop$ } + { "number" bibinfo.check + large.number.separate + swap$ " " * swap$ * + } + if$ + cap.status.std +} + + + +%% standard + +FUNCTION {format.organization.institution.standard.type.number} +{ this.to.prev.status + this.status.std + organization duplicate$ empty$ + { pop$ + institution duplicate$ empty$ + { "institution" bibinfo.warn } + { "institution" bibinfo.warn " " * } + if$ + } + { "organization" bibinfo.warn " " * } + if$ + type empty$ + { bbl.standard "type" bibinfo.check } + { type "type" bibinfo.check } + if$ + * + number duplicate$ empty$ + { "number" bibinfo.check pop$ } + { "number" bibinfo.check + large.number.separate + swap$ " " * swap$ * + } + if$ + cap.status.std +} + +FUNCTION {format.revision} +{ revision empty$ + { "" } + { this.to.prev.status + this.status.std + bbl.revision + revision tie.or.space.prefix + "revision" bibinfo.check + * * + cap.status.std + } + if$ +} + + +%% thesis + +FUNCTION {format.master.thesis.type} +{ this.to.prev.status + this.status.std + type empty$ + { + bbl.mthesis + } + { + type "type" bibinfo.check + } + if$ +cap.status.std +} + +FUNCTION {format.phd.thesis.type} +{ this.to.prev.status + this.status.std + type empty$ + { + bbl.phdthesis + } + { + type "type" bibinfo.check + } + if$ +cap.status.std +} + + + +%% URL + +FUNCTION {format.url} +{ url empty$ + { "" } + { this.to.prev.status + this.status.std + cap.yes 'status.cap := + name.url.prefix " " * + "\url{" * url * "}" * + punct.no 'this.status.punct := + punct.period 'prev.status.punct := + space.normal 'this.status.space := + space.normal 'prev.status.space := + quote.no 'this.status.quote := + } + if$ +} + + + + +%%%%%%%%%%%%%%%%%%%% +%% ENTRY HANDLERS %% +%%%%%%%%%%%%%%%%%%%% + + +% Note: In many journals, IEEE (or the authors) tend not to show the number +% for articles, so the display of the number is controlled here by the +% switch "is.use.number.for.article" +FUNCTION {article} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.journal "journal" bibinfo.check "journal" output.warn + format.volume output + format.number.if.use.for.article output + format.pages output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {book} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + author empty$ + { format.editors "author and editor" output.warn } + { format.authors output.nonnull } + if$ + name.or.dash + format.book.title.edition output + format.series output + author empty$ + { skip$ } + { format.editors output } + if$ + format.address.publisher.date output + format.volume output + format.number output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {booklet} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.article.title "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.date output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {electronic} +{ std.status.using.period + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.date.electronic output + format.article.title.electronic output + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.note output + format.url output + fin.entry + empty.entry.warn + if.url.std.interword.spacing +} + +FUNCTION {inbook} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + author empty$ + { format.editors "author and editor" output.warn } + { format.authors output.nonnull } + if$ + name.or.dash + format.book.title.edition output + format.series output + format.address.publisher.date output + format.volume output + format.number output + format.chapter output + format.pages output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {incollection} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.in.booktitle.edition "booktitle" output.warn + format.series output + format.editors output + format.address.publisher.date.nowarn output + format.volume output + format.number output + format.chapter output + format.pages output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {inproceedings} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.in.booktitle "booktitle" output.warn + format.series output + format.editors output + format.volume output + format.number output + publisher empty$ + { format.address.organization.date output } + { format.organization "organization" bibinfo.check output + format.address.publisher.date output + } + if$ + format.paper output + format.pages output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {manual} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.book.title.edition "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.date output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {mastersthesis} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.master.thesis.type output.nonnull + format.school "school" bibinfo.warn output + format.address "address" bibinfo.check output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {misc} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.article.title output + format.howpublished "howpublished" bibinfo.check output + format.organization "organization" bibinfo.check output + format.address "address" bibinfo.check output + format.pages output + format.date output + format.note output + format.url output + fin.entry + empty.entry.warn + if.url.std.interword.spacing +} + +FUNCTION {patent} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.article.title output + format.patent.nationality.type.number output + format.patent.date output + format.note output + format.url output + fin.entry + empty.entry.warn + if.url.std.interword.spacing +} + +FUNCTION {periodical} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.editors output + name.or.dash + format.book.title "title" output.warn + format.series output + format.volume output + format.number output + format.organization "organization" bibinfo.check output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {phdthesis} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.phd.thesis.type output.nonnull + format.school "school" bibinfo.warn output + format.address "address" bibinfo.check output + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {proceedings} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.editors output + name.or.dash + format.book.title "title" output.warn + format.series output + format.volume output + format.number output + publisher empty$ + { format.address.organization.date output } + { format.organization "organization" bibinfo.check output + format.address.publisher.date output + } + if$ + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {standard} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors output + name.or.dash + format.book.title "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.organization.institution.standard.type.number output + format.revision output + format.date output + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {techreport} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.howpublished "howpublished" bibinfo.check output + format.institution "institution" bibinfo.warn output + format.address "address" bibinfo.check output + format.tech.report.number output.nonnull + format.date "year" output.warn + format.note output + format.url output + fin.entry + if.url.std.interword.spacing +} + +FUNCTION {unpublished} +{ std.status.using.comma + start.entry + if.url.alt.interword.spacing + format.authors "author" output.warn + name.or.dash + format.article.title "title" output.warn + format.date output + format.note "note" output.warn + format.url output + fin.entry + if.url.std.interword.spacing +} + + +% The special entry type which provides the user interface to the +% BST controls +FUNCTION {IEEEtranBSTCTL} +{ is.print.banners.to.terminal + { "** IEEEtran BST control entry " quote$ * cite$ * quote$ * " detected." * + top$ + } + { skip$ } + if$ + CTLuse_article_number + empty$ + { skip$ } + { CTLuse_article_number + yes.no.to.int + 'is.use.number.for.article := + } + if$ + CTLuse_paper + empty$ + { skip$ } + { CTLuse_paper + yes.no.to.int + 'is.use.paper := + } + if$ + CTLuse_forced_etal + empty$ + { skip$ } + { CTLuse_forced_etal + yes.no.to.int + 'is.forced.et.al := + } + if$ + CTLmax_names_forced_etal + empty$ + { skip$ } + { CTLmax_names_forced_etal + string.to.integer + 'max.num.names.before.forced.et.al := + } + if$ + CTLnames_show_etal + empty$ + { skip$ } + { CTLnames_show_etal + string.to.integer + 'num.names.shown.with.forced.et.al := + } + if$ + CTLuse_alt_spacing + empty$ + { skip$ } + { CTLuse_alt_spacing + yes.no.to.int + 'is.use.alt.interword.spacing := + } + if$ + CTLalt_stretch_factor + empty$ + { skip$ } + { CTLalt_stretch_factor + 'ALTinterwordstretchfactor := + "\renewcommand{\BIBentryALTinterwordstretchfactor}{" + ALTinterwordstretchfactor * "}" * + write$ newline$ + } + if$ + CTLdash_repeated_names + empty$ + { skip$ } + { CTLdash_repeated_names + yes.no.to.int + 'is.dash.repeated.names := + } + if$ + CTLname_format_string + empty$ + { skip$ } + { CTLname_format_string + 'name.format.string := + } + if$ + CTLname_latex_cmd + empty$ + { skip$ } + { CTLname_latex_cmd + 'name.latex.cmd := + } + if$ + CTLname_url_prefix + missing$ + { skip$ } + { CTLname_url_prefix + 'name.url.prefix := + } + if$ + + + num.names.shown.with.forced.et.al max.num.names.before.forced.et.al > + { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$ + max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al := + } + { skip$ } + if$ +} + + +%%%%%%%%%%%%%%%%%%% +%% ENTRY ALIASES %% +%%%%%%%%%%%%%%%%%%% +FUNCTION {conference}{inproceedings} +FUNCTION {online}{electronic} +FUNCTION {internet}{electronic} +FUNCTION {webpage}{electronic} +FUNCTION {www}{electronic} +FUNCTION {default.type}{misc} + + + +%%%%%%%%%%%%%%%%%% +%% MAIN PROGRAM %% +%%%%%%%%%%%%%%%%%% + +READ + +EXECUTE {initialize.controls} +EXECUTE {initialize.status.constants} +EXECUTE {banner.message} + + + +% BEGIN sort code based on that of plain.bst + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + { s } + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + { skip$ } + if$ + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ "" } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ "" } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ "" } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ "" } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {author.organization.institution.sort} +{ author empty$ + { organization empty$ + { institution empty$ + { key empty$ + { "to sort, need author, organization, institution or key in " cite$ * warning$ "" } + { key sortify } + if$ + } + { "The " #4 institution chop.word sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + + +FUNCTION {presort} +{ type$ "ieeetranbstctl" = + { key empty$ + { "_" } + { key sortify } + if$ + } + { type$ "book" = + type$ "inbook" = + or + { author.editor.sort } + { type$ "proceedings" = + type$ "periodical" = + or + { editor.organization.sort } + { type$ "manual" = + type$ "electronic" = + type$ "misc" = + or or + { author.organization.sort } + { type$ "standard" = + { author.organization.institution.sort } + { author.sort } + if$ + } + if$ + } + if$ + } + if$ + " " + * + type$ "patent" = + { year empty$ + { yearfiled } + { year } + if$ + } + { year } + if$ + empty.field.to.null.string sortify + * + " " + * + title empty.field.to.null.string + sort.format.title + * + } + if$ + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +% END sort code based on that of plain.bst + + + +EXECUTE {initialize.longest.label} +ITERATE {longest.label.pass} + +EXECUTE {begin.bib} +ITERATE {call.type$} +EXECUTE {end.bib} + +EXECUTE{completed.message} + + +%% That's all folks, mds. diff --git a/mpi-energy2-extension/IEEEtran/IEEEtran_HOWTO.pdf b/mpi-energy2-extension/IEEEtran/IEEEtran_HOWTO.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f196c7f8d9064c1ec82c8c569d609dda106ee8f7 GIT binary patch literal 705216 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%0DGqC>f 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� zY;ZZ0l=GCJkl58dTj*8GokcSlV}kPJ&@v36r$R(Lw!_ot;iZ!ks}E|96Q2ovkb9{o z*2xlNd3f54>`0ycq%`T)uBx**t`oKn2--6GO3e) znecl-`^?DF%x9vAJDsX_1vfk?-df(!BG>Y*fI9g(PmGi$(e|7joqp1|j zDM}CL|K>2`Mm#NNCSIQCJRuRB+ViEpUWx(5RK|lK{zt7|f=l6^51YD;20y;XD#G$? zx@q=^xM_^jRJMQyjSHi)2e;?#>Z>;t;xDyCnrRc9zD81f$JrQ3D3sS%eVwF*W9Sx$ zV2Q{3>aJx6950z$IV6Sq`QxoyOL1u!WDJHTtaD@zWJ&N5f>>lF)o>0?a-LHMa=sGs zH(XLO`X8yUuRDj2JR{3Jcj_S4k%&9$m3{ogdy3z^AV&>BIZ_Q-C3?Br3Z5Nj{#|BX zxD*2Y2a0s%4OKA)65M<`d641CKq+-2J86YkjtaC+i^V+Fq*RGNTY}!$G*%Y>!TS$8 z26;QT0BdC}(|XHZgwz~Vm3jn$%30k}eLmP{*saJF#7$H7mB^*ZouR|z&tQRjm)`wYAq`P4$`a=tNiMbvZEnf4 z?|AI#$p)1V)9m{nfYIoYlKuPKbQz2SzN+6u^CjonLbPH!{kCqKlmF@4Zs$rm^Je0A zWjMJ#kAT@^cQevp63V&?z0x!UvH;8H0Di;nIJA>*A^m7sPELFyf+`_XQsUXXVWe0< zo>oICYiu5T;#4*LFy@qC!Obb)*`^9%Ro@(dcQDGmJLQ#2=|~cQEw57ZP{ZYG_qR-~ zDYTq33uj;O>^GNq`SXt4^8;973Z1oiW5ojZdb5@IxTnT2LG789PJ7Bpn3m6KLKi-U zRFy15{@4UFQ>ppH&Vkg%pWZ@f_vj6cDt!{fn85k{ES9}cFz81A)p(9T2ItFTHnvt&GG@Jd=M!y?=AX!O>LpFMtfR5lS zh{r0wz>r7F8OzCcm+!+2LM&&u%c4@`l4mN^vGSo&uKw^?17$k9i182WG8s;bGGfm1 zHbhK*5{rU&?rJw%lY2$L2gv;K!@JX zAQ)nBuGW4wx7wtGQ`EwIQ9Gm~2rGSqOoW*wd2G1yP-gIJVcBBc1Jg+YTUpiPTzx_$ z?Qc4r%-xlq7Z`#G%8kDi9fl-X#rE$1f)4NEML5%JKE z>9RNMEC!NUS$VhydbaL$7SKB0>i9CMN{a7VJ5r^wx9)4VY&I$t+?M^cgVkRRp*5tD zKl3B>vnD1UZS%lExv4?X8?o}x5L!-$ZiVLlJ0Q3=jsc1Yp#dB-o|e}mjs|NsV@;|_ zSjgLkp-ECJMsS<&3f!wqZ#Km>Qqi@hcsPDFn;48XPo}ec5O=8RhrDkZX@0Xw;W-Ct z<9iLbO+#zmDTC+u_0Dr-ibiPaTXC&Zi;o~>9Bquz^NH@awK#Q;Blc?Q#L_~Vg~re7 zwC;A{*bx~jhf{>X)5zaqU$*i#iDXz&2^Jq>n%WBMcQ5=jbJOJId$G)+*TQ~sueU)~ zqH+{r_3#NS__V_){m!P8ubzTenjgkUvB)cET96HXW=x6m#tA!iry2+m!(IBqscq8V zmP!6-Wr&PEM#hZUP~05X#wJfv51lKB*(aTMjz6M8**WvA>XYGtHX40P_;zHiz2IHV z8Em(%njBV(&-Q&bf}k(UxTDGh1%;bzD=NOX+%o6r(Mr!P_mF#=Orv z!ijfYiP^fEM$#f%kJ`2wKgd(++>x{9?Rr5VPrd+u-`@!}#u-~FBAm+gsG^0P{c%3W zx4LZaVhiIK=Jv{&$_9KLOke+QocX;6Bm(lXA+3Z+KK9Sb6XgaZN9TE9YPaP?TaWsl zi~C|u>d`#p4=v*Mh%FJ3XBjQl-OVAFZ6r(Mq7udpa~-dszYlj?Qm`)p&AL9oCwp7fVb^lNYWh$B?OPxu7j##g?#x%f$y#N+Q2?>!_0V!F@@` z3QfLx1dWKv(ES#MdeN>BS7k5kG=xa$*jrCAb5y@;sj1m0*4{aOxc9LJc?8iCf6p_8 z>dE7$R@8VY&U!^JCM-G?M&9tMD0L!b_?1Z$`j^qtGGz$OqB)Ugl6@Z$A6|H5o3%ow zM&qB)PDSnhfDkN&fF~N-)<#D;O`<52oBbh}`P}P}*!t#e{

@7#lEmvtQ(Kqt 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 c?Xv~~6o7zxFOAB1R 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

vHgm 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 }dYX1Kzd-uPMB}@+ZZk3Dy@os$ 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≨G36Nu|? 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

9BOM0 z0m6px|7K2H0w5U|paL(}(t*~s{i$(H!7w0eU=R8wUAs>J?f?GMbTsF1Fm62MyKy5G0=CXh)G9VQ@h$R^03^s?F0Xc&m z0ZVhgYzIofKk!=_dH8?L|5EZtVXibYb+NStoB@D?=AvIg>@E+Nnu353Oy&?fFt8R2 z`$Gw?L>(X?X^1Tx46=222(h<>fb`6v7v3Ex(B=4k>WzGyzgW1rgPT3*(vB~T(-!Cg zATt+$hi`A@0rCKh%+%Sz24Zgt*gFge`gLJHKOP7eoukJuxjLI$0Je8&iWgO43$eTC zv_PBLI#^!R1khi9Sh_RB5_*vpu(Es^*Z_DS&`f}dUv!Gg!QsN}f#v6m9^rgt{=c4q z&0OHX5aM#tzraA_I$HhGb1pQve5M(&fhEvAFS^gKQa~gvV9nIb1<(!x`n7z&6y5%! zd4Pp(=L-=lu&u>amcLwt{n~FXD@x*OxRAIihs00DA#v3{62I1t#Ki~*l8^yO{V0;m zm9Wf}u*^@wGQUbGT%}RCN~7>o8iile$iS^Y%2(N`TqRezO0M!#a+O~a{3><1{@`fq z0aCf@xms7ET34c4KZ$DnDx-IGQ`5@9*&YP+3p-$xGqr_*E~*|FiojR5!9U3Y<15f1 zL4f^VSse&`Sq)%di26|t7o8FihFl3lei8QRf5Zvpv#q@%TIzXze;#q-2}QmPzfGC zF8}PI=K9?S#}$PO@L>QHT`bVm8L%+J#m)WW3~+vObNx7>dm;1pA+=hk5VS1cG_bxMYy}VezLZH(*2g1<*Gwh*#a|c zEi|^{!vkqtKll@C8hl-ROf@H&29kxDZ%;WTsc~fb!yVg|IUJY$3wN&`r?8#=^urhg3Qul6sv>JBE|Q zVIxg9*Sbs1$VZ{y@NH2$DMao{S4CLCLQMiYGNw88eUR4)dOxnbdNV~5f)-%f$bo{^An8?fvywC&0p*!QV`E*# zxB%CU+k4eGARL^TEgjS*gxkwVvQpEkIB0VIvvqOZ#$HJ0{URh!{f^HpCbTe$owI zh#39xik&2ZEpJdz&fJ)T&laW6@Z?V@@DIeOH|iPIr+AODLJy`+Q_hw1*H8oQ_=`AV zZ?@4PPut(3HNki=&fU-=GrNR(O2KJ@M>4)|EPXoh<@S->o15l7Z97FK;{yHH*##7& zX=!Cz&N-SnMmZ=LKcGBwaYjvQbQ~}B9%IA5&UpKpl(2+oK z_LlBAvqlUI`>r!^#pC3f&sIrQ_4S?)`g~G+KzDB}BfC&1#!Ct@$y7khElq7mV2{vv z*M!FCFdkB?wUiN~dQfS#mruX=Ci8TwnqeUPl}mGwWuYenziL+A(U9nF8F$0s7`epz zlwwpPqSf}-DT_8Sghw~%7gQC)E1_f?^&;R3aVr)U`&}sXbAM<0w>hq3$9Fdp%#T$$ z=5pPPFvxlkgSgt6PGzXQu(Pj)X43nZMS|u#W)OY$$0k$w?S!St^4?0S5GZ&=*I+Uo ze3iVLT9iAgA9LKcnQc`|mR4t)`iiepWKjkG#%#W0AWV65XGwI|iV3}DSxtSFnynbC zz3x1-VMWw%P~>ik%=KYDb1rcj=7-}pgr4P9N2h30;RVFAFP~H#j`prG_%()_T%*0= zccYh0f{=_45A8ngTP8`nFYUWS>_Y}Z*nF${b0VA+zP#>p12-<_yx*ej zD2f>tydvJD3~#S$R)p5l#%AEUd>8 z?2na^BD2%S54?oUx}C~uZTi`6j8mmXP}p1B=W~_3l&xB0UC7`}BDL%D37Z~_>fqb* ze_{^3sV3XIAqO@2Fx1@7Wu;o9=h@BF|Gmp*KY^+r&Cpi;)yoLzP-e-s7OHK4@zx)l zQ>YkR7xYwdqc=s%mOGRyL|DD6^F6ArXB7Xvx+)hws%4uZ&aEA&f&CtLkb`t9YU!ld zM1ZLE3#u2~Sb{fAq1usv3PgxaJFqHUsw7$;e0j#~3=k8a4j< zE;v=iGCneN%<8F|eKibGhlQT<W3yB{unQgGKs`g~HC9*2%5keT?sqQ7DmJo8}-FI(y=-X2>e?4MQ&`Vl(^O z6S0zvP^?+LZgCpyyA=d2>njHBPuDzaZ!q>~?!ECQ%sI9tOEKBuKB#^=cOUKe zNoe&oOVi+4-qrVz=Vf(k`?ge4FT9*BYGYLS9O#gQo=FpnVF!rCfXIa6(^nbPWM&B$ zf|P5c4?kNx0DThwd>m-7?b#$o^O19cRI8|^uaRarwoS6K;8AX_tnvEZI>UGfV+E7; z;t{wO>B#rXi$_c|<>roNr!dde=EvxINI82}7P1Wrp*DXqnY`ZEqzEZaxg#8RTK@2D zBp;^n=?Yi;pzo~se%zU=Uo*dY%u|~+l?nkn`6ygz<^W=*?BSSfard6Wd$*sES7foP zflkD+?RVpRpT-)2k56MA;v%bx_o1GP*M&t*du%q}nwIDO7`i;q+ByZo&m}$haV9xD9JM^|hIi(I;&o%^; zAvil_{;5JITGnti^o)BV|0He~|IOPW3%3ho~1-X~+{iD-L&ScIv2<6JGmIJR-=*PZ9`7NK_+; ztX7wp=U01>1T76#!^R}!9k-spw`0wzkiy2}^@f_ZC!Q%@Fk-0^OCSG;-Kj6!_r>}* z#;1a}x{S;^w?HoEj)@eq(s-U*_DfmmjiCFV5R{(JrjdR6%C%iu@4Eb2lwK4UVX6 z+6v|tOUG|;x-6e(Ywf8;tu4HtTTEPL|I|2(r*@5$D0=OaKZSL$$3VuqeYLmv#9E%Q z=!qY3Z5C;y%A6s4lW}ns;Y{pt>$0xipOW8DjWA7c zOwhPucT5mAlT_^&?YRXpyv@IDs~(Buc5N(l=OC1j(k+leb5=<`oW4C-wBPg&-zZMS z{I~3A{v~-8Q5lLYeJ4T7jAG9o$%V80wg^mT89_ZM1_Dl?wqB>)%sPxC-0VN>`jVko6o1PnY=$U@$v9YLW|Wkh74LYhsH8-zk2G`H-&{gW ze0FL-@FVX$X|H^1li?IPqZ!fq_qz*Ajp&oL>gg`G?B*iH-Q<&lLs#%g;Ge_8>dp{A zWY43%?3{t^=Te*WESJW=8*ysB2KA^K2dI|t(u`QhI@T@s^9vnzcm?orZ+zr2#2BQz znW?P!=>cnP8-F_Y4(wP;&RDO6M=SPgXVkkBsKUwzIpyoMC3IugpT&x29}vKo70pbJ zV!h_xQ{67c8aW-;+aX8}P3J0Ju9OJA{<1V5so`~H&dL1uLu9%wULA7gPY1i(Q4DCT z%Bq%9+GVAjEARVbFcX{^8d-;;C7R<0>EFqqJj^*h+8JcXS{T>rr6u zVsXDIKDFvLZ++k0JTw-zNa5v^@g)V25Zl*R$_XJmjILd$bap+?G{V?yCPYeu2SMG= zA2Li2vyCJlS8^olJ$h{wlj8E~kXzry(!)D4IL=yIuGEHc%hSf#EzdSwS_fow+r0Q= z2bXl-8_a^BLMrQYmWn)BdYex!K-{GLEg8m&Y7`xIR7!@hi` zm(nH{-im;pA;x_FgmUlPmt=%*#7|Hl%=Z=7c6UE3pb*bD7{s^W9#sr)t@b_C>D;z7 zMvY~O3Q;;fz1GD2#YJsq0)*}A$G@yVU5`=c_Q`Cb%h2;7udy6Qzn`{8xOeW-raZXS zLVPu&gXMM-I4yqDBaE?dQs_WjNhC4|s-DriE<=v^aE2Ev9SnUpMKj=FX-;Zm+$48@ zJ3E!HR1s7i7W~fUT^wf})1s{;+rvO(l}Z8FP81_=q=?q-EkiP&u6&NyOvcY&OK!P< z2lSOZ-jlvoR6ba7C$J9EUAN0RThUx;bEext{7&6+WL-c0c1kiQ^;3|Y+yg}ReD3RO z`-=j-?(q&ECn7uvPs}$>sx~?*2g#OFm#*6nH1NC16v-NEO`ORGqsx8Kio&MqHurQn z9PRf_eWp{;P9ZizuJ-WTZJmk4ohFa699{Y4=kd&We(G;{`Q7t2czP7&V_BLd6cuV6 zwHWGba-g?>Z>>dWkFaI|T9ta3<#N|^(-K^OK+g1~UY6DpE*oL-Av!jJUL*U7NJDe1 zm!)1sd=!%q-@@m*78v|c{od)z^cTLujT1p&@ppPROgz9-!@Kw3Pydj^fc+ESf^BXazruI@f};t*1xg z>Qtyb~xV2`KJOb|6xI={fh({_pwEn@?V8U~)d+`w* zm93L9AJ1zay^oX0VwqoCEVDMI6;01%vJ0{`xLu{dj{`HLOQ6enBB=(uB7y z{UC~*oQ{6nO!tO(is^m^k&^Uk!Fmzn-S3?quWjqt=i6v8I*4aEs+hH0h6!S<)#cu* zcdW4(lQBc`s$eRc7q4>V$;1oqlE(wLZ6xG=bcr_HKw7 z&taW(=ew|2!NMVc81!KZoL<{)XbLQnK(gm%(jHPlI`>YR^vx_nLZ5SFJV^8^l^FI{fDBMkj6jd~>9O z!eP5CGeN4zcgtQv#MZaGtTQ4ODn!ccb1IKsI&>LDPv)YCy_BoSGSX7srO57IoLAEB zeEd2VyqcJ0ESEgWw{WQbN(aZs9G3*;EpFP4#OIkwk=MxX-WU%+ZFZZ;)-;#&(`jIH z!v27#C|XLmky(<$^+L*Cmim#L8RH%DZwnp4Dm|g&>y@jdLVissBOIN!(DzCxmU<%F zGITm^90`_Q$yD&Jj=_%497u>1$r|k8I6`+lJ=}Amm7jI2lg%d@K+IFw1NEq8A2a#l z-x`fR*@=D~D>0G66D!qy(jDK3!kVrEl@%YorSvsimfZY4?D*MAJX`9(+C;(Ibzc=iw~}weR_O1O`)bqbL9da&{wmLQWW(R5 z7ed&28p6|dSl2Z$^57pQ+Ing zEtXAPjY3p+eGId?aO&~s{i9awSBJPScbM%urulN5J{E^=y-XaEH~7x5km|$j`QY|* zTn3c)=S^6Nj57{1%|7zbTyPaf={q!xbJ@XhZ{^v!m{&b_Gq{H+{)f`|@k*S&=bMo=uP@erk()60t3+k$aJ z9#bou`XKpegZ>CnB~iss(#ot|Qs5Z5D%o`@ze&qecVyM0;>_$@xefDooJrQVnU;kO zJGCEH7~PjdY{Wfnihg378TlerJ#|a^n%n!2lUU<9*f$%;LiZ6)xSaL6)vzBCCU6GG z7GUtomJKd8756$+ptzfPKWlXwpfIPTAYIlMY%t(@fy1A6YI%J}pOV(^gKxC7R&VP` znhN`TWG8OE)O9dQtn23U8EWcvyLP;fU74-0U- z#Y*q#o4-r1GdgqWDRc>~rmI<}J1#=vrF<|1?o<$OmTp8) zRqoL3PTIfAwKRn%BpQv|wS9-gXY}V0^oIsaGN*2gC7KSMzF=vZk`@_^3~zv}k&It%_X1)LzMh{~C`rv3K1% zeo+-<*`D&<+3vk8TOJh^8j<#eVn>hh7q@Os<>!{LtTa9CF?IgN<bq%)6(% zIAnskI%LVbRh$;Jcq5UFS26V6H}A}r#t|t)@qZ~V^X+SY9SBDseg2{P;;?(imOgq<8RmMvC zE$f*o;?xn6mm00+=Oj*>F@g2zYn)Fl72g=Wk=}gkc#^55!7=HL+^MYC`a+qIYo6vN zq4)OD}Xh48OIh#D+%~MFA)VG z4P6~66%7_;sGX?`Ov%AskxkOU)?5XEcLGlYa+Zd`%$%W)a0h2#BcH3Be%f5;^2!e^ zfduTr@kYtV1^70kz>e~lE@?_$UckF?@sx{uYyhR`>bc6mCLfglW9|xYur1U~;=&Do zAqP|e9Ac*pzzBfH>;Cd^9&W*_$4N>$xKkRi0U#8%i!G4^04I#VC7ld#o>;;t0pH6- zWoSU)l#C$oFHUDD;B3BdH3NP{kO$M%a{!+Ug!0OTqyEz_LRS?BD2ipkcNvnC1Mt-R z_ICj>`}z7`-T86157+aEBk}kRwfWf_k^WkN_dj3%+sxWFsmL)1J+|lG{iNQAqIh&LgaFkb&^ zx-IN0T*3|c|ipjzz%X~2E# zzxsBX@A`ElCv;fAX|?cqF5%`>?t5p~XK82d&1br&+~^zxhE1gzodt9gp`7K&sK(rMvKk!W8m@|||I6i*? znLH=`c#ar!PJ?nT_w95l{MaqzY>e(~YI3n&iltJVGC^C}4S91Y0&(2#7Ku37=A$0* zx6_ZOsu!ZMznwe3b4HR9dnRc#JN%f`J~`s5iS=1N zazm+ehvv9MI5G37;~xG^@3!8p7oeCKyhTEip#E0OPdNTVX$^^-J3 z;N%29u6X=-zdrB)U3S{o5|@RRboCm?{NnuLO@#5<^Y6z)A6FeXf>bFx7xw4AQRk=e zxi#;pG&=BpM!g2a*6KN}XE~x+6f?s^s`P(+V4MYRU??P0=k5)o$ex1ZF~_-j5;T0f z=FI+fu%l<2C7|pu^BMd7D19Rxl<$K$_b2(%GF_7$2DJqFABw3-439=g99QDiQou?V z!`X}Y0-fwoHsfy+WO{MG*g4_Mse1yY{^U?p%yl5yRx^D&(YrzcBjk8Csd=N=CWQiZ zJDxinkK+yVvy%7>w3n;RV-pT^l>t<^K7LsMP}XO zs;FWY67}uc;jP8?W8`B8T{--~?ycRV8qLsa#yYBd?!*oWNe0h^3`K9dop{39D}*NcTeGJYnA&;H9wa1mJp4+Jra}@`F4NyeY?@d2m8@f}5S-@@ z`ap~WI|BMjvQ)}L6*YHGuCTgXvlpbV#E!n$GL<9BR90Hv9mZRYK!_-K{n<^YbaZ9& zi-?%2da3#G11-KgV$*gO{Y=UO56~dqG;EBCKM=$v4<$#FPJ6#j8nVqTUgdHqH@-0wwe>s23;+CD_3vnOhkIrui(5#v0@Y4Jd~CtO;_`r#6+4#SXZk}B4Z^kpV&kr8UjZ)g-4 zy(%4*q>FdbuqD}ZSQk*ceLNZ{@>TbPEhcu>OCK%6IRiP5&%z#GMT5ALY8PT3S0$x= z42wv&_q;3!6YSjw$(CuH&cM-nVL$cusoRIteS*IQKqA)_N` zMRLnHPrHgflxbqn+zv+iK0(By^059o!I$scPCBhAc>7-aAD&##mjM=T=v0>O_*j%$ zmV7o?|DKu|DXN~Gp0HoAq-1&<-ff|s{6NIcSMlTQ`t<1|vuT^xutTccNq@f#X(KF! zLHmrZg@a9Q$<#JOy>Wvs516rYc7vTMyqw)O2j$?A`8RPcMbttT89Az?PX8E7Ban+2 zxdK_AetiG)2w%fhH%#Q47Qn{JEQ-6v4Y0Xdz-EIb}7n**z zIdK`Gngu)Q;GM30l+4;rY>utsm(5So^v-2w+Hl~H4KzOY>?giXA6_R?97grvv5Jp< zs8u>YH6b( z4Sn=`b?681r=PO4LM!T~Uxt+_Dt!2w$V1~y;6&DsBU&MIw~peO4s?}>^uW)uqs)Cq zQEz6kpx4*Z>x^s6rKDcu%!Vdrx@&Fg#8M+j{?7F}kW@wYpnA2sOmwVCaKIe>S;N?l z{wHi?*FzTY-QIlU`9*3fV~jqeAv053B759;H=@-t2}QQ3j&Uu9J7wRpgrYci^5}LK z6ExVFQ2Y;%c;1fBGDPenSr;veWj6Zo-r?iTxjUQrh{^l8`$}(3-gbIlq4ah(_;InD%OGnh|nEz2?30=Zl_#{29yit#%-H$W~DuS0|(R7_6_N8SG zZT7A^)fkcEotWButLdBl)42^2Uv&uZozK9$Z&vl=t-Q^(9`$Z!3l(Vw;U2)sO7TPER+7tWn8}A8|lxaT>I@{+; zGliGMG#n2-6UV&Eyi(Qdobzb`Rj(n2uJ<%rV#DmIb=x&UgEdo!M9yi>;bx@Eiz#n@^^{@ThXv&OUheitx3SsD4bK5CYGWha~ykLr5; zYWMlc#Tez8SzHRS41B78*z3 zij{4rYFK4lGWyj5GxurZgT1riyRMBJ^DeW?F8xHbFH}N?%{06H(j_&}=yzlE$tu4p zZ*OF2w&w77?$bq6nSdY{NVIxosw$Z7lJ`+&Ur-2!b-U) zg}JNyY8T5!YnPDw%eBlwj$ZBT*=uUM*CM+q$7M21gWHZpCNt7eI{qJP?-(Rmm;P%P zyUSHwwz_QFwr$(CZQHhO+je!?w%?kWGc(VenD?Cjhx0A>irl$!?TlEz$XM5X-GZL` zd4gJ+4Zc#`$$UN=4J4C?@xm!+Il|khCgsutZ_sx{@?7vWuc$UQf}UU!_3lC|`n=4| zk)6E5xfQdy&WjA$3CIur%^`-Bq4wS9^R%(ynjSds7k09z3b9yg8WoXc1jW}AAQ(MW z;<77u_bYDjdwx{T`IL-?2Onzrnn0Db*vR8|q0XbAo12AJACK_s@&+U8KyZ^NNNdEg zu1~bwSvmDGr763l6J85}?f?tCtvk=j8!nN^K%1oEPiwI7C_hoQMv@nPjz?UAxwEY3 z4YK18=+NbEKkW`P?5q z7M+3KpB+YWsPwp^F4L`j?e(W!OBX(%l*sn|T6vE^=Mil^^tgHaRF}^!K3B+YvG0<- z7zvaQwm-Dh({L_Je-^=Ni=v(ceT-qI9kODo#~lt^E?^`X#(M5wh1019PxI_^Wuq}n zza8N`Mi{Mi&OW6%@kf!#imeTp?&>ieWv1<+7euDwU6jeq+leUvzuCG&tHMNp<2%qwR?l zYk31Q2(7SPLx%`1(PbcB_pIin1OZI49c%KBHmtOs|Dtd>tUIE7gI9zxFrzyrwugO8 z5qt2U)7RZIR=xUO7 zABlX^u_hShDm<@cjYpcH0%__BqXsJ|F&1kD=5g&ds+y-x4#sFNcEf4%)Y}KeCJd3i`%%ZAVREafF~Pd6 z_SrV}XmB-A?_whXOVLi4m z+;%@PUL4(5s5h4^1|3s~CQYdl>IReF2V1V+a+cmLte5lU>ctLzK}e*wZz(`1787Z$yn)F(CJIimxgj zfsxBer+9Ej;w|f`$f)bjXl-Uz70xroqfoRJsbAGlEICqkaGukk_(89b_8}VaE&4AY zd7Rxy<`PqHlDTgZ2~bMOc~%K8YrdlP@(Yr?uxuD(g314$3j98o=gUiy0KYa3`7Ny1 zTQR=gZa9CCEcS8EVk%@Gj(d@N-*=Y$!|hHmBbE-m(p;Z7UN5$8!7_}W_K?9(1-M)c zVO{xB4{s)vtx%2K7u@V2Q96LpcF|T4+^cn_2%Btjx{)=ky^cKMnDl~ zsJozk8HcC+#3gpp|FO)2^D_-Q6^sD`)jhc%g@j?<G`ikFF)+94 zRBA^kQrIHsJbIo7)EOsbNbhn}c);Rv&HnAdc>Q`|#-^F0T z5PH{(%~6;tYS;Lp+d>b9BWz)>#%GZXo~{0^KH8mq}sgR}-aR*TD>;W->A{HE=v z)=O3@ubRoKVU#orc)FEmTfwIWsvfgkVHwpnoOqS$5y#wM`&iG-a*`aq4Dg(Lo(C6V~A=aR^DFX)UC7BiyrF2bpXk(Oy?cV-cvlv!kESV$G&o1)zK9 z8N1$8V}B?~FXvh1PBqm~Q>CcqX!28wMMlV>V@1Ya6pqiN3O&bc)VCKE`0U3i5sdP! z3Tj*7V+$-X(dpO8hgL+;J|Y|E|GX5a8NQDdzm;eUO0Ys)nsn7XLS`$6HQioCuS_UM zG$9UQ{-mhL8QNbfwbY4ID2k|7Aj(tDc@)WPX^7 zI`iI-V2#qfP4z%VE$1=bPY<-t<(`O}QQwlnd(edpImY!h5ARTGA0B>0Je8}?>`he3 zHue&LkaFh|XR+5+N-`5_-sKTMksyDpaLr0+zk1jil0vTM3e}p~!QB1MOc!lykM2*G z6i#(E&aKMDz)@N5;rOL*Cis|f4fjWLqN5pfmn=4whpVqDGA$@!px$~W*JhiIykvoY zp@iD9Ut56G`VPfP+STzMN zfYhXJqM9wrY)4jqn6Y-OXAd6B!(v0fdYE+14oR^3T9uZhDQ#gyhU|&T2=>mEE0*g{ zml(CD<#rizAE{QIL1zjFPSP#1+KA_d1o%Bg$eUkVB*Jr3ZD^$;zc@(YY4P*F|3X$jS(07r%BBGY5>BW&^R9M>hk zP()J3ImqhkKG@6MY~QRQ`ZkxuBMEy01n0MzvYZ25UPQZs$WELO4@+Xy|8u_hv%&)1 zYOEpBjZmB~_Mssu4*OVO78$35I`}~Wnwp1V#=?`i#~#r zqC#`r#tJ+@r(j);BupYCQ9l}L4uP0_bM5zJNySBfQGeNPWUmdw;Yr>?nwu12+q_tF z?1&KM#IIX0>G|6ddUt`uehMSCWwoNvJ9j~jKn(OoogqGRh$2XGQ%B{a{!!xD-%KcY zgkcT_e~Ncn=dVdFjM+m4PB~k$Y}JKkO;)3$_LTtQvSaZhGiq{1BB1JeUDC%!=7grR zKfCfnh{hFvBa9DvSf;A*Lbs_lf;!{B_=VX zZn?&*d*jGPl%B1$0*-Ie6PuRHUgyBK>h zFg;h#ImGvSMH26dIst+c=aLSMl654f%g*$T;{4)Q3FjK;aws?=B1$c{n!D@tc)-H* zr=ZCaZr3)~&eL!4e(O{H@ZgH=%yN1@V7b(&Z4rGwLbK}roj}Lit7RwB>picbp{TN^ zinonNniAY8ma@IzKuwXlR8(WFk)r}bOuacXsONZmQpH^sv}_DYg6*cCstFacl*~UO zo``NnOkWayc+F7mTHn(eEvh3KQHEEhIY#wTLlb)P_B3TylNOJFDaCMKYII7)T_7#N z*@{x??3^0e5~Nx^XY7G+$}Dqp=cyQNg{C&x(_ooKUvSfj14r`ANsO&i6l}!FKzSl* zoT0p1Eg$4zW%p?BMaMJgR!}JkuRj*o!v_muMB_ zw|v|)3c4k$zks+jnO7KHdkE-bE5{@gN4qA>%VW!s17llI%ghv>{C0(1(_&%*13>gL zL+kAet`$8|l5;E>iynS`$J^NV*>-Rm!<2R4vtHC=L=%PDm#=i$q%*Im6kzFvi2q{$ z^}rd{2ap>nn34;X8NToJm4wFC_1K3^5Lbaa}Hltj)H{rmt8yus3eLzQ;IHHDAq zGbSEjZ2Hk9zvUk-nnvSs-IeV!98@oyPT0BKLbH^X^;Yg|uuc52mi{FTKW>#6obFA@a1J zhd)hHUl{LlUBICSm$P0cywK29|Uiw1Yz zs0|(mpU@^xO%A)BO##-ind^GtgxlmokW8UD-3$gjwkOJZ$D`1MIo8yYz-1YkdJR!M zlYBj5rHbOhKY;{@7$Zv;A;3#jKgEKq&CdxARvc8=0#kjA>|$B_U+pwkx@i#XVc-IXAtfe zEPI5NKPZC}5DD5rQC1#MA(MSeZ)?$vggACr$S@J3r-Qy~$jLU+u62rmcm`wFd{u_o zUhH;)kH5?r$EGXp0XV;C!|Z7X$#xs6SfwST#`dJOG4%s9*{m?tXr$~83hHX91{oxG zOrtfJMH^&fwFabbbcA%lJ^e;4HZf2cIxesQeiXIh&bp-A?{Ree$wZ)d-A5JIK{m6( zd0VoAbFLXnIQxh+gT*>trr|Ku_hI=$LIWjo(gSa9XQ7-&uG7=$m@QimUY@`5zKqmRdk!i%CB(Em_G}=d2(X-SWfC6AEq$^JE zKep$_#S9z2s&?mP@U%KKO7BsHSiP(;0{&!=5Hv5|mItZjyRzrpS__R>a-NL!l;o5wa=I)Nx8Qqe<>aMie5L+~9k84G00(Z6rN+#ylN(`NcyKH3H#U zqyD~uY^u?`r8(;3#NH5o&+Z9|MFXt;AWOYc!Bwhr6h@v{lS7K>hl1lP=}W1O zC@uMXVh8!d&|2vX2EQoDTagrFYYJC}O@D>NK(&KEPO5|CbGH64maj$+_6;zrnyv>w znaVCPL*>Izuo({?En9iIye{2b1BHQS+I#EUy+|nwsr-5Vff+-0|sP$%R+));}{^%!O zK+sw~$EqiYw#H3gyb}C6e{mzlR&2!NrVF_hUf9Vd%2Sw10_JNr0;{d8;#s1OC6psK zJQ@k&_jD>ZZ$!f=aQy=6*Sb;HMc@yCLE#^E*QQ_3vkYGluNQtFqk zLA9C*>%$j*&yx?=+SWwoI#PG}Tp*C(_pkAvUthrQ+<*W9J{5mNQsR*|etmrbG|&|8 z{ufH*?_%bEVi*69D3Nc#;$M`=-@VL#r9^m@1(cN4{z{3+85%qOcS_{jAoMpLJ=>3PA;NMtKj%scFp)NwB$cw5?b1CFX{iV`dD5O3T(+yVpLkp zaeSJ5mT`f;LC)q8I;ug2W`X{XoT4L@m?XvM#I(IAg=nK3O+y2Nf(?bFG7W>Dra|x!7wsP%D3BEt6xp7<9ROd5fwl#pNAWRlR5B0`Q`4dtaFE2%6d>5s z+mq!&+}cBmiOYo}dfds&h2PF31{L#d9HytmsiuAZZB>m+iBCOGNzRHd%P}{}GuE+y zi2Y85@d^=1@DU2pDH##*2~sK0@Z!V59ClDtH=W>P_O_M)w;$&GdPo!~F)69a@N%j# zWja1GP=^@!&pk9`V-+$XOf%p8enH4U_)y7_C#jY@_TLjGIvhZM%hLxAwJTj+qdaRUqjkH}5}hZuT-xqvNl&&J!*UIBUAF6$|hdw>KOIH)f3)4pGa8KnRoRKJ0TR;qV#BJysB|| z6a=p}I4kWFR3~u%aNF&ofY+*TH1Dko0f#Pnd$0ltS7vgS-1{i5{2aTp(OrpPt&A?H zd_>{QS}d*jE-tkD0MBwIrOwDhzIyYzLT`>ynjxShB)v-~U%8?S3sv6o^m>SHz&F0@ zIL>)%Z!{~=e>-hM7J%%q>uTDy+dD zw-=i2A3FVG5KYpYoZL`NE+XM-M|gU99&N1GMQOMX1F72o@n;ESy>b+T64MDS#A_MS zqobIYp;dnwHeF48Pt^U9BoQTxlatfB&bLfg__A_$nRt+Wa9f*YfYO2*rIk;V`qjBa z;VxPGyIq{HR*=!Ch6z2peSi6p+S4qw`j^$7U0c~w877r}??H_SzEkaD_S5+hy#f9y zeI)-_t6%>@#0wf)9yZ6^ld+^@+MjXH5|)i#R@}ac?JBFxnMM?DuJ!5Z@F>o@*dvYE z9VCpk&6I{qDlV4-j*G#rQBpmoPqS``Q-Ds2}g?Lqh5-aRA8C)JS8&PLWdlkR_>dFA6wE}#iukMhL2w?gKO(8oq_0x(k~bVO%kd;O|=M*yO^ea_D6X3wOUumDW(#?kOya(ZOqQ9tU2`&!0G^yTrX zXNA)-(}e~J86h_j8x;j8A>3C0gy&Ju$qEuW*M(|u1eyboxWEKl`qBc3 zxUi6<_#~YSy`fHuLFj?|V*tz0^xO`8Yz5WuH7p2Q^OJ2&g@yIQ^M?ux-~=YLW#-po z&nk?LuDQj9-Yu+ex08Ik_pdtVhBpk|yX7YoiQcKv)zOvNzAdzC=5oK1=WbWFbPTqy z`1R4|gQYU|=-0Hg(NR_s{8X)G3|$ zgWV=AEUGJMA1J_XKEG!sW@ZP_kN59U4yhlxH(#pR0Ke29f*v22u)o$UpQ=l~27CKf z!A&g3z=kJonTu=hwl|EBn{2i}(GW@1<=Fw~=esY6s2;!Ok02c0mHkV;Qqj`737{m; zEh;$yhhsZo2jF@|7pfuE0}YMC6~y#q1UR8-vGahTqXbJ(u83BI^(3NoO-nD|GQ z&Z}`HA|$?;)L25*TYx1IDKa7_0gHl`yxAY9+si7!XJ*&>ke`)jy%`aDdL{<$ak!A| zA@#}Ez15~atx;x{_PIyDkWRE0x<^AwM9IqLKaMhAt4RX8*VxNlR=x-yxy51|>0h+N zy=ejhFE#+RpuDAVfg#C>efF&RsEmxRzWAHGduhIw)s|*fXZx^nKAH`P4!w~+xxKy` z=RROjY1Q@F`wpLq#aSrTtm!#3(W0*EhAD&D78198# z>z~!4FfYqO{G-U_%Zw(e4R}gq_>*{3w}-h?Zs6Yjfu#COFx3)_5{9U;e^XSDurtn? zr0)bqNjT+<7@eDL8HgL|R@j{YXK&$EWkM=J2(DqRuik!aAih|*thY9HCpSxdqzl-i zEki{m?5YYbBq7!dhV>aptqe(Phe75<670G8VmW)@bW_XC6>;BX{}&ToHH6WNdD8{m zm1xY#1yDz5T~u7<&qQ<;=DYdW4!+R&4f|H@Gb%(qsg({%5P9DZZ==c)U}L)6v(O-% z9;=eK%)SmY%Q92#w-`GVAtOX~@v}{}92k-mRG~givRDDNi%b#@M=wb6bl`1o!{F5+ zB3Le}GK?F?`zh7MjPaEHQ?@0eT@sos#^5ZyEGAn-bf&E^7>QA+pG=!3qmm+VNZI6W z4$m5bZI65L!^y4v9CX5FCjH8Vo8IOWiWe5Ksxq!(=oeI0{8seC+7M&Nzn^xb1i*er z|K{(bQyW2tUHoLjV41Snt`ih5XL)$yfVM>&zzfkv&V*xRJ zDB`qwpo;*x3?(r8fik(C>g#?)i@gbO#Z!U$>p+j!kJ%5`i&0x&;aD7*bv>{NYRYb( z!2@%_M(g<~g@m(qlGyJ|m6vXom^De~U~>skP;M|rvl8hb@%dNdBmr6w0AJwF$sLi4 zIjZw-G84JYjOYM#PKin*8T2TYZ!?UM05$t&qHOMY(8q zI?G*Bu$u}mvf1qGKSA9N9{lqwX!eqA)_29Jzj+UN+oAu((bjedFh{2bU zyt2=*s}jFBz<29Ge!!JADrWG(jR5LdI8!K%*by8FlO_e6=7AV zi4?2<0E6ZJshE+#&8d!o^SeplQ;kU!Fa!*`iCBpp;w|I(xqoqTSyK0{j5Pv=7ql=G zJ6=}+evJ`{Xn^RP%2o_d|Kk76ZO@=Y*i^n%yvIR`+Aw=W` z&eR^g*5uC?>5QXvGZwo__o5*$i5~ z$^|U75Hwz3*$}^Q3rFNRBlOya3DJxWu&T_$oq z?)@>V!PV{jN7~T*SSXl&soaz^BrEpi_OW@VtGBu=WGfP`G+^R%gD5w+RO^J!YPJ`~ z)`31a%OFJ~-|CT`fApH@Kf(<~ka2g=&wE+(IuFZ!LR^(PQhb>L;>st+T#_GqD4+B& z7J%czlofXRM5S>t$9T1fBNR03<9O3}SH*bAC^*U3x-E*cH-}PK`Ql8GrL^3vk)-fz zpL?TrumlPL2kI|=E!gjW+7)O!z{~tb?lU6h>@H8E_8h8+G6XO4S1LOan02gX^DA?< zeHZl+KzppvHHZ8Zr{OZE*ln`X$j@SH|8j1@_2X1=eZWFnnK!OiG0|RYYG4-Tdp*aC zu!?1j-@NZ2@N!Sx+2Rp$;wrThbqZ>RtEDynI%cr1B`MZ1c~X0B|$v&iZM0ksY)LX*6gSsIIu|GaBx z&ZaJt#E{>plD^7)S*2bRVOrcFCMyv;f;7iu(GU#COrUHZ?36<89|=l3EMDD)P3ch9 z%LDC8>XX2Od6xJ{B8PbJ9(5Vqa-@vQq2t|jRU>iSbbKX2mjE`Uv}y6#5rMvuEYNV# zSdAi{g?VuqIAYsM`p9OHN8>$E)|+{5`XTft>Q&`iur|06=K@e@-hduuxDtQtv6C>R*(DpVHbJ0ls)c# zMMkf1opZEZOss9CMKUf1JC=M+Y>as;FfwH9h%BH{dwToj?80F^#=r(O2?rwCHwbK5z_)`$bJzK_y!MhZR_UZa)! z=(;B!*%{j^D>))1BcYY_)ZH(a3ABqrGz0puZ}9S}CNIN4o1n6CbO6#%T30ZB6iP|yGKsjH`C7Y-e@`M=a+7k^^fYe2$@%wdxOqQMa@FiOV z(-$?}Y2GB4Dple76t=~S%Zsg!w)Y7~_{Pc3;iL0KSL6moLI8`lQX`m5&~~mNi*FA8 zw1lU=8P$uRh3I*8ZAyef~?1$riw z7f*m20ZZN5p?YeIcxa>N=E0%AF;r;GM`(e?MQC;j{Ad9uI|5@_L7Rb_Y0%evT`!i( zr*)Q^v`%D(Do_8xPdQE@tJIwcqJZO*W^-rnZN9ZLav*2ei=J^qJl(QB!5?2**KB|+nQ9%r`0uu9Q`u4N*W@qC7v>kmzgiklAxQ_!D4ymM^cQd^VXTAQ6)MP7O zESej8sok&IQ`l`{?svr3Pyh{dIbxpOk)&tN6mzim;<%1 zy(6WzGRC*EkA3kHLz{7)K+s;8(SRa}3LAk#lTSU|Gmmawy6POY5LptEz$)H z-Pt%qlOXhGzE<057vz+9hPOh_*avU3zNapFtaPDn%34M-$%k>N@U=2}lu~&q^@E~G zhP|NPZ~xREIr2O+S`W#-o@rZHq5xJJ(&}Fb4%bTgiKpd;8ivi3eF;AfEV!xtM)=!2$}{g54ZP1Pb|yx<*fUBnTDGcwFp(?c(I4T z_7%8pqfW1P8wo2^%PwP?>LTb7DiefeRwAa&1ND+#B?o^XB^bc~;L)QBRhS;1GHBx7 zufcVTEvDpwct64uZVlEQX#gb}c6vNE+xMJ*0)EjTdYapF~D5;a7D`AeBcQ!h4huuty`45A7 zcjV$Xn?0w_xXZ6(`&6f^oJ4}_k;;k zuQvNl9V#hOKK#ZcZ>GiOqGQ+_hfKwv125@FMlfnNr-krWLZO))!pc?N4(#Ma*(nb+S9< zMO#f0Fo34lR;~5ps*!MdzJ^NJUmj%oa=|?3o1QK8`sonbsunU3zo$=mwhLH$h?ys# z+S+mA%pG}gGUl0_-_u`*W<;kv&q{}zT*@OqY~w`rAl^TOy3eAw=Eh%Q1cpZ6b71b@ z#Z=&YK*43TxgcMb4xFcP<8b<(Q$Ig~pU?*epRrncwNpf&2w5&998!EBlT0W4@A1uG^F53OUK*g!d&?_3Bhyk=74 z)EwBvcDAK|z|Pii1h!vl+h92M?tDJwpFw3J414Nssfg)c<`-?!c(%yrHxQ}(cyaoZ zQPMzTu_JleDyx5^KJt;In?8tm$$dG+0$BwpHJy>8iUHb7(}*=Dd3K(^wUAv%(Cufp zHA`I!qRcAO@7|h%`$uu!(7GV~)fb~WP3I`JAlVjy_U3aX_SVoj)ZY2p5W`}7w5EG> zieAs45NR&nI+`wVzf5hfj01+7PZG91!a!2=5Kj2{(CYR-txrW>W|o{IBIP6~jTe!A zzpw!ACS;FfSx>~(q}z_{KJ}w(!rO%lT3LnN?(Q$!{a(&q)YO#n@(!G_vtZB!`9?>J zinJym_^{S)n)B4AMNuWQs9PJsI2?w|y~@^Ua-oJw*W&w+(;9Ga5G$KJS(Bv?vS-rL zSVj>D+xuoI1!merL>tLew2FVhRF&I-98WpwR%+OiL9oZHhYo>3XT@ftF{$h7Ttt)# z-fg-zgNa-&E@K?2VvECMTciSpCW9E?gjUi?F`fWM!aMt#5GV^&OBcMaYHhgf^KXrl zliH-5?GIZ(19)oHmN_7c<4I&XAAN+1aHWI@*r_N*y9h`Hr(BUD^6pn;EvPtFv$B<1Is@{0ryL~bOgy5E7~1k=XR8bg4D*;%sji?m!-q(?SgrldGt z6M0L6Hpzn}N7_D->+K-Y{>c`Dxc%tryrNJcsa{7O&%XbdDQp_D#LZf-zEl6=9RB^r z?(Q-ia7I;A?suA@1}2D%rR$i1<&EkvwJaWABN0KxS1z zScs~E^E0#yy=%BB{u|BMio9-VD4%vR$hMQ+AFVK>e2FeY-Yb|Ho;K^XvAZLck+l+0 zPE4$twV2&0?`BCleK^a&bi3sD2wkl>8_yRvJ-a?0!b}sje7fh@vi_L}iFS@1ywRJa zF=kvt1jKh_G$$f5+VZs3fF6wc7(Q6k#PvJ6TW@a|EmRqi8%(PV8H zNrrT?b;a$4U-J|yX_H#SOdskR@gjnR!#XOY3FpQG^0pp0|`gbxs=?y!Ki( zSy6J_t1c}^_fL|0Mes8%3Cp&?iY{vd4e@cz?Wv?=*kH5|8hVjzr$!}fiuYHA2weTL zvbUCIg=u!ePNyK`&UMXsdYstN6P)nA@M)6b*zFUOymm_Hxm_ZC{IR}<);xRs*vxCG zzbc9qyg&n^#va0#Yb60ZRU&Bk;51)BL#L;a3tyi{13>ecd@OL?`{?Y z9koUi$vK}E$oDUJPiE`VOX!8ru@l^Xf-i&BkmH8FWk5AG3?a`WYkr|%%egF$7%>tL zU{~YQUdMW37y^9MbQI5F6yh$kxrMtHMe=Iwb*TDWmeb0o-3>)D4<8pdFpF_PAFY}l zxh|{LHCAo3#!!kxyvT+;i;g;?CLO8kYs&La+?b;+dbNYP`0r*ezfCqSR=i-Ct5F%n z+QA~h#Ayp4FU>dl1^`!C?SY>-OMGp4*~?2a1G%!b`!vAqZQ$!zB_~uChO1`7pVU+qOdEYdHu40j?1v5Gsiv*(}OCCTX>ZehmDfKh9L`TXWF`M zQqS2N@#x()j~mCgWRCUo;R81GC&nuF^5s)pt4ZL8q`6zd5=hO|wSh$TS=jcYUm~fi z0~zyBuAZQkL+_lcH=PEqNqv9|aQ?dUO=@G8`pHx6UUvN<#@ii^=Thak-#8PgNc)?2 zy*Vd|=fDzdC8~?Gzi2ZIxrS>3>3sft`(B1_7!RemQ0d1aenVZz1q=TXYyeOQi-G7; zopjaNP!8k)0fk0CwAd5%y47nwebb2U^&~H3$z)yj$I`_83|iQrA!)jpF*U1-3Ds)$ z)N1mN$ZS20_9s(}X`&MP*zL$ooHfE61LTT8z2imr2cK!rEm2!oeRfI%eDgtb;8d}%yr6y3Q|`ZL~B>osyemP#Jh{o zkVMv{9xDi4q^gj55s{uDGi}yi@(cE%ZICL8S&xE2Y!So9x$T*)JTM^q7!!&6{#kgY z%*Im`TKd>9rMwTv-2`q8^*=MVxyHPSXb(KJtKH z8pHjf_;T~0wWsPrC^ltFP7MZhs#9zOSsJDGbgkAv0_ic%>OD;)-ap@H7fUVk zD_3f2NFcERF|x+ruy;OVtqLr z3#=LRP_-2)mZkc=E6pEDe?UR|2QPs1J|ktUxif6(Ld%V;bh5w_Uf%jmX!?;Vv437Y z>P966&?J^QK1-TOXYD<1zx=_*PJDZU{$SqBqc7$m-wbY4>o0K*QzfjR@Jg(9u*JB< zr*7*xHV{_cSB4wm<{USSwY`5Yz!)dd8hm0BY7w!7%%!{DPvgb5Mc6yyPSeQD!VLI@ zvIQlD@wl^t@%R?(4eEtY5QZNC$v(mc=8E#;WRk@J35Khcj5oM;qamtAFv=`o7YmmR z$AEg>Lzu72;|7bu`jAE|aGB)|$6Kx#*-;mLC4Cq{U2y}eU}tv0oEry23Lg2T$soAK zQiMy(oDG|N7zqp$A_wRr(cQKO8lO*yBO}}2Z6q*>_L`9o3Qv%~_Hp@-g8kGb~ zL3?eXoY`g|&H~U*@^eZ(KrzF9J~+Le{q1B0cWpM^1z*7%t~!{8E6kSL>6qM{-e3Xi zSTIazXub7A@z)jX+)k+2%VY~vd;CC&dWRjK z%&gR3&h6=pm$Llm5t^Vv5*D|BBfSDKVCxZRB+E^80w|#Iq{wuAf`)m<`Y8sb+jD0k zhwve_;uO<;sx{LGAMqUGw4XQY)&BafHpCiA_m81uHK!M$`8u6|h}K}V1Mr3;mniGy z%ZQ^sMI4eg?I%Mrty%O)`{=lez_F z6$|Q#m#)k%31;cZr%r1=1iI7EQq+2b0xOp)_fBW96Pp zm%^Q(Sm~&TK%E5ykHE+PXt;(+b**P+f`F6U?w@zWP3`t*s@@@iE53o;1VCcsojreW zv}Q+ODT6Uwp=WvqsFnlN%MnXVmLtejCbQ`3O+XJJB5)EPpg7EU{d9#IZ6Y&`Tg;dd z5(E4QdOs^wYa;f>mU2!in`)JMqtBIJibhx2N%BgsOY`^6`YW~Q}-;_i46 zpF8=gHQivE84xqF<(~UgR?waLLU%wD0)fAk)A|5_>N$h~zU5qGp+~02S2dQ0F{;7s!ztX~* z#QL1JR;+Kh+YUj2`Hf8e0#;>98U}`f{Bo$|#T*h+*m;c}FFG_47>uKF_w^-ZL8U^8#dz*J^i)-gO-Y>! zLirdjC)AZF;k_Z{nS{ba<}WvLi6V1sd^|s7M(o6A#);Xd%ZvtT!W1kv5ke&0Qj0AH zeC@GNGhp!ma>`fZ6Ny+_?>LvqQ}Hd2FK{ne!_nwu)7SIu^f20lOuUCxjq(HaKR#tr z0BS?$N-h(>aAL`?N?b3||}$=~WpKA=k>V3uKTw z!hiEmn)(hO3UGBN1n%SJm_^mbUx_BpRfH`Fa>{`Wy>Kv zGz>HF{Iv5sS5Pu*9@8x_wwY?za=m~<%?uWhY#3foA55OqS%!c#o98r*O^0G18tvQO z&9c57x+lJH`@x}AY^5Rsh7b6JMG=G|HFrvZ!zF&GW3R^;<0=_fcSdHjBE`Z*(J9ov_dG4ExuU#1HSAo-D$k%Fk_b3zbICsQM8zzUk%LHs0&t%00yX=}R>1 zP#M*ipHh$cMw-*p`LAVew))l^e8@rxh~7iUrU-Kx3;hS~+g-5!%mlS1!=HVlSGXE` zuPLbM4SuuKHuMoCW)Tj!8ychupzBm}`lA!*y&SVP>`KSGyQyS5S%9&zMGf#+JxIJH z_I7#ifc35n1HWXlf%pc~C1dX6nb~V=tz*!xS}wKvga$92cVWgG2{!kX4b2?DoHLJV z)oDia@jg?pDM7g8XLE1XdpbJ095N)|ktWF&1x3B4*OxoRkO8>{dX>5*on>oA+nv)) zk_s%Yvp`IV`c$^CSEM|cMcT+4>dTf`aMn+qDJXoKJ*5n)f6sw}aw>MxwzQrhY)A&# zDG5vm^vilh;{yxI-6M_X{ZX)`o^Mq74eSVzcHz=1jtyhXr_- z;j$#WnYfUB?uS~%7~%Sr>E7c7+N){7wsvUkoI%f7KgvZW!0IB-hLR5j9W(e>UQbyE z;O`*a+2=w3Pd%FP2Fo~nn4kw{gp^7_XYBoNWhZ9PAv_VbLKA&@!m-7M#;j2NB zG3a4u&e;;ml|uJl4G{Hk$_PhhEC<^Boq3*^AsMs~Ni~oC^4w=_K}t61Mt|%K53m{Pt4(Wi&I|e9+rM0Vtq6CX7Fm>X-EP zY<72wRb5m0j~yL_Zh8GVmr)FrrZHH<9Z?5ne^N_5x<1`YA3E*4q`D!yUOBAKP*1BO zVRxL;2LdQWJKztPaF9W;s;-7zb(|%Kg=Zk~l?HFkJUB`gX?{Yg8iI5fWtSZ7;^R7mx=EuilzB=xn?yjzcg=k5)++_CYeU3`y>)`H7ffOwy zPf)^i19cFN{V`MCb)2}HH3|~bLmLfZV0i3%6mMke=fP*^xtCXd&5L(PA~G!7f%f3x zMOhBMMxF-RbBVoQGyrwK6L_j0E>k*z$_1^j0g(`l9AE0F)XIdAAUs!|7`^5YJFN%1 zHISqNbx3h{``46ivZsO>lT$1e4!GP9tA9TVhKz3+zD8`%w=UaE&Z17|`66Zg5`WSj zq)D-z(n?UmVUld&hC2%|XJ5Rd2^;{eVgyoJ*g1+%1ClG5CHM^lM(Mh|nA}#0;z&g8 z?y0^fh$@&qg^P!5?Y#U)oLdcbh((>;L~ef-F0p?eyma|EN;i;b^K!d+(Uc`ixAjr1 z6G_hSgd8Rm?g$(rB|YIcvF;mFsmO)1tep^>6pVVq$llWDxi+^_ph=X;!FPo$5PVKA zI^DsqdHfIdY{^#XD6|xOTRH0B_bZ%+BsyBBF7{<~YCiO^KcdOpv=o zeeS9m-OfPy&*W48lc%;;lbeq+O5BpE4S3L+1I=xY)8OimKSAfVsy>>akv1*?m278n zG02}wt^4AQH`C+4%Mp)X!OvkT;`HprunLmS_Gx#nDQxf5UAOnm5hlyb-q!2X;_HmQ zfn9gyvppNuOn$X0u9W`}>Eq7WgBKs@!4zwi|R}RyD4q zv1mjKJ=wv1mYKY`WUm8ZTV&t19qXFU77nEa$ca_0rQ)-eljOoaHuBQ}W>5Pu+)bNP zvIKQCH{*1S*K+8YqEsJK9#0hvkf3@<#3;;e1jBjs~%mb`TwqBWtj1!%{y^MfWh zl57&^*#s2(R8IB}k0cXQpM#Pxb8rUff!_9}yu6Z(-`Kn_omdf+Kb+;)tolZXd)(iV z+OE~ zS2hO=&a-eh$Xu`9#(tH>S7fx{d{NaC?rA%yAfeK?t!&axG(gY0aA)G^m!}ue3S=`It)i&ab@-BA74#gyABfD_ZHDVlz zw+WY$ltaBR8CIbUyHVEVGBec|Be#gd>2w;JmO+%k8o6h{*ciOV_r?!FaOAdKemrh( zIIqwjw3GR@e8zl#R==Ao%bP>rD`rY(!+mkHBtKt0yWDD@#Vx|8gDopn2TEl!!0H#@ zI-C{&HLYsp7p>uw?BYU*BQLR}z5HlIgqQxz@!57GN7m`0O#)=zrI41n&~@c&uCOg|H6&wMo#bt45dGW~ytg@Ut2- z4_~d$c)3ws5i;r)x=;YZU_ddbQ1lJp;A|2M8aCSm?z!WNw&~1o8OMsW6zc0lbZhI7 z>rMX?Q@j8xQ+!LOm5K)PIM1;Fzw|2dIgMt!q*{^v?sMG{@=bt{1+VOTuKOnTnvdpcBw6rjegy;cNN*Lq1?dXBozryzV|>aFnNv z_hEhKNyIY}CyLN0#Ym6Tb05o(nDOsMn^l9!s#iVL;N4mkXy1HQVdqmg&qUw>z2*z0 zbjr@5)@-y`@g+J)dAuj_GFuC*V~WZ=07HD?fpV`(eR=-ZLY7~{56p2=$tW9@embtIhv zbE2W1+uX$x2pI7^x>B%;Kx_pqs;!~su?r4MP|Bk%PLL4Q?hCqcIsVgc6}d1q=;-Am>v`HhMeDU{PT z?X7i>&h$W~G9eKvB4^i$(S^l(yMrRrV-l?4L7A+0ToHXj(w+$Xq>Ov)v<+fQM+6px z=28R*f0MBC`{`gxPZBoORwUB)az;TVt~1BO3_Z4hKCTF*h6Br~K(wDLM_>n*>Y^qE z4hJk9zN*-KTiAHBFVl*FV{F`88K;g19jTe%Bw;Q*1AHK?F}%#u`fq{$^yzTz<~c4s zIgUgy45k)Qk!-zva+zC-Nm-thv8bt?wk}!=+sCX+PCeZsu9R~Ya;4aZoB9?wNjg#I zv0vh7oJ5L4E---)Nqq-S3>x@#Bwa3W({Td3v<}9~?A6$O!#Jlq2crai7x>ZQD~xjM zd*wS3Yl$45#);!96%5J(%}bygSLJqR_ibRzgvV&fnjVHju;Xx;J&Kq{Hb?$mOS9qx z?It46*Wh;MT1YcBEgV6DGUbtr=^q%h`OxH-8+jEj2V(3gok)^l109W31mlsJ2evXnHPhk z(wX?rY@<#Y%?h}h)R|*a`)ZJtV2r->@#5!qV0sE&>)2YpK6iYNxjQnl2ptq2pGt<* z^>CqY9A7j!tUK!FfveN{9q%Zaz=)2esegX2fTpgG9^cBLy?rJz62yqZJ;TmQIp*a! zNE=QB26pS@hxeh^h>d3n5 z7~#7e_Dc0sFVRBilB)>0yEI$!#S?2K`3w_DsTJ9|o||9Rp#a}<5YD%dedx1}fp)C* zPPW&k6~i22FiXR5GgUelvSx4pFd@!?uoQ~a$e{< zu@FJgM-*N%R58-_AG+W{G2!`ilH??$b~gCft?32b+?u`dRx-Yau2rqx-Rz2>AVxnMP;f(^7h#Hg5^72 zEb%PjcM_{h?r_uoz!tILu8;4*idUGPz9YehdxOHpV3H2hmzCq}hrG0{ANn8outF!! zsu1*XcZ5&#_kgd`QN&1H&;75=T?QeKVqFS%5{D| zFAZ~ZK94s?Qcb3c#OL%nWC3vro{u`^AV* zXyx{=tc8{0!wu3V-h%lUAmRjp<-+)Vnh7z(50l43$WRuU@-%bqRqquxMBZXdJ+xS0 zQcaXqik~=ns9nGMmvR&B<)ql*mb@4mW8+-bS1^V@ky6x%pZp~4Nq=Nb3COuA|{SQ59FnS2=X2lQ~Mb-N49%VT5}C*3ev{k$YrHRYPlDA zDu`2-P_eygG;6`v@Td$L8xt1kN zai5mYD}OHQCM>Y!B?xiyy}0T?30RjS);l#4dABO=Ck4+Nbx+aS+;PsV_iN2Z!pI$V zVW(U*iUPmubbXMjXs_1f+KT7Gile`F&E{ei!h1xJA7zSyg|%&G83>m7kMP%j&2-ZFY`^u;xpA@cF0W45^?G%b;%TOp?R0{aVL}YNdlN7)Er+v zkO^q56c@aU^RH(u-^$vg`H_fw+8TyeUs0`3m>ox+O_VLS9HnwS%`zgHSf)>x^{IQz2e1eIckBWeg`(QC>>! z)Fm-7c^24WTW<@QY@`!YvqDv3!F>E|25cS!G~onReo$9E+V9TphG1`*#1<$gEoob^ zu8G4uyZ3DHc>HnwM=gbIbp1++!<7WI86MLspEpA_kG zhsdSJG3?gTe`-rsG+Jn z>2gMT8O65HjFU6o7;k!l$EIV9z5BsZO#wG+<@qb4x>>@|gFaET?A((8hj0f^QiMN` zEl|M+WpM~LSe_@N21gp?o_lGd4$}W~(8BBa$?}k<%EU28<_!$|iOwijBTI;CXd;5L z12_d(P1!y;jCfJ0qv0DH6f6o$zKK$N?Kw}c^Y zh(q?9&>gN1vz?O=PO;CmkQzf7H#goqi~(z(gZ84Yt{%oKv$w06okCkYQ0P(=)W6PO z^znZE14`lS^cTbg7;pEidn}?A`BtsCdm3Ib*#%**N}r=;r2LW20(zX6D2_QxjeNf1 zR@CZS@k_)q9r0l0(H*pqxlcg*Z(Kj?wu$RvO_bWqC9QH;Y~{Ewyg+;FnYOFW0`jzD zAJoPQhDW^f+%`IhXjShEW3DqAxuUw+=wVPyj*wU>>fRHZ@Izkdn#d?Qm%}31x9rc8 zUlVy9`5R>_^4O$JixP0UroEFvd)fX#Df+uUdY(y&0uzJMBS#=3<;1ixz0B0&MMpUH7Z;6ZStA z-Md*%%z$?9`Jepg^)(J$IfNfXy9-UsS%pgP&1OGKTjp|S@~=(SOZ-?ts_z;&kUUvn z0)yjGPN&Rchq|^;GeX-$`q6(WP6wS&!?V-k1pjPbPCzCkbg^VrVwb33@MkGR3kP;S zo+lml5KVfF9wUwEaa-Kr`&8zaa1;GaW&3;%bV;6|1H#w;ycj{{c{Vc`!d%>bcU@QX zQg^$>Dq$?Vgf{v+%uB|U;%5&#AxfQ_2*?xRiKxp&2Xo^i7&_Y8i{Icou0&Ip?i4et zQR!dRpxWnYL#aB4`nfs(M}R$%Q$L zjiQ85(720oGt%Fkk6<4GiCDyE=OYg=immXVO~ zs1s8Me}6H%N%x7T_I~J(RiT5Pq=BnV>KiwXnzn6;jD&n~9QuZVdhTv8{k`wVJ0}C8 zA6)>=s(zr@jdq{w2l>2WZjxEC>p1E%E$7K0I|RR;ZPKEwz6!S?nCwvI>egE1hsv)O zx*?v`xAR3v3>Ex|{mX(W?wnLJ1r}vG_oSs{ej~oRghhM7I4Nj5O@FI!{IZ_2>Q1O-zCI zx-48aE55yYBFbs=rO`WL!F#ZmJx%!h7Bp?z1&ujbDI&RDsj?WNW)Q>5W2FtQ^I@!XCRt}Rq2nX zD8(ZdQVL!`S~VpLV(B{CZH9(ub+Y=c0R+XEtulg zQG(8Ne?QaIEJo{-Ff>s`OzQaa?dj9s~qd zB&<6%_*CT0U^R6pd5>?;l7vNrF=nVC)4jW-cpQ#!lTw2r@rrrbG=j;4RZh|`lsUXw z;8#zq>)n-ME!FEP7CsJ2d?|@Y2hqt+*~sK#`cubB^`J-J6f91JJ0J|-(RLiPmNASY z<3eJMd48P5ld`D+!aU| z-Pwm)>4#OnIK`z(WZ|EPjQoua4a;M%2D;wEa=)5mkg=I_CAWhOhuVuU0_tWu_1e$Iv8l)g>l=NR8r%`HRs2!{RfF#iL>X%Y(ep?K>svL*PH0b=V)+E^H?E2Y%vWglzk zR%vqO&r%T4=QL!bS$6nt^l=4osMTxGEPs8YX|?6#_uE+(F$p9yr>^DAG72hoydiNL}v4W`#gOT_VH_{VluG-YJ?= zGJ~}W(j~iYz(+_WnqPk|U4t(-?2=p4OaB^aXS#+0zlzB7kPzhNN+{V!t{&_+8S!A` zq7VF$O;aP6lHy6BWfwW=(DF(KW*wfb6L2M&l5WOrU8J|AROh>!?xzVJr5uCcNBy}# zq!54iC{zTYeOD@-`?R4CW~G_OCN-(Rag6>hrF0;(u0x=CoH)O;?71%@T_b>Zv;XM6 zz!g9{`Enqpp*kMT5Ft<-9i(+8esn;R8)A->pCh4>>iR=||ItfvQ)N2T=OhC+{z|*N zJGt6abeKe6E{S$eV{BmOT!7Q-w7URsrSk9=p{wy`Q^xW-NX5ro%2+bJXdqJWh}f}? zdpbG+k3t{p}NWnw}uP(41N=x3J@A zkllub$Xt_bvfB-*>&F&4+6qHWPwohrleu3;V(gDvdaa+Qx-pfaAf??#ii)7$MhqM| z@{ro?Y$@jB^eh-2siOuBcv8pv%fGiaxsDm$br`#?E@|GVDk#oL+d9P$g|Jj_>4Ac~ zO(?^M>^Tc3{lv7Uv%An7(sj|w@p-rrbU%Pim-oF5Nf=q zYi^cY$Cc7YnU%4U>ppPzfE5XdgmY0OLqxLP2sfl#16|sxk4K zJBPk*zMi=+9}r$Sw!}*(O6@kn`s(c8Rof0mphzjddfF&Cw#>AE&R)WQX}zB5-HiDV z>|P6|%nT3a>AQM~6a=JnZNI%vSWq3Z5|casF|^dDR}w1pS2a)mlPaNVxLbdAYS`%p ztjZSxW(zF?Q8q$4L=*oJ!Sd>ozo&8@S|`^TFKA5^PDcj|{t-T3GF;hQ^QybN6a&c8 zzu}I8lUG|*SPWm@J~~TV^LF}GtsspjKfIK3lJ%KJP5Nu4l~RzNm6#Hk`%t?wv_=a9|%^VYO7bLFMa<;U{@JLg4m5 zhkccg>O^ex2PKI1Fm90M5n=4*5P)WgM&)K!o%Yj;F*wuuBA#SuQSpy)U4N6@NkNmk zMX{bs0@K zNT@&GE6}o(Y;d&S61nOV0#SBoJ{QFf>U%L~(WaD-JD&!5{vs@>c zk}cuhLH8d49jXd$`L48zEd|2!_7Caw@v~{@=mSs?mfk*!kl{Y#W#e@k5^{A(5!iR*73b1>hNPU zpYBR(RZqA>&(EFL>1)~0)0pb|jd+17hK==&m4j^pGxnQP39P+5Yu&<9+f4Za)V>P^ zw^bTbKtXP*6-^&(5KvFCLU}LCYOLB$kN@`}%?%x%HuzRc6%|9^u%t+kj$AuC@}wv zOu41kW#&8v6Ea3*GkIBPtI1ttctf8NCiI3b9ooH^o-T6@rpsk8)XA75WL1!llE8}T z28B(~MQZvodCW<@Mn?41&Cg-%isbU&cCx7xh!q zJhK!+VmKxflma72KI-z@U_cs{xG`?*$p(s;V(fTZ#9ra! zFjgtXos_pnSa+}p#AK|tUvVT+H9tj~Zfh%3L0Q7CTgJ!fmufBH>eal%e|kFwCuSv< zY3^(Jk~8sV^3^G1C^|e7faxm%#Iaq?b5(WO%=E&n^hC8m4yt?s#=eJ^2ZS$Krq{NU z+YMET4$F&3JyqdlgyU55I#zCXwXc-dQe$vccE71Ui5ShcYfd(CwMR+Sbe{5i1V%=K zI0CCEc^Z8~Ko?A1JCqN_WNo*GyR%ARmKB!QmqjV)&=Nt7LS^NTH-D^n`rUINO82in zyE7RGP}IOa=ls(BldRfpV2;00VjSxbwn(1Moaqt zfl~b6W&Y2YsK2PGe*&VI|1zQe9T4^3Ac_o(e@&ZzA&P%lg8zGnqP?@Nld+M(U(Keo zwSlpNqq(UKz|Pp=UsRxgf3!K6o0>TR?DQRsZLEw<{xx~09zYlfRn2&;P2xtV`G4ct+NBb#N5Rg;Arj!a5Q%LJLVtyQGkv4 z-;Rd1R<6L+>T`g^K|whqRB zO``??!~cSjv;bKCwT@cb2Gb^L1|bq2TqTmf!?zc|T%WHA0`{J*)3{~6QC z+{(!KzY@0oJ7tsUFU|5_30wchg#0%t>A!vdm*fAAG5MeS{GZDIp*HCot+zGWyS5HcZf*aS zDA~OX6x*eaaM0~plQ4s#t>OHUTUZIe(L_z~ z{Ic4c^AiiJs-s~8!>W@R_6En`WhE%jftZ2PH#fpC{rtFrobwp?Va-7GjKS*c932N0 zfrYKFws59?P4fd`{biDAc)ZVkH+`Z4(>r~*&W_56IVxfUEsusW%}uP#V3~ou`@P!Q zDuDz4AYdZs8`^?~L`+tlOG-!tofDrZ2PW}n<%a;F_6tbNPi{xzAK8L5JA^C(OIzav zs`^t8gt5MXk@>BhL3{|2Qb*hev}Xpv%=o`=bON zoHZ{N&(G?|39G1z%!n`2YhC8rpI>7${m;Y$?}INtO7t!u9he>HTS0#CHc*90d(XX9ecu^y&B3_otHUy9(ttw}P#%vC-kfv-N6M{=2^) z=LoWiQ9sC3|7*+~^nJ|Q!UkmaaWzkTJ#7tGE$v&M&86YPHJ52_{|0>ilZB}Xp9D6_ z+PZ2BXoMfdjf_KcPD~PL+E>4EU}6;2N+Iknc9bw`!Gtb9?fpFVa`7|9PJ;{bwzI5kEM-HDU|HS6o1P z{2RWgqZpKQ+$JiLGo`K%ed|~fZ1?vbu1hpgfUTBJMD^g$Iz|<#z7nRA8SSqtO zW9AP6`rOE?Zo2Q-1DkEh&B5;SQqbA=6YCe3j%EgB#?8MNAOqRm};ns2R1EI*tn?H?NWq)d&U+ONIc-&$v%Fi~yM z@zr;_iUqKYbqs$ns=nzzk69fY>|W;{ZW{l{-}csi0C+}L?;D@d@}pCm6BXJv(0 z<9li9IhtwjN&D&QGPWZ+-prtORraKJy6iqmu5=gr;=1%jEEEW$ojS+U3w6q5xJTih zogY_5b;$0=yHW1=5c9W4E5N*~V z$Adw7jDwaupNID3E|Oki%CLT3kXg$_%sh=@{fX9&Suq~hdfeL<1&|R1$C;Ia znZYpAIp(zt*#k;Dpa(Qqp|1Rzl<1>=&v>c5ao0dBK79vHUKy7{nqXeENTAMK$cpED z`T!kEa)i5Lc)su{rQ^^>@i=U%X~q}*)S3OQC|dbDp9{=PHf*V1&YjgbRa7aO9HWdm zF3N;m41!ON!y(?slF0J8(3O}wf?|kGZFYvTHFC#Xt9ZFLz2dbse3I*Y^go9Od-)Cw zK8&#l!m6wyj`1j1zmffMVw(nCqir>6KyppIb zsA^A`)G;&oWb5zyzaHrCtlh_y_3SjpX2e9H(P*BY^A zUt-nP2gI(%OGaEncv?vN%Dny=co`V_^Hns>Rdp9}hT_?H`W4w~G<9?vHHgs7TGbfj z<0OcBT%gRQJNwvp`B@ui4wl%ybB`T&zEZgijZ856^?- z;Gs;Q+L1z#Wv-c*BX`&~e@%}`+_3~p5!u5*;eW0;#H8^~RcN&5rW-?$yLCw%M|;(1lwsIt^qS@sh)_4$D9->9T>fKNGl91-m(ovdM?9 zGnJ#nuuyRYJz_6^-ue-Lw?p^F)Ql#xc|s)A>(eLTs086_-O6+Y*aJD_BoV2kB1m!5 zQH1Q}2_`k}L6wPd;7=*`YZIk%f{f4#VO=VIRTR9yASX!gzBD?M`3uqZD%A)C+hyjYOt0|tv6h4C{j(nn&!4!X{pQ$s0gE3$ z>$UKz)WI#efT=lYc%Wej|(}@?H%WRqpD}k zrHlTr641JkAV`?cp6_g`*M>+e^z~fG3W4yRnQ5SGv_ZJJ+*r%U zW#jUdOztBZ^w3k&4Jj(TUm>F#FZrgSz?T-H?yTtG{vevb`7StZP!1|yrR4A>>k2c| z;6C&89prUroGp8eDZ1`Lo8qa06k>?%Kbg!46GFesYkB1w_3q>$)y4C%;zHXtgp%oZ z4V8XNB>mdex<&DLSBo=UEF9PO3^(J>MOeC$zr{^?R})MV1!>bh8yPSpcINr}n#Llh zof}FpKG*8A;IQ!T#;>2_D4Q|QjkBX3YBU+f+$3dE-I0pVLW?cN4CP+$b-Fq7Mq#Sh ztVk27qHR5gz!=)82on=-H(m9Uh67o#EAv{jTZN{Q4aIn9i>G9w8ce5<;_g3|$+aK9 z);o2$E{X^TRa%FKJj>QjkTScf`A&{;av6|1@ZA$caAa$7x)DPJsC*0-QK zlI40II~Zy~QZ=^Ud+d{B+})aH1s}RPL;BV3%ye0VUn!n-aB=XN!5USJ5-XC=wQqFT$?%f_i`w+)$~qtSSxL~p+tf?6oNP@ps#1{9qdB33@b2gr=Cxym`Fys_ zYT`Q34p}bSe{e<}2X6eh$f#Po?&Pk3yDrjrkcfIaOBxE2;tH2?%}RPPmOYpSoy75G zb~%p|Art15rxuk?fG zV{+t;Y6et@OGrVL>vh1gtyfs<HCGJ+D11^jRQw(gWISJcFC z<*pnMAtiyNo~cJ|AFnK*%db-YZ&|Z_vkxf87DHO9sg^HE>Zx<}9=?sc7!0Tp4lMSZ zbqe6kn7J^JsJXhO4#RecZ@{G{KYiCU;HQ?T`*=pj+jK{*^EBzS`!EZlMcD zOC+N@2{UUbaZ{BGrDL}~Jh(cpNndY7(>J4R!3@3r{gII$?Q58s3`Ggfe?q?AaesWu zFkLpqn_?ePNpWJ~6RwjyBFa2TWE-MgO)aX%_^(ofvYDtJ%WfRr7ttqiWsC0>4AjiD z!Y$s_>?R06BAByE(S9APmQ8KWroXxXGHNU@gUT_y-s+v$pdoZ0uz7pO2*Ze& zcOJdk2VsN1~{`Wr6zSaKjR;m93lPgjG!@hdhE5!Eq2*Vj}u`O>QkKX zovV4fp@LnZ5Il;PX~ai>bdb`JW{OWyhL4BJ$9!_T7tuSqJo!D42DT4BtW?*2Yt|;w zgMr0>RoqeD)&W(koJ?qPkLjnR>b-9`#1QYxhl>Q0;vDx?RL)?$y6wsnt_4Z6z5gw5 zq(pvKNcOOpUM>HLj`!)@BwPiB;j)g&7CPiECgZj0_@e4*qEWE{a zh2{yvNDJ@wl}Le0A5&iXA`;e{^$Mr>#Kb`kx}J~Ytm`?%IbfRPKFWGcs~r91((Ak2 zcMbyai7G8;-%$_ug{{^a)mLLZqC0$vh(MDx`Ps(cPDONdNIPce9Q!Hs|io*3OwLdCYrMCnZO@}vB0I{ zkDoml8!NAxNQeoEpq*WCzhJV$&-oukr=?Lk&K4maf}#ZxXao6{?XkL(P_;aH})q+a5$d~uY zC95pxn)vGrXRW(^E8M&h`D-o`u6+$UrEGb59yIR|qj%#%kI(shH;oo7w6&A`f@5l!In?m|*V2!2-7rMy(JwK`HZM8Jz2%q&8PhQEn$R?mP0=5yCPHPg@2YisjZK6U zCK08R6s~yXXT`Yl54VmkY9{c@6DClpbVm@0*$d?Rt+R-0qtQtuL*|6)BgTD2f>= zPZsSfn7mvyqSBc~Cn0xHitxKm63#1unmb zvJ5)K?+&HlgsJ78v`deM)5S?S>)@%wCYJK{**Bedz`#Tinqj7)bjguqH)s^;m(0Tg zJI>tb_U@%`w{$7p-Oe^(I;9FNx&&JzkV3-rOJrYL5>yRqaii%wHh2F;Q7NtS=C31DxTtI>V z-7*4?K1flE#HcWDCP)KS*M0~z-^%Wf9Mr@DfV6%;`K|rFg^95(o?+dvY@s~*_gFy0$Fv#p9o0l<9#kn+u zyR0BqoZzsRPz~R7J#y)KL`;u&r0**C9p4U(>#qSD9SCfoMrAwu9676@uT7;^iQ-9G zt2?kUrqK8Z&8G`6?O~E*6_B0-vUokXT>c6bc$?gR{Q9R#im+64!$LS( zcGla3`6K*?+h<$fD7@AyHQX6Cm$Z?ALrOt(S1Y(G6$J##E?YAW!~OWW;Rp}7MFV%g z>~8n&%-}^zC#pM#f&=opgqk`PllbBCJcUdWWyNRER8K1%UNGf8*M>7a2&O}yGX5w+ zMfjKZKuBwXe zQQB}fz_nmr`WkY(FNnrCB7Cq<&<6Gl2rjT)KKS>e|BhD zzb()6s5!a?9ie-V0#3K_P;K1*{ML9yZDA;MK!^r?gyr2Kkw`6#7WFkXa9X=`d!Mpy zt}1tanL|f*4iswIE449=&aDVpb?k?JV1g2-x&WwFhCBV1G)u4I<97+epEZHm#|NTf=g3Q{-*PF>-_YnUZ4{th`*sl*+Apw;Qei^bj4D@ z>}hRQ)o4Ps96F#59Fab4B0M9H`VrbVw&7+=+-!QO)knBbFGe|ha8tS~~L1g~1!c%#KYc}c1{4NHk@`73XwugEYzL zsxZvLecXS3;50*xJIjZGuD4nUzE}e5cQ*vyM_bSo1aZUX zd3EKUs7iB!zk4uPtg?%w0M18NR$N4>`arP|n4<5x*B~0s&z_U2Z~;?dm$Lht8`YOz z`cL;$*@`LXa>GA#hc*VQt*)J4Sfq5Wv9X{qLL02Pj*yy`$u#F16StQokh-WV`ueWZ zM|SioD`gSVP720?7TZhEBr6v*{VLA?iqbpQf5!FhMIs+;fTVc$P{+Amn8kyh$Wl&Z zl2;Vo(~!x?BHc3!Q|}q<=k6G^yJHXWLu<@i6=FIG;OEDepO5x|sTKL$AQtr|&p7V# zQ1**jd4EOJ;b1c(8!F98$C;k z~lj%SV7-U(25Qk@&kz^ra&17Q&6tVu+P-61wi;yb$juGkSmEH#Sq2 zfE{t`#X*;_mR4?K6VX+9MR?CMHa2cnCoK@LFV2y#HKjy5vX1*knpNuMhp^M2dn1!L z*XHbicb3sQLC9Yr1+j9Gh8Gn{h$Te&-q#wJ0eE(!9Y+(B`CwiCQUr zl#rfU$OB8%o+&~8{-+N&q!7eUlc2vS{F?sq20Ys?<>&YS>@cI@YVp0GyR+u&Fxe%A z;gTJkL>cwNI%(zmaQn4}b>CbuDa^_0yTT5N0oz~tGtC7&rFDhKAPWxl)*gsC}mZF}56C&xK)O=B zGhEMEl2t1X&sB;EPH-MzTW(cmeLdtX{49RdDuL0Dx0ukk;|U7+kuhc>t{RNCH+Q>dRc+G-xqr2koz%rq;K-l@0=HN-^9#BMx-stheTfn9^`Sjd z$l%hcTBwTaGJBnbm@2_Xs%FD74gyQm z*g;U}Yn0YES@A4xu53{I*cqP6QSmaCqL;p4Le?(Dn2&AX(%pUKiL1YNMQ*;svvy<% zFm9c&X`)wRz6Vh^{BA9YM+7ppaRh|lzd}1Wi&pmTuiax~GNLU%oQWJeC7HW@sqzBs zm*KGm0;AYfk#84WAYS-VboKqlYc%@8HVnUDyh&o>@h+F|S~r)L7_G@oLt1X5yG*^^Jq{yvQ%rX?gpo~^E6uAXv zaAqo7A0yWlPI^-t!((&S@C{EWWDbDxa*CB$tCT9pLz>E|>%w6>YKO%Y;O5JwdnjDz zroQqTY#k|gdzNM$cN$2yUU*Dg^g}I+y?BVZ6X)2NSU zij`(h?Q3~N_m%3}fM2Z~i`9PdeuMV`lZF<>@KCP$-t=7Z5ng-wfNU9L$^6(n+y_a~_U2P>t>jjCx)^9n-&&r9~q>oB8l z3rF~zmD+OixS6Qk%k?!`&?Lv7PkukyHAo(ncPdg}0kFxWlVCFd6`V7Eo=Mn0ebNc& zh(zqx@tehvm4r9nzBPa(ihO3ih&k~(PpS08s{64_fXOMhf+Cd5mRg0X>tl}BkcdJ< zZOH-ZIqG6|TUQa?j=E{_kN=av39)arm_!&o8%eAr!$Z5;17GJl zcbmD%RaymWpc>xWqZm#53VNIZfgZmt)`&!dYCX|Xq;4m}JB49rL@-@YS_KY%xixcr z4}OsWTZ0*;aK&ewd42lOpWEq3ww;s#tPq$C=fuq+yBWl(;qoF|Sfc^7Gzah~jJrVh4iIzWm&in)vNU z$LSUQC~IaLq+;(9KVGGEf4M@J)1u?D50f_N#hdj|eGP0MDIG+2 zD1Ca~FNlOlpyx+zj7_Q$>vb3Vq}{Tf7VybwE(8>c1`*wXGR-PEX3#5JvF2?%w>I_H zS`2HQPcbVfI~7&!$6ovqH1$k_Sd_WPDPML(c)cTP7>aVPLt$FgitHA5iL*ty>qnr_ z`>{MY1ZZA|Z9kW>B^7xd=iL4FYrb-5XQjzfr}-7=h8EyRdILjExX&=z`HRc}190VH z7gAYwP70HAQ?0vhDK%4x9{nMhQ90ZKxcswbGvw01Yj>5!l*quMF#m!!hx&BTXXSiS z2NV?Cz;?kEd4B1p+a3yy#w;?YM$R+1qR-=_fZ2C@KIPf@ac6DWOP~23JJuvU-i!vn z=fR_zcWL234AEp{f8CMZ_!bYp?~e8Y3;fq&A)sjHfSy)nHt`T3LOGkn`5PP}?(56X z&5B!Se4VQbP$=sh#Y+zrdJW4;1_rx>nvHpPHzhMySSPMzH=TG_I;@hXQLK!UjMQ{> ze2Jjn+7x+b5l&MTFkI^+yEKuktduofq5UmA<;xCdMEYLy>Zv3tJzpO&_xNbxY!C54 z1XavHDf#F`$^>KsxB_2tLxsNUcEF&N092~wp>4h0>?LDCY5S+qC-_n#ro8`r^|RV0QMvz#TNQ~MJpXM zF=d(NG7>T4dGIJ>ecl1hoqp$(GE}Im21kJg%~0I)IgTY2VFp2^<%n}?*2kASaIF<+ zy|GSq>A`up8fZe+x!~{U{*j&>zUx*A!*==7+R11)zY8r3<5OrvPq9oM|QMtT;&NYj_;ECr#rfZ{#wel_ak6!Anz z39(}z*O-XTvz~9)zr7gTQ^a8931sSwrYm$I-okev3beq!eaH#tmIET|i{GZ!r>pln zWqAaFz7sIfG)M0XA+Us72}4ahV|15A^Us=yi<=Z8_hH=G8a<9kq2wlm@7AvB5H+C3 zUnT!pH@(Q2c`#hw8QfDK7tW3)>|P`_AE(qUGK#zSGP{NPo%?F7{U*}#Zkz}}b)An5 zLOWCP`(?X5DAZV$JHioVlNEv~d;4#jXyQ!DUTM$o^daH5h<&!wiAIEB?7CzfCj^#5 zsP?LcigXwHb+$}Mp*p}de$IUgA90U?K&U877GJB-Tv)$h@}P7ksHSsUFQcn+U$Rr# zFOM0o)WGCxM%J$^^DD^}C>`4*1_G`#dxW6#li4#IzvrWetLP=wMDXLUFg6CTF2 zR=%C0Q-SZdNwxNA4A_+1Rb1#rx7FGD)5uQLX<9bU)M2~rZvDYiuCjI8KF zKeno(q5YIk2?|MH0336oRzOhiBJzmI9I{jbUZ%XaMj+o+Y-IwI1!7r|qeb*(vNJg= zwR`z~&e;8Jhvn9d%PCn*fXbPMjCCe3)s3!|Bz%3kwTueQqC!fRhg}w(Td#^=uaNcV zp12)eYOp4UWnoQ%{a9w#%^vY5UmiQ3ek(8a9%+_iYiZ?YX}rlPRviLxBW&%LeT*T* zYDR0RG)JB|j(--m&MqRMno;y?=KwuiAtw_P;3~*>=(NC2%46CI8EYwl<7jjhif<|Q zLW!S4p@nQ=F685wux->ge5Xc90<3fJ9`@xs{fj5SeLRP?cEZe~;_2e{9K=|(nu zX7ONooE5EBkM${+phz{G{&IEfAry73Z*F z$Ra|ABgFV`gCL;d^Gkmp=*W_yAXAO*Ng7xMaM}V#&d;XRcuiSU+03t|cjWX0Hu!Di zPIf=9SMmbUy;SD0AZaHQ0;?EJt2~f~RnC98_EyK74U3#Fh+oDuJr}3wOUi;9V^r(m zp9Hf($9sLMKw(I_42Ry%UrO4t1}Sq&R=I zisc1{ZL#-}|AP5wPG(@e@h{Q3bmrf+Ue(Ysc_Y%&8V5=~&X_3o{x&y8JELtP5}h_Q zP;%0(U!R6hS}<|ijiFeZX&j__i>{1QS7k-R9oGav7mJ|hZ91#qMQcV-vB*mnfu{1+ zhwd5y`#5lOk6_m%5LhVA3bhT#A&(eY&4}fEJGSUCioQEpXe!QmlVCq9$4cx5zIK4j4<}#U8Yd zj#JUV;w1v3QmA(n8y)BGY32Mb%BAMSemCHu$zc zj{B_x^GmdsDZ%z1W%{!{`^|ov@IS~&X-z|?6-OxXcrJw;BcBTVK_A*JlAl0s{f-^0 z=BqIfe{! zRp5&u^j3ZoE94Od*cG&>HWr#A9h#m`@=fGSn)#;6Bd|`g(wj33N?4uT+%+x~H~wQh zzMZizhTZo)Z>;nS3*abf0H!Hw;IMxNESte9Vzp2n)z%ijC8AHoUxMHvUe0#%6+yps zw^|z!LL#H%kO3>vpzjJVr{!ks<*j4s6DTVj#%Yl-6(kSE&okz-_JwK;okeXM=}FP_1uo!Hm%9|HyH7D>x`Ri z#mf82`8}%Wv!cmV`#+A#51l-FPD;=yb=Mxcbj6rMF;j>m zkpS(B-#v^CTm0@7{!{jYDvo13eVY}?!E5m+PmzcCOhojk3O8s&JBf-&X0jzg)MRD# zp%-OAEZJ`YYNNn2RKNXEhEz)SWRa3LuuE=DrL9C0FVVw=KC%P4Ey}^qzS0B{o0Jw` zuBok)prMHH3VY%AfHLHvjd|0y^wh1gHp&?rAg`09E@$oeL zn>4)0g2|r&(C;7MPaZ&BLl8z=fHieYR@MF=oV5rlsQ*q*{SR~UAD-d=R!%YgqaXAf z90g4E>~ZPn|6NY~r+=d1*K;uXCpkSXjk=J!vNGSl%PD>vOT+(0PSO9BF8`i@o{sIG zIscQKVt}9#(6bf&4=aSr^pD#5$6x*RNw`#W|0SNJ^{kBk|4aUF zP)U;i;gSBaNGde{2gK-q0!IH|Mf8tH`S-)b!16zU8HC0^a^-)g`_J|Mz5g$_^UwDG zTJoc)^Ci9;VmlGUtrfLn*kk&gm|vD;MRR# zcU~^W*Oec~Uv3ONf4_bx*DRHkPgiR-RY)r&RG866X!ue2((9727(1gd1NuUY&h>98 z0biB^9joXo|5o<{uyM9FG&dJR&27U3yCgKa{*4513RDFk&np1{3hJAclY^6nfeRk& z+Tm+yxdq_3j?w-Y`8Ut}KR&1S_Suv2s&jLqBO=R0mMs^o}6lQH0!I^?$bjIs;tRMfDxvfdP=H zO+Y@anb%a?t{v0@JO)q!n?-nZhCVd{5BxmR2jcamj>c74Y1sjYrRW_V+8n#80=3o! z7#*AM+d8KKvT?S!-3i2{-faOJVcEe<#aLaMTABy>We418q?8c<1}ej%;n31!-{HT# z2~hi_QHZ=c|Mic~>FVor+nVH)t_EPqP1(?Cqx1!!h@}|p+x(z_i zjqX6wyTJi03-tLk+sg56qcZu24`%zPMB)dd3i1#km<}n3e z^T!r2tMWVPJ44YY!9*!eZdo}=|C0uLr3ZLvJGfVB0`q?OYDZk|x5n4V9t|2ecr9vg zN?KM3Z13dQ(08+kP2j8B>gP{Hq7QK0&qJl<^)b*r5L)-r)bO{<)6etQ$=IuoZebQ> zpR!L>RB=XI!qP_JSI8bsOHoI}L`JU<&5y>?kN3C7u^%r@F46rw=c+vIBsCYsKoty+ zjVu3nZBNP{V^%Erpgq)`1u?S8qSs>Mu%oi~G)?jc$#j;?|Uojx9aznwDEb1pgnuCxdYre^pGQk?=u z2qPjMW=as6=W3l{#^8*}MMWE&i`{+G<{r%oe4comPDRfgdpLbuGlACL*dm~rBje)> z3z8Q)k7QVK#s$^E`g>N)V<7G0%$ZqDR#%IO)CLi9^w}+>Ro**`QTOFb9nZvpC0jnv zGvB5kX``u#QfV$2iLWNy$mzBc$|vY6p(Nl?#VXJbA_<7pGPu?{P@qmL^-zo?L8jd~`x2v=$sIWB3WM#~X1f8KFBXRSdrE*>4G z8ryl6Nm2@0K!^*93{+3y_slLXB(aW$3bG-4HwmUgycY(8<9@$c z%kPiOy9Q|^^nH#Nj-}jx>V30KAvLR^`B$KP8@0o7MQUIV%c}$*(mmxcJK(6;Z~^15 zVSjq~2__6Ti&*oYODH&~)6Npkw|FNJ1Ik7A8^#UmVClw^5gdJPh;%s}y&T0P5H&cE zMFa4N!X?wiN+&oSLmkZaH_@C&FNmB{Vsd$lv+GsYEvpopQqu?=c{a4aRqK$&uEQnZ zm;L5=E|O?O&Z09h$hhKw4eCXx4U-b`w{W;*b?sv*ENDxMgCh zdVe3m6`>)AQ1|?CMT@D*+do1n)>{l15H*YdrBOOO`KI7b8P1j?rTp?v)|tLvlEdO0 z#epOvp)`;#1=d9jU@f0mq}J@TVXMpkP1>DC>E$F}kaAtk(_Dpfc3D)&ngRN>z%pp< z{j>Zr{kVPXL6-y8W&8*{O&OM1Z&97u)A_TvALW)BV>jyWgWz`D*pv`GOv0_!zV!-g zAEsW1uPMb^L}VU-et74%5RY4QZBFXYUuNs1kZ^P*#@6>Kp+45-Pb&KO#$xLMJaCGG zy}EJ$-7UwhR;+*6ge|xxj$q~(_`wF$j((6Ne{&V0gJ3aVNuz=&ldI!2Wqp(i0PBrbD9V^{TFxZS^9(HOV(CwKw?y?kBy;Gb* z;e4cI?nJeEV^`R*an)@`<2lPHjs^EO9jGd^1UfAkp;`+*!sa7%Lq>J5!eHO7;|C;# zKN!XNiT8jGSz41PM8};%>E^uFi6#4)vi7Iy+jKUZo`l~IN0y2cZ@>ev8O={w!%Eu8 zpLB1!;6DPnGvT^lU-G~Q)_W)b?^wI1gc@Nu9V3iNaj2FhRYkQl-;u29pi6@V-_-*d z>W&Cy&I_|LV_hw%0_xtvR}=d$%FEeJAX?x3nMZ8=p<*|@bWd5SD}Ef#IiqWJMBoJI zQG6xk4ag~-mBDUle3aj1h$hwWAubY?`(98+9b)~4vz~OG9RP!bzc;$LxLJN#zjldH z!Je>;A*HEH!-Pq6dKyB;Pe<1#-3t%(Rz)2o}axo8x z5@qAVht_U<>|cL5tOaSl>|(u{AqjfEE6Jyz-xM^ zcgea`2C`n^xk4@V=XWy60k`!J&CcPHrQPi=6O_fTEe^?YO)-m|L2{e-o9?B#NLZ5$ z0s0jU>%}T3`^g%*w7Ge^5+E5^k7E*>B|=^xH9J#+X~ex8{#=AwE8sAzhIa50ZPB>9 z<`Tk>Nxg#D0%MUPXRfv?3#B)0BW9V;SRL8!P3~jOP9yw!C8faGyXD*%zO`Lcv4OdY z*23{PrHc5ZQaVBn?SW?-!BeD^l_gO~zYKaI(JE3w81CPqJW0TQp7iGvk5tpWcR(_* zg6gZ`3~&|#zF|VH*WIDyPF;1qOg(iqX1sC{z#Md_G>+ChB}oi+E_?o(+I)q2 zOc-gF7&AutkO`$~Ns4G!jmF9^3D7T)?~GTvp?(r);h=8irRp zj}wLvch&71fnL%kj=3d6w#_1_h#;e@0;%M~|5^Hry6$-^iw;_GeE9&5=X6gz2NI={ z#H_FkRxBAu+n(Zug%#_V(_7j8jLNX!a~kU?{9tTbgy7Ya#e0SMJyp$Fh9=Z3dHpu@ z83`r=u7~j)5sXj&8Jyq4-bCr3D6J|~>@lP;#eqe4`B9ARM}P7#%I8R)_3JXeL|&$t zbP~}#1^ySYgFQQCc@O_!7e-Bm=IZBhRDoo1IFbk4y8=sAAeqk8{YG8h*{N9lcFOzI z_uIHkqu5+~%#}LJlmONM|vE0Sa!X zjJ(8upUNDhb5?)kS66`KoJ%$TpL}r4*+76(gVKAm<2FOfru1vn6H-;+ib+N!udu|}Ph=Ofd$~&b-&mTf7-Cv0 z%J47xtdFXT)dCvdx}`OL#wEav{sa+CYT;2a`ch&#RoDz=pLx><7nl*(SI+OPi`{7p z+v6{&Im#R%5Eq{hE^&7)6nsIT8}Ew05{5(M*MHYJC8DOt2=Mi=#%K=1T{TlP zo4-%I&1EXwc%3H&F_VmH6AdINX5miF#ZLv%%*a_^atWNP5Ooyo*@G)q2P1FTpwSLB z1=?9wani_xjx*Q$2QupsqUPl16?mx7%x=xv?nJ>rid~%s=)VV95m%Mm!D3`3EX3xK zYSwEw&6Jw%3BSWU*2zwLZ=j>oI9e1e#F3bjyI;hXLa!AMSxxPi6n8h|j9Q8Yc{ZuQ z*q$ZTDVDdWESqrl1*lvZz9ChsLilYoHvwx_ep&n41TCJx?#fNcdKb=VVh+@=Db5RsFJL#kDBYSJ=r zl;qflbd>f-*web`lkC}eB6!)~+|WBhEKC7AatDRm>zw`wnrs2eI(3^)fv)t1zt?>b z0x>4=v2X`MonF_Ss@?X<($*#H=>)sm&wy3p>FatRJRrik7%lQfCQ*V<4Yk5)7i^^k zo5cDYT2HB+R$RoT)c^>xxp?3`bUJu$Y0;2IWCyngZF*@D*0H??#}Ap3Gwf^uK6{(H zrS?N21GCxALDYlqeNNtoHjg1oZ&TWzz?ugHoZbrYqYY3jMa@i=bV%U@_nh>nywoN= z+r{wplB8-!`nxXp+4WM2sKiq9nLF%D9CUQdoPSpoU(_OY0M0P9zh81cSM3zhqEh9u z^bx+Jx>r9IMBoqs!xpO<1kpO7Y#p>{fe#rE7ZW!4u7m5W+Q)-bCfpY( z9+t+!w}CXcQzIfNDWqz#wN$*0!0LVC*IWY*bZWdl%Z7Y<&2qmxgN~@i*Tr^DLvLz8 zTHo&ci6i2dOC|ty`tGZga-30Le?p{4+uc)}p1I&cpl+jDksYa+d|8ngTj#}ak`pVL zevVy=?HEjPUE|BBb(hQl#oBVYsu!$*Uk%Puw&YV@DPG?`qXdG(3rg4GjhTrE-<-jx>p7wuE~Y?a|4c^A=mr0+i=QQZ zus)YK{ZKTf4|YeS_Ho`NP{GuU9A^EqelS#4lZMnXTye$xSl$M4ef%`D5H|-q@(JD_ zpWFLYli=S+wtjpuJmWH;Z^)@+V5wy-u_h)5cJ?KKnkpmV{;-MGikUXKpDF_v*X3#} z4;CGwckhSw2FOf1QKv4r71Ly{fZjf*YSAwEK&|6(%H?(`AjWKw=Q3VlS@U*2ArYo* zEoFvC0mw$P9Vt=#(v&{($$Ng4DC)_(oUFl;mLgVsN;s*|Is`Lv!oOF6YCnvH*blCa zgONTyM7N|Osj@@6YX_hlfon&VWLe9Vbq>KnZ9v*EHGml2iOUy137|ZDcP0k&l4=?K zO;hsVNuh42HH=fX(ti7YT-ZJm+@CwL1M(s;4(Y)RtS%ZZ#0`u?U-N*ZO?;eDoxpS~ zPobbyAR-YV`9_|YZZ{mA(kP}qgaqMRr?LH3v~=EpT~FlB=kGKTO&d>2{4)9@($iCu zq9!+=69zgUjIeCohDhXYx!0?BCz6@l@7V)iQyp1=>T)4XZOyOb&}&D}ddG;JFFu#9 zsGOrW>Ueuwor3P-+{AoY2WiLuWZb_YJ=ra3$=LOwODboiDtyHy8D8q+hLy%`^=Eck z>TC2t&+l&vbECY=54jXpn3Jwetrs_$qsuMW{q4|*@GrrcH zLxHYmws%V?48FZLJ-1eo({Eo*CZ7>i7)+oD=_)gcGsCEXx8i>J3-E(m+dp?Um+5oD zwbM<*uFteZOyy5qMqYhnIKW>-skevX{oI-=RgIs*oA=F22}Ifk`?=n>@-$n0u5kB; ztfv^>cF5KGz=EE11#^2SO4r-e86iv->i+z)tOpQJNLf3iQ>LuxIq zCdU_*6R%|1*XUy!nO1{3px>MG-_pKBn6a`%7O{y=q^Q0X%)rTq4sZAi{e$b$K^2GT zK|=%i2Nh?fsD25fLw|t|IhFbdb0?ajFNv+X2yrZBtD~L`xr~qHDd0E;c({W&;q^gj zV+RuQ`cEdxyJdhT)9Pl`QB5f^&%8F+K#vngg#`oKa-J`s^pJ~112ukGUn%*fy4C^O zrRDxvF@9Z22CIJ}cW`hWka3zq6tK83zr z0y6NyTTL%$fNjQs$ykbIRtnqzpCu-+Vk#rHn(Z!%Y#~~L_whMW@p9Q~p%2-PKe+JQ z`6a=e&#vYPw@rU!xXhS#XKJ8K)UJCWkx?%v$ygu49%jd6Cuwn!e*--OMi<&xPO*i56~_R6D$BC1jLpf60Y53J4T zUU5R$NJSUh{j;RK&C`s2#AFh=_kIBt2I>5IpG+;C&(X|vEragw^Qd2p&atMl_$B`Z z&GHErB*{mnQ0od)RGk#%x*yuz1%=IF7D4q?Wb;S12zf{Eb60Cdm<@8YAXQ&YAW+4l zlbey%ODK{x>~VFp$EP&uKu+y#$ND=sKLM?mHb;6BGn?PWz(YPSEtjrIE_3VhBhzBWr7Qv{Zm`!XSb1T$&8IS}Ll zPH1i&{zOg=nK@%c_uW6v-YGMhKg@<$O0>0I+AiMo6Obn+*emXOaL@d6g#0Sv^AaR5 zm8QlC1oGM+M|vK9Beaiw)_%@np|h4HNeILt`2aQXd5H4bA>Yv_Vy0#nO8zaikdt?} z-D+U-AT^Zj4)A&N({n>Q!P{X&&Cpo=kM3XKK!|s*;NN4))QOPJsW!&z>PEwV^EALm>Mb|`91bPpFwC+66a`(uv zxja;8D@@Pf?g*ZS6X{H`PJH$9(0z0SViXu>V7jpZ6!%|QEEmoKAg!HZ}R;ZL0f2Axab(9FwUn zLtoBFuz+ScX2CRWJn_Tk6`=)VF>L)2wN`s zwF8IeM6u}8d=&Tm8$>4oAsC*>r!~RTr_pUlGis9J+;17-0PA00*!ASiiuj!2Kc4duI!pCz_q>ybN$=&hhQD zN-F4R2fPxZ=$9XH-jG1Z0|BLxMQaAz-urAhSjb$=HF+#1KjXRAiPD)+g?aCnkftrm zNE$k)8&LwdcxcyokQR`Lr3z!EMx>qVh${1Hm3R6uUC7X%ZHt(}gr-ehZ|OvYIg*Xi z*)2XE)>a-JSE2@=x zlLV6L*g{Zx4gR5}4YgG_2n91=)P=!T_rWX#ER>1E7r`y3PO1a4DdE{?g#>QspEmSk z>dS|VY>dD#)|80JFHy0*FUp867Ok49^+F%(04Yc*?nKhn=vwKn{Fy9;f!t-3E!u|$ zq&oqIOnHia88n1JdoM|MZqvdw_}PY{EFioYnf({=@*0Qo7|Jx4RFM${0qF3tAf(4w z#Gi$0IK@-M<(coGv=I5XFK+nd0e6Rf9DWa`gYQi_hIJnlsGD3tk6OJemz1kIR_kqg zUhZ5CVq}Lef?&D6q^g%qU>`Rz8$?%IvKfoVH*sYpf6j;a2jb7%lR-`@DIR0|f7^L`2!kKZTeF=3Wd{B)xtR>+fbPG{&>x zvMJ2LwG%0U-PI6BRBzmqoNA9q2gZ<&pVYN20t!!( z$bAKyXui4(D!#ngA|0OOwo^QeBl{lVN=b1bA)KL9hqP-7QYkL&n6DcwiM?g&c<4)U zABr!w;a|K1RFs+`#Q>M%C+$?UB&YJAj=5bxp6a-&=$%MDh_$oG7`JHNZdu{Y%8U}l zPYlBnn9%ata6f@px}*CfP)$|+yq?UM zWxB-}Zc`+FQey+%$i#kyc7f{gY_0G&-oP+foY)1N{H*aCyq684?Zq?r2~p4ajyRTf zU=h-JRB9ixp-MEMMjgbKpXgZqjomOwp|75hFv>@2jkV1n?xv(}T8A==kGx8}u}Eza@fqbf%3O zLg0gM2y;c^RhJv1+&(T}V6c{Rr|tAYdrw>A6$sv_^0^&dCWEQgb((qJ{=h2qlYHXo z)Pq=F1zmaYZ>RA=B5XuMdnrpo46NmvVPKdqfPCfIdY4aocIuhR1zR7h(PFIuWzFdg z*v#AyeEWFZMB#l`Eq}}EVp>qLgm5@5&cIV5VLVu;di;SAeq-BVV!L6wq5~mniPh_g z;KfFFjDvO$Sjah@C|fr$j4$sIhL<$VOcA``eBN~Uxb1Utm^;2e#$}8_CoS0~b3}4; z;R(Eg-ewUv2wTtxPET2<$6XhnVq@piS;ME_b@XG63hpNg8poqnuDCZch_wEx9>>~G znc1ssG@^>phhQGVpuzK9PvB!zfbXOBNsB)~biR=h=Sz8F1S>d#i92pXv?M6)HsoG4g!`!+*-6xCy^Qcy8S& z_}~>;CYSD{49^G7(_&1lYvh*@5j1fMMgpu+HLG%I(vIyp80Cws+5*3OB1Gh1FDb1q zyah;rqC-b7g`1GZCrzYXW?}JE?U>`>+?fJ(H%|W>(32Ryh4ZSsA*QKHmPtbYiZAB? zIkY<&B4W1*2b?%eUuCGY}SYutV>71U%5NrZ4ay_9lXHGWsYM`4?1h{$oJegkkLu4@DwUU^?rX} z_XuZ!25uxNZEGpDT0%gPg!?9UFi!(+Zt4RxloHoonSOJxl#NHx)54pYuGN78b~~Vs zi#5$#P~EMR9(R>Hv_1_snnDE5uDNEN+MS4%i8Ln4%y;x@p^m^8+$UQrNf~}V^A$A> zdYPRHprtSon)a{e`E>iduPedv>}Cu5%_C=eU7YrG37#tPDo2_pJt=7Ypgf0RajCd! zH!ffDC;$9nId$*&6Rz2TaRvJDk?>`rlhdj5i%^+sIT)P zmP{mc023MdB9PTiurpZh9X9#sj@u-CFqMkp$=K=-1cgNJr@!g??R zMI#9=Vvp6K2~}UDN5@G~C!H?shdVu*tuP>oR_3h(;lsH`T1Z{4qDl@Vb z?FnQ#9#tL4TNS=Wi#M=Vo=8BtzwOKnxW#aIYv%#^J@8rUMkJLl#)30MrQ(!huhKe! z5Pfmr`fyzZzJ`bb6C8Fv*#+AxDDe%Tx6pFgz@1y#ZOWej#bS}uPP3?1Cz`k!c|=9r zNg0bF*xszYH&@qfAJRA;G{S!fqSx?t*6DI)?`lPxVOS0m>*y)xl%mTasz?$@h{Az1 zPTwvy8K(wfI!}OMc?)5AVYMDr$^FvgIuu0J*t zE1Pzj&2GI;jteB8j@UOvR8Bf%Em2m&QbA z0=FdZxJr9DK;6wYw{FB;d3xS%j=HCDiN0N0GAOMk;hl2y1f%ExbcD+1RnBmh^5nk5 z5V9x>BP`GVyy;CWVswOl2225^o^AYAuJXb6m{r$j?*;}0$*fH9pwggHNni!`1j#xU1jq-gHI&Mb@XOw`xKO<4epdzs` z!9Q;ud#{ZV;*@!wheBl+#|fgs$!oHos@423C|ofwEf%tpQeUIS7nF6=Bh0IPnYxLy z?ATKeuCqRUN?|VW-pO?tCIsH+r*`G?!w9zWirQ)G-Cmf!w2H;gA5`!p6dkA|C~Y z@yjFD0U`UgmyM%CeLo-`6#2;Npv11N!d3kHjFt^`7*+U9tO01m+*z(=aa(OmmBe=3 zwaK3!bkJETr#RSW<_hFh2uhpm83$Q z_Q*r177#uY|LrL7862gS zXc@*%G=V-Oc!#MXEJrd1d`5i^f3M%v(X?c`E;OR%f&5@{rpZS4b^*b=5a+)fNr%aT zH)vgPI7Y5AWSo&0kS+%vOUUj*#fcoOR7|}Wu#hI0p1zujjIAIk6NEHQ8z73>SqCb~ zk=S=P>7#vI%|}5fz#|*N8{03T+y>?FI$*%e`&&k7vuByJDQeeWglSNWNfnvoK>efQ zl&rjlBk1nu}M>S3(#Rxwpwh9s@rv?cnyA;7-mg!6SZ3tU}Xyj#cRZ)+0@WuTibjw z9SLqm2+aB0nsg0C<~SNL5}u)I(tIGfi~C6HILk%fa6(W=_3ajQ?2ZQ$`cs>?4niPs zCDUeI2Ubm^>OoE>q&MsGGEa+xe3dVLOB-RlLSIp^NB;M$;n`mTk0m*5>MOON=g~V>e*s;cYaJVg9=w?)Ohp4(Y{P zYvgUXA`RV_q&dq^K{HnUOJ+LP)oyEa#)X>ZDOT4M(j3FnH*DXp-O9d>KRLhsX3wM8 zB|2giPC4LReeZJY`_toCJw@)t+b`12`0S_-eP!%Gv1>AiaHWmfMDYSB`a0m!{-Ci! z)yWsw;@Z%xc6CvA0Tp<;#(f3go1m#3E!m=%_eO^B#CF-uL~X*^O0t+}O7`+bb1Dk5 zo13YK$^&!d5Kwv*_wq+A3C|Yfih> z8u3?Ycxe$G%J3B_gL$C>x=nWJ`J}-gDo04y@oh)e+}iNH=T^R;qq_A?e>DbRVDvf z1fAyj+?MelpOl2L5v+;4&alud{8qNU@5By zR}QaOKcdXF^so{f3NrXE-cHr@NiS+IH#j(gfF<%RcY^UM()alr`bpNQc`63&$iavH z+S$}x{s0d}qd0kS zL~AN?FMJZob#G%33A<~%A2#3cKD~WDNdPFZeGaItbcF5E-1j~~ffQr2t|RFZ}UrvF#T z1?&HGB%%AO(Q86%nA^o&p;sZ8j+W)M(Ff#prZ%6ZAwlaSVWCXu#V&j}__L{BTL`7j#PsL%|F46AfdTK&=g)lf zUlu-p&i|DE`S`o%-&a}a>G7DE|L7&YL>B*De$Bzk_CH$wtN))n|7Wj1WB;D#?~>{3 z7x~kRk&*Eq<)1bGZvUf}`P27L$@-`LtMA{}X#X1ZXYId6{IyH}wZ@+w|L4bFkIBEN zL;h9i^iOpN<3Hpef9(kCe-?+ZFwwL8r47ORdL&IPzMO~f{%C$23T5mN({6w4y$!6Ap2=GNn za~l{*i5;g7-8UaA4ml39?Ke6*?#I<0D_)zc+pF6jFIOH9bfy{hlz|A(@S_oJkUML9 zVqkuPpO{^SGXDH^f>+S^)QGQB0tN*Eyr#SJgoPE&iT4v38BiH8504%|9s)fF2oO*} z0H9}PX66aYM;L+y7rrDP398G|LT99Rbo7yC)EdpFeUc}pRfK2`5pJu^{o1b!!Kw;@ z^(1P?8_NX37eGb|!3P)_43KkXo?&rH7TBiz7#(;H&n9G06Ui;>ftC~^2NaZdO9TSG z3ve6I=iL#&2f>E+&e>eVmxG#^2ms>eZ{D9%t+XL55IYZ;JHWqqIW=-c_SQK7!a!Kv z0Jck7Iey{;$gn~jKz?X;Wv&BW7vr(O_hkm3Vmk>J1^>*8!GkZsgtAFil-|GAcFfE0 zDcNj^o#H_EvH5iiLijVQQ~kw%eR?gI6c0HHBnNNf>+%^s04?${81T#5eg~obtX2lT1kf>RT)^AQ&L&RY;jGnY2|lltLuqbQ~`Oi8G#%X{!+N7;{KqqLWX zk{a(N86(UC=03>hK8G|0sS6OIwe=T|lRhi@4xoPzzBABg%W5kger~6(kd#ae^jq_{ z9dBL))~8F@HPeS;4_;!FLXzJ<+CImN-ghgUSrADHaaka?J`L#Sg?v6;pCk(_BCf!m zuEW<7duYfBz+#e;07S$?K;O_*Kd&G@Pb**rTz|F$Ch-CB@%8w$etL6$va5bZ3ZcO9 z`FKai;6p)xZ%VH7z;^1!6bBDxE_tJNYwmusex`au^kD+^WM}jG81!b&($C5^&b9dG zlP9&W_oVnES`}JHhC%t2BWm)RPHPuZoK=|-fSe2(SgCn%TefOebGg=V&q;#ro{0IL z9WsE_T;CzbP}wz!-c$uctt5OayiDP~ovxpjZ85{z|JPZx`6hy71$~*V$$O zY3xAp%Q?^ML4BTG)^yseof(&rW?_D2ae3PbqcS)WLDVAwl~3Tx z56ad_`F;!52?mfo)UIlS7<3ThtxY24qn{19xN=*EF zt3gRHAP7w)cn{EaL;sk+C$c7HSg&cJXG^kH6-_;$1r+&ST=K}R5$gShgwtC4|{ynUgj@MJ`=*T{@Eyzs`3!F=^FAXNE{VYm!VyhfRQLymwxM9thH=vR({r_Yw<}4vHW5BlD-&- zxQz_(X79S7JR+A%(Q*T+u+^7BTrj*n78!zTm=mz$*HM}ZDwv+;V)e7FS~j_eha0&| z2V?3z8gbE;0r7tPX*G(O{`*+=6R^lvL)_*=DEXJ=(_#}fXMKwLB$J)Yy`SI_bgYB|WdX*PttE+LJfpH?QZ!Igi_sJ->uK6N}(j#VJ1%rle(ah3-smwfV8|bbLw|Qf>9I) zZ;TY#+@LwWM>&z8@op`@vn;WEmAsW*mcCX$AXB`>xvh$b_(sp1D-0N4-|yb7hE|9N zX^Iw(ukJq&jjF!TG2?XGHKTN&c_p%7FWD#wjk3t9`) z_cjwx3xE&=b< zR1QI5^i1FHIE}$h$7IdTh`qE1(JqmyoUc76X@@#a+XqT!7G|H#uIC+9Ow$L zjMq<#T|6+~%#Fx|L1AJGzYT1Tqk_J2NcMWQ^Pr=Ungi?gV}8TvY-1hZ$NYwbe;cmc zf{wh$58V}<(zO0qcAl`fYcA*13F1z$5efi>XxRJ%2KRsvi?Vl+u~xGbxK0lH{Xj3EKSFbLbdUit!~;6?{VfOovCG3J@ezQk zI)oFn@S#|odPgmX@~5e_Ps^JV;g$KS>q2gf=kIjt+*`h1 zA(DIk6X<)9YC{HN3nnW<0&J$X?jrQ7^kQ_Ss@}1D>pWH^u)*sW%-+_VG zb>4+GMJ9w&d5OjK9K;e6CXa$pqB8~$@x-qE?jf$!J~~s-4IF{S`D1rn*api=2ySLw z6T(NIMkXxk<7Zd`;1|SsZ~R4X&n|=3a{jWp>$d;e{m@O(GI0rms>GX>6sx4uJyJmW)%NNg5& z_-^bnnW}=!WjC=b6xSO-OD~hrm(pl8{yNg&4ZIc_rhT3=v+Y=<{H3vP0K#bcM+&Xf1}O!g5}E5(pO23e^`C3VuR1`>5)CDjy>`n^e7# z?FhagvUadzd_cGA#O&t_EIKB-_N1+loh;6U3tUIXf=9WkRPoNn#Z#*B!E8@ShD5M{ zWI{sJwOY3T5p2fw!_z#pkp@rftF(%F(l?5=tT7~*wUI`Nd!)N;R4>-H$Nl`*#>(v2 z%~|`GGDZr6%D~CF7+_7Qh`~0Dm^Mq(vv4^%N4LBn>u>NE&Cvc*X}xrE%isesdX*56 z+R`iY!nhd>yB6=E1lAX=dp#j-7?`(J7wRwD;IEzzTy1A>*S~x`fl?=l@Evs{F*qE3 zI#499J>)jb7T=it2L}$c$V|n}&y0hWYklm9t4FW5+eOt*``!l&(uRX?;XU*fOCToX z?%kkBEaNqZ z;dS@6EAJnJ7PFMU)g4D%dgNcATgQ zcOZ-_Bm|QQJ5}Y@xrem*9PT4o3@+lW)R0kwC3S)9zy4$-TEQCa2WLmOh-BQrxV4?( zJRWK%Xd92Lf(arHd#r$F6Pms_!ifxGVdx; zp?)1p67eds1sWA62(oaBVhy~hE+%i3gd3uU$uLC&x@2GzHSik!9HE0;qo~BtM$|L^ zK;BRosT(IJMBWF-K;yV}HpFzUaVmCC_tusXv`8U8VZphP7}5owf}5%NmCjY5Po3lg zD5AJx{P~5V<>Th6ThlF$(O3E57JF=E?epzCHzC#g$}xbd@dy&~%NnoWw8+c5)PX9J zuy0SUM6r>F$)SV#CH783pc+B7BGpMap<_b|j1$Ag(+~HGX|9=n;^DQI&?@&?IY@ek ze=$uJ{(XqD4|TJ#<}h}evcgPqc7oik0gkDB=aaIm#%;xh<7^MWNT9s33&Qo0w^`6T zJ^)(`R-`h;Th3ZgEkCEG%##i)Y!+vo6qR5hF=#ekytV4>Vycgh-xaTJ3N#otmz?&c zQoQ8M9&Vd>C*fqjns989rt1}i*jli_e0y8k$&a1oP8dii>(xmptj|=U#Tfz4+u_O! zvXNF6{C8sCsFE!15hQfM0z-CYn%#^CbQ7$tl%;Vq+nQPB`7SifgRIIiaadLl^VA%m zr|y1E%W-aUM~1lf_cF8WX3*mHh(!Pn^Wldjk(nZG51LSPn%&kMx-@in$K*WyS(SgcIs+u4tzI*5LN z_GvdESI>1vM-w@hoJ_$-8gr_Y69#t#n=tK5r912YG4`Qh z3bdO^pNiNw#`5D!l2lFQ&FZZPrTx>nLb!Qtv{{+0P`8G@0iz0AO=ECH$28<&q?yKI ze&Yv2|D+hZEfU~@5l*@py52YQmaY7`V@QK>0{XIDhd?K66zw9%ei9F-1AFA{^v&I| z(2FKCRRZkUqQ`x8p4hw&B3_mS^?T!-(|C|}P&GDF3E(#F0d4}wK2c94LH?-S-^v2P z%MrYK0iGsLz}-%J4BWQQ`39<$x*hkY25B*cV3m~(IlF_u#wrumjkSEFEGt3{8)zrs z3#$5|TiCfXzg^=Xb5}U3@~tnJiDF{Gs3S+2Z2+Ig0SM8s6wvjDDcH{#K? z%Dfywbn+_2n$kPk%IK!d@@*Z|v@ViAywx}mYsZGKDNNd)Gon`v%zMNZHF(-Eie_O` ze4MxUTri{N=))%mvhv`jjK*($j4qISKwm1^q?zGw=fP?XD;}2%Xm=|uDCS&-H`n4$ z1`4T8b^3g8tN7x!YHuFl2{{yXFr|NCp30)1 zIeO%qW!vjECDIC#uPR){8moqjKGV7mx}M&qqTZ$!Sd58|Mv!MZ_9h>(Ma^OGYZt`% zJ8h~Tu4?8rnkO|uw#y_ipm$(B59mWSByz@~@_9?UjSBY!l@B2ghbk5h$Fj6|A|UgtT;+;9c=$6lg76TU93;aa37V88odAxz zj=f~D&34ZS! zrX%_=u(a|?3ALQTtlOy*cYIza+{L2)5B7JS?K3mMcvI50>Qgx6he-f6UU@jjSD| zC4mrXRLm}NdUAc=11EWOOW)k{z@X#yAI3IR?~7wy%w>YHf7Ha1u~1Vl{Jk&*w?v-@ z{Y%-F(iI8;<8eeE&c4>ogNJaxzY-0aDmB~^i>d_=%IdY|7v7tRHFtz|z|DC&PJzYe zfRCYH*ixBcMQ6AmFkomVu#tapQc;G;_2KOW^b{?N+O}5^!S{3F+cA|6{O4#TG8VeR zT~3RL#OFQsb;95Z0qmpsh?+;X@}oIF#9;Lc{fowOXli6w9_3yja=AGbGYU}EuQb1B zWJ;>=QbJKUOrUjJu0K|v;5cWqF^@?#ZxK>1=1A9ZR>p=*jcM?>EIbH&q%6j2B4tH3 zU$j(SitcMI+A258yEjn9pyf2!++uD>l;d#Y$--g9mSkESXu(VQr%lS-#cMDwtHtgj zk_(@sfG*N#_Pt-k1h+VGA;ro1(5`ymqS-FdxL$H)jmW}dG~SntzmXhmlD^Yt3X1zq zEb?>HiDD;eG*>Z@09V{tDdMk^Th?Owfign1Evnurv?#I8wO|OfHR1JWnKYIQn{R*m zPQF&58tusEt=HU?mvZ*$m^lnwE<)6sm$rY8jhz>|Zqf4vj^CPyC1Gj|`$B)(G*Uy&ZUBeLuU4tyn z*6dXWnL%9>=USS@*_FrsaZwnYg1U?V7hnoW2XhYVY^l!OlI2#6hrwTBg7mZEXvC%U z%rGVBe)%~M z`*KLYa=}%(8|nf3H$|cP0v;MqnR`_|K$lwf#XPc>UQj(v!=8z{u;Yd9zC z93)_vxHKk1U43|Gv7W_QW}VYkp4^2^4U_C_J6C4=PqcqHT7@3iz9mbqUdmG+WWA?6 z7%N?t{g^2KNGdXvnro2m9;}L=X5NRhfYI(}`eDEf=LcAPf@yA@qJ_{{24OE3p479k z6u98c%%D}JXWU6SO3Xe1-852w=hl?(*CSV@Al+BQ>4Nl@As{tnVAHgmdW_y5;kReWtF-?`a=619C?PTqiJ8>Qkpx$ zyxIIIPBL9Da7Q-s+l)xQ0+*4;z@9Kiv5!X;l|iFnc%In!3&er}89AFnYWxMA;fHIW ziaH`O&B<|zU@~a^$R?p>v$$F~wL&z@i4ksA1_XzbgJYc$^{!B79TEIX;!FTHN5V7T zLIFCxkYe1ofEuy9G)^_e7c25!Y5e8rq?oeXTrX=cd}=M1cf4P;(pfLW!N&1^0cZi# z>3jYK8A7Ie2pp*g60f`3GdJJ{w7vkW;>^px)olBhj)-|WZ0zHjbZ@)i8wUYDKr3N; zrsAeGmzReQ>q39sc7I6sC|y%=dE3ILl%c_y*yFWlWjM2pcw7fRU{ZB3W>=iWm%mkpUkqT*25m23S5KSXM)T?#+c@MId=dm}*Wtb(@(0}!)8e}O zxhuZt9!&GvhPdwb3dp8srfz3cZd&^zrInT~iP%ak;&)f*L|9j|p%2fs#< zGs306=J_3iI1s8;MlLJW>X(p96~Smo&_wCQ2~9K>tS30I+uJLg*hU;j(E}63nG2lO z{9_r&GX$Y0J6r3{IS#ou04+4pp;&0(_!(-cimhgrr{=X~wgzYS!dka|7zLpV7RY59 z^*7XnZNk-&&074Vp_p8dKeC^rdN>bNS^0Q9_#q` z7|@Os2_-R$n0+teuZKpI?3SM|wI4_eZZ#3Z=E<{iZXd{jnEE_3br*L-7UGeig#>bq!$MC% zYnx1mO==#^+SLUccGtv^)QKh`eJyIcn^-30%A$kE))6K~d58Lf##EvkZJj>;#)`=@ z%O1@}%7ocV(AtM^6n%k@ux#3J1Dv3j6brkPPlegkr!}m(!+Tp%;Pnhev(6&cuEV{2 zsQntnuMal9vy>A~;%&u6Z;Th$hgweqeWik!q+~q?ETAGaaE60EtlJgOBsdExKv`h| zvrTW4QZ+w^*dci^j_mX-*tZfrx?Cj!ShyX+pw=(YPs2 zM`1FkaXDfCMf0*%p# z>owVFfFisDJ-5_=jzH{HGsF0zquzgeWrYvEqOg2Qv0p4__a) z@=%UoW7N&V9(qj+$vUWCD_xWxsco6M9giemi^p9vXPusTMX_Wfpy(B}@IAz(ut+-^ zlBAL+F!gRvp75c(Y8!U8xU!@e*!?yhji`VVBzU^`CCZ9rjoF`sn0Z4f2&sKCsJUMt z)67<`{21*hXpujVDyCoa*6D*P@nXLS{w7ax6O4Gwfjb4OJ62w>hmV}^AqwT8xNox?GUGGvcwaF@I4OjQ^Rk;Qity6#j*ju%xk~`7buY<==sbKT-F82O|FL z<6l6;KaqmJgZzI32!GfAE}7}*z6Sm0<1dWh>z@BY5B|IS_ns_Y(7`|9i@!jFFWBI3 zB;gBO_!{*uoWP&KfBz`|!U?eaO$N~8(J`^G{G<8>Gcf#vA^1u+$;?du7b)<+2L;ZW z^&JW=>#4u5IvEW%S*|`rSmx_HM?}R(S*|wC)@DYzzPxv|Kdk6y)_ zm7kQAwbBj{eHImn(O4Yl043PeI2Rfl>FfZKsw}7eYAIn|B4f1~oh}EUS}V|uv;_2~ zb7Hl#lQqt%El>1sPpPGd0ndSC1P%d|1f-+{FtW0;Vzu)r@y}1LPYf)i@DbA#j898S zy5J%HECG;c`v876Kh`tUh0l3<-G*y$v}pidY5gdC;$c<*1p=%}`sve>NQHn`R#HG! zi3gbzryv6^0(9;>;T#nE2hg|sGNK>Xm#mspk(!^^=X&>OV5}*h^NjYi zj;|zz-n!nVA9+;+N)OZk$~ncSJRK4~01Omp!s`0fogJTXZ0zdq6fi7k6z<`l5k7ER zFb%X$%=MtZf4vnxkG@ZyzZqxwd=k6s3k$1Pd#iH1iJy88=ws&d%Le zTSHU0vkrK_2(E0b0d|euS+}I7?|SQ8{5&}RU5SEup8n8J#Z?e4y> z76+LBR87SAcny2ol-c=A0{U!Dc>JvT_1P%&Ig0SPIdSV62k=RWsjhF_#REM!a`$OyW?^i2df&|_W{uYKfa*;l zFgZ5S^T|?LR#RP5i9hPWyWaA%u;Q+nLSw!S%h%^~TU36d`^+2X zBljDk?G?z=6ob7D@R2HO>IdBJrtO}Q?(OTR%_|MT!6)Y^W-Gh8E09AfdP+(Pp!eqI z_3LE(hj%VwGm9hbYjL!KX5{(!N7Ke9@*8maZ#It4%BRkz?#;2!-M4Cd03a^kA{+Bj zxS}@vg<~ED4f9(2V3K}^SNGKJV18`z?{i^LK;_tOKr@6+zbGO$%=s|B7rSz=wk1tq z@xU3FzzMt8T9CQR`6@qycoocff|jTwV`nr3Z(_iTAuvoZ>3dY6?Kj~&u%Jw7UXzoTKpAncCk^BQHXu4_;p64WVCpnGx4oq2?_SgQa)I z>#(fOLUFnp8NogRj_VTjOtR78*(cQDJ*hfjBNz9y!<~#?i3{JxN%ABS{LRQ&a=&zj z8EncDdV%irHnLdKq`ov~{p};BTO*CGu|-e)X3f=~Lr`}GdgXPAf*!<`^ty7!dad03 zc6=?`OwpZ3Q+ox@lL7)2u~8H;M#k(WkBg4fC6u#SyxEWP2X%zh`Z>Cx8Df2pK$WE! zjpzqNhQDnW+H7YtI!1U%QG7qm4%+9E69);Su%VaXfvH&~U^ z77(NRUNrvRsF}^6Bnj&Jd>tB)k?YXZt|2pkcRyrM~`w6F0I9K=B&G-|UAQ(-N%ki#Gt|;KU0`ptaFBEVHTS zN-okR%z{LEAYkPjhcHR$xtA%^bj`CfW5KrVgPn&LjKdrxp@C!zLLh= z&R`c1V3|*T+Vy|Ty_|2AMN@lmS@wNol~NZBS`?Vy3?@jmo$;L5w_my=6%MeEhAB|M z#Aj0$eL%5x{#{~o7>biSJKZ2{CmR5zq@zUit6@aZe~liz{<7I?u@}|F>$_uYufoB) zdb}YYb2(PT-Ilsas1$6PlUTl4Diafmxq<1V*~C%ckqy${N0B|p;aQ-6v$idla;_S zSmTYyNm@?-)AZjtx~)oaP#N-H8cU$AM_ zg(2?NJ1~ksjJ)8n!L|ZmI~Ak;Icm_%@^A)ze<)PvN87p;zslAghWG@){ntxQYTvsZ z@OSj$<2p7+P-_~Ul%h*>EUcn_R(jlw6y9vi$UVBfcSSluEVAPd0AZ)^t$;M60Gk5T zkC2My6!o2cGvPglcC7Jzm3*WG@`vD+jSjp({Vt2HC3UnK(%P>pVsKASwQZoPc?Cv3 z{kw3LuMoM!7P|AGXdx({f&kW`CeDrBIiDpRz*xJ$ zp<(Y-=i*MJEQ4d?LJL=zR$O@(5}?G2MsmPP?6Sn=vD?ZoLzE{kyTlt4{j!MBEcaPx ztl1KU08&)IRlKY%o36;Us(Y-YMg|^0^o!unj8E}XDf6!K>#{0U98#Xha@mxZX7GXLse$f;#!h#hA;Z)Im5_eE0>-5I6|A z+FdPllNKr`+ICE70`=7Td%>VWOA*l%QRS6Wt-6o~P068XX*$h8ey2Mm7djXgz|^R` zfP(X%fCp7*ylaqNxe|!@k}2y)ZFP-f>*G zL|kQE&-BQ0?ywlB$osX$R$sXYQbUbTb&CCKy@XH zBML^@zFgRT-J77N!jrqjMmt^8bf2s$;AKq-+M}P

USbz4&Z~WBa(pX`la~wR$aM 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 literal 0 HcmV?d00001 diff --git a/mpi-energy2-extension/IEEEtran/README b/mpi-energy2-extension/IEEEtran/README new file mode 100644 index 0000000..3d3d61c --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/README @@ -0,0 +1,144 @@ + +January 11, 2007 + + +IEEEtran.bst is the official BibTeX style for authors of the Institute of +Electrical and Electronics Engineers (IEEE) Transactions journals and +conferences. + +It also may have applications for other academic work such as theses and +technical reports. The alphanumeric and natbib variants extend the +applicability of the IEEEtran bibstyle family to the natural sciences +and beyond. + +The IEEEtran bibstyle is a very comprehensive BibTeX style which provides +many features beyond the standard BibTeX styles, including full support +for references of online documents, patents, periodicals and standards. +See the provided user manual for detailed usage information. + +The latest version of the IEEEtran BibTeX style can be found at CTAN: + +http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/bibtex/ + +as well as within IEEE's site: + +http://www.ieee.org/ + +Note that the packages at IEEE's site do not contain the natbib and +alphanumeric variants (e.g., IEEEtranN.bst, etc.) as these are not used +for IEEE related work. These files can be obtained on CTAN. + +For helpful tips, answers to frequently asked questions and other support, +visit the IEEEtran home page at my website: + +http://www.michaelshell.org/tex/ieeetran/ + + +Enjoy! + +Michael Shell +http://www.michaelshell.org/ + +******* +Version 1.12 (2007/01/11) changes: + + 1. Fixed bug with unwanted comma before "et al." when an entry contained + more than two author names. Thanks to Pallav Gupta for reporting this. + + 2. Fixed bug with anomalous closing quote in tech reports that have a + type, but without a number or address. Thanks to Mehrdad Mirreza for + reporting this. + + 3. Use braces in \providecommand in begin.bib to better support + latex2html. TeX style length assignments OK with recent versions + of latex2html - 1.71 (2002/2/1) or later is strongly recommended. + Use of the language field still causes trouble with latex2html. + Thanks to Federico Beffa for reporting this. + + 4. Added IEEEtran.bst ID and version comment string to .bbl output. + + 5. Provide a \BIBdecl hook that allows the user to execute commands + just prior to the first entry. + + 6. Use default urlstyle (is using url.sty) of "same" rather than rm to + better work with a wider variety of bibliography styles. + + 7. Changed month abbreviations from Sept., July and June to Sep., Jul., + and Jun., respectively, as IEEE now does. Thanks to Moritz Borgmann + for reporting this. + + 8. Control entry types should not be considered when calculating longest + label width. + + 9. Added alias www for electronic/online. + +10. Updated full and abbreviated journal name string definitions in + IEEEfull.bib and IEEEabrv.bib. + +11. New IEEEtranSA.bst, IEEEtranN.bst, and IEEEtranSN.bst variants for + alphanumeric citation tags and natbib compatibility. + + +********************************** Files ********************************** + +README - This file. + +IEEEtran_bst_HOWTO.pdf - The user manual. + +IEEEtran.bst - The standard IEEEtran BibTeX style file. For use + with IEEE work. + +IEEEtranS.bst - A version of IEEEtran.bst that sorts the entries. + Some IEEE conferences/publications may use/allow + sorted bibliographies. + +IEEEexample.bib - An example BibTeX database that contains the + references shown in the user manual. + +IEEEabrv.bib - String definitions for the abbreviated names of + IEEE journals. (For use with IEEE work.) + +IEEEfull.bib - String definitions for the full names of IEEE + journals. (Do not use for IEEE work.) + + +Carried on CTAN only, for non-IEEE related work: + +IEEEtranSA.bst - Like IEEEtranS.bst, but with alphanumeric citation + tags like alpha.bst. Not for normal IEEE use. + +EEEtranN.bst - Like IEEEtran.bst, but based on plainnat.bst and + is compatible with Patrick W. Daly's natbib + package. Not for normal IEEE use. + +IEEEtranSN.bst - Sorting version of IEEEtranN.bst. Not for normal + IEEE use + +*************************************************************************** +Legal Notice: +This code is offered as-is without any warranty either expressed or +implied; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE! +User assumes all risk. +In no event shall IEEE or any contributor to this code be liable for +any damages or losses, including, but not limited to, incidental, +consequential, or any other damages, resulting from the use or misuse +of any information contained here. + +All comments are the opinions of their respective authors and are not +necessarily endorsed by the IEEE. + +This work is distributed under the LaTeX Project Public License (LPPL) +( http://www.latex-project.org/ ) version 1.3, and may be freely used, +distributed and modified. A copy of the LPPL, version 1.3, is included +in the base LaTeX documentation of all distributions of LaTeX released +2003/12/01 or later. +Retain all contribution notices and credits. +** Modified files should be clearly indicated as such, including ** +** renaming them and changing author support contact information. ** + +File list of work: IEEEtran_bst_HOWTO.pdf, IEEEtran.bst, IEEEtranS.bst, + IEEEtranSA.bst, IEEEtranN.bst, IEEEtranSN.bst, + IEEEexample.bib, IEEEabrv.bib, IEEEfull.bib + +*************************************************************************** diff --git a/mpi-energy2-extension/IEEEtran/bare_adv.tex b/mpi-energy2-extension/IEEEtran/bare_adv.tex new file mode 100644 index 0000000..0007bec --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/bare_adv.tex @@ -0,0 +1,1100 @@ + +%% bare_adv.tex +%% V1.3 +%% 2007/01/11 +%% by Michael Shell +%% See: +%% http://www.michaelshell.org/ +%% for current contact information. +%% +%% This is a skeleton file demonstrating the advanced use of IEEEtran.cls +%% (requires IEEEtran.cls version 1.7 or later) with an IEEE Computer +%% Society journal paper. +%% +%% Support sites: +%% http://www.michaelshell.org/tex/ieeetran/ +%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +%% and +%% http://www.ieee.org/ + +%%************************************************************************* +%% Legal Notice: +%% This code is offered as-is without any warranty either expressed or +%% implied; without even the implied warranty of MERCHANTABILITY or +%% FITNESS FOR A PARTICULAR PURPOSE! +%% User assumes all risk. +%% In no event shall IEEE or any contributor to this code be liable for +%% any damages or losses, including, but not limited to, incidental, +%% consequential, or any other damages, resulting from the use or misuse +%% of any information contained here. +%% +%% All comments are the opinions of their respective authors and are not +%% necessarily endorsed by the IEEE. +%% +%% This work is distributed under the LaTeX Project Public License (LPPL) +%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, +%% distributed and modified. A copy of the LPPL, version 1.3, is included +%% in the base LaTeX documentation of all distributions of LaTeX released +%% 2003/12/01 or later. +%% Retain all contribution notices and credits. +%% ** Modified files should be clearly indicated as such, including ** +%% ** renaming them and changing author support contact information. ** +%% +%% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex, +%% bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex +%%************************************************************************* + +% *** Authors should verify (and, if needed, correct) their LaTeX system *** +% *** with the testflow diagnostic prior to trusting their LaTeX platform *** +% *** with production work. IEEE's font choices can trigger bugs that do *** +% *** not appear when using other class files. *** +% The testflow support page is at: +% http://www.michaelshell.org/tex/testflow/ + + + +% IEEEtran V1.7 and later provides for these CLASSINPUT macros to allow the +% user to reprogram some IEEEtran.cls defaults if needed. These settings +% override the internal defaults of IEEEtran.cls regardless of which class +% options are used. Do not use these unless you have good reason to do so as +% they can result in nonIEEE compliant documents. User beware. ;) +% +%\newcommand{\CLASSINPUTbaselinestretch}{1.0} % baselinestretch +%\newcommand{\CLASSINPUTinnersidemargin}{1in} % inner side margin +%\newcommand{\CLASSINPUToutersidemargin}{1in} % outer side margin +%\newcommand{\CLASSINPUTtoptextmargin}{1in} % top text margin +%\newcommand{\CLASSINPUTbottomtextmargin}{1in}% bottom text margin + + + +% Note that the a4paper option is mainly intended so that authors in +% countries using A4 can easily print to A4 and see how their papers will +% look in print - the typesetting of the document will not typically be +% affected with changes in paper size (but the bottom and side margins will). +% Use the testflow package mentioned above to verify correct handling of +% both paper sizes by the user's LaTeX system. +% +% Also note that the "draftcls" or "draftclsnofoot", not "draft", option +% should be used if it is desired that the figures are to be displayed in +% draft mode. +% +\documentclass[12pt,journal,compsoc]{IEEEtran} +% The Computer Society requires 12pt. +% If IEEEtran.cls has not been installed into the LaTeX system files, +% manually specify the path to it like: +% \documentclass[10pt,journal,compsoc]{../sty/IEEEtran} + + +% For Computer Society journals, IEEEtran defaults to the use of +% Palatino/Palladio as is done in IEEE Computer Society journals. +% To go back to Times Roman, you can use this code: +%\renewcommand{\rmdefault}{ptm}\selectfont + + + + + +% Some very useful LaTeX packages include: +% (uncomment the ones you want to load) + + + +% *** MISC UTILITY PACKAGES *** +% +%\usepackage{ifpdf} +% Heiko Oberdiek's ifpdf.sty is very useful if you need conditional +% compilation based on whether the output is pdf or dvi. +% usage: +% \ifpdf +% % pdf code +% \else +% % dvi code +% \fi +% The latest version of ifpdf.sty can be obtained from: +% http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ +% Also, note that IEEEtran.cls V1.7 and later provides a builtin +% \ifCLASSINFOpdf conditional that works the same way. +% When switching from latex to pdflatex and vice-versa, the compiler may +% have to be run twice to clear warning/error messages. + + + + + + +% *** CITATION PACKAGES *** +% +\ifCLASSOPTIONcompsoc + % IEEE Computer Society needs nocompress option + % requires cite.sty v4.0 or later (November 2003) + % \usepackage[nocompress]{cite} +\else + % normal IEEE + % \usepackage{cite} +\fi +% cite.sty was written by Donald Arseneau +% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package +% \cite{} output to follow that of IEEE. Loading the cite package will +% result in citation numbers being automatically sorted and properly +% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using +% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's +% \cite will automatically add leading space, if needed. Use cite.sty's +% noadjust option (cite.sty V3.8 and later) if you want to turn this off. +% cite.sty is already installed on most LaTeX systems. Be sure and use +% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does +% not currently provide for hyperlinked citations. +% The latest version can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ +% The documentation is contained in the cite.sty file itself. +% +% Note that some packages require special options to format as the Computer +% Society requires. In particular, Computer Society papers do not use +% compressed citation ranges as is done in typical IEEE papers +% (e.g., [1]-[4]). Instead, they list every citation separately in order +% (e.g., [1], [2], [3], [4]). To get the latter we need to load the cite +% package with the nocompress option which is supported by cite.sty v4.0 +% and later. Note also the use of a CLASSOPTION conditional provided by +% IEEEtran.cls V1.7 and later. + + + + + +% *** GRAPHICS RELATED PACKAGES *** +% +\ifCLASSINFOpdf + % \usepackage[pdftex]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../pdf/}{../jpeg/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} +\else + % or other class option (dvipsone, dvipdf, if not using dvips). graphicx + % will default to the driver specified in the system graphics.cfg if no + % driver is specified. + % \usepackage[dvips]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../eps/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.eps} +\fi +% graphicx was written by David Carlisle and Sebastian Rahtz. It is +% required if you want graphics, photos, etc. graphicx.sty is already +% installed on most LaTeX systems. The latest version and documentation can +% be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ +% Another good source of documentation is "Using Imported Graphics in +% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or +% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ +% +% latex, and pdflatex in dvi mode, support graphics in encapsulated +% postscript (.eps) format. pdflatex in pdf mode supports graphics +% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure +% that all non-photo figures use a vector format (.eps, .pdf, .mps) and +% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats +% which can result in "jaggedy"/blurry rendering of lines and letters as +% well as large increases in file sizes. +% +% You can find documentation about the pdfTeX application at: +% http://www.tug.org/applications/pdftex + + + +%\usepackage{ps4pdf} +% dvi->ps workflow is required to use such packages as psfrag.sty and +% pstricks.sty. However, Rolf Niepraschk's ps4pdf.sty provides a way to +% apply psfrag/pstricks effects to .eps figures and then get the resultant +% figures in .pdf form. Thus, providing an easier way for migrating from +% .eps to .pdf figures. After ps4pdf.sty loads, if: +% 1. producing .dvi output: the output file will consist ONLY of the +% figures (or other constructs encased within \PSforPDF commands) +% 2. producing .pdf output: pdflatex will look in the filename-pics.pdf +% file, where filename is the basename of the tex document, for the +% graphics (or other constructs encased within \PSforPDF commands). +% NOTE: If you ever change your figures, you must remember to remake +% the filename-pics.pdf file. +% +% This way you can do a: +% +% latex filename +% dvips -Ppdf -o filename-pics.ps filename.dvi +% ps2pdf filename-pics.ps filename-pics.pdf +% +% to produce a filename-pics.pdf graphics container that contains +% .pdf versions of the graphics with psfrag, pstricks, etc. features. +% Note that you will not typically be able to view the figures in +% filename-pics.ps because of an offset. However, you will be able to +% view them in filename-pics.pdf. Also, note that when ps4pdf is in effect +% with .dvi output, you may get harmless over/under full box warnings - +% ignore them. +% Then, run pdflatex: +% +% pdflatex filename +% +% to use pdflatex to make PDF output, automatically using the figures in +% filename-pics.pdf. Alternatively, you could use dvips -i option to +% obtain separate .pdf files for each figure: +% +% dvips -Ppdf -i -E -o fig filename +% +% then convert each figure to pdf via a command such as epstopdf and then +% use pdflatex with these pdf figures and then to dispense with ps4pdf. +% +% Remember to rerun through latex/dvips/ps2pdf if you ever change your +% figures so that filename-pics.pdf gets updated. +% ps4pdf requires David Kastrup's preview-latex and a recent LaTeX system +% (circa 2001 or later). The ps4pdf package and documentation can be +% obtained at: http://www.ctan.org/tex-archive/macros/latex/contrib/ps4pdf/ +% The preview-latex package and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/preview/ +% +% provide a bogus \PSforPDF, even when not loading pd4pdf. This way we can +% stop loading ps4pdf.sty if we choose to make separate .pdf versions of +% each of our figures. +\providecommand{\PSforPDF}[1]{#1} +% Note that in order for ps4pdf to work, all commands related to psfrag, +% pstricks, etc. must be called within the PSforPDF command. This applies +% even when *loading* via \usepackage psfrag.sty, etc. + + +%\PSforPDF{\usepackage{psfrag}} +% psfrag.sty was written by Craig Barratt, Michael C. Grant, and +% David Carlisle. It allows you to substitute LaTeX commands for text in +% imported EPS graphic files. In this way, LaTeX symbols can be placed into +% graphics that have been generated by other applications. You must use +% latex->dvips->ps2pdf workflow (not direct pdf output from pdflatex) if +% you wish to use this capability because it works via some PostScript +% tricks. Alternatively, the graphics could be processed as separate files +% via psfrag and dvips, then converted to PDF for inclusion in the main file +% which uses pdflatex. ps4pdf.sty (above) provides a way of doing this all +% at once within the main file. +% Docs are in "The PSfrag System" by Michael C. Grant and David Carlisle. +% There is also some information about using psfrag in "Using Imported +% Graphics in LaTeX2e" by Keith Reckdahl which documents the graphicx +% package (see above). The psfrag package and documentation can be obtained +% at: http://www.ctan.org/tex-archive/macros/latex/contrib/psfrag/ +% +% Note that the current version of psfrag does not "turn itself off" when +% running under pdf output. This will result in a harmless warning +% about a non-PDF \special. However, to silence this, a bogus psfrag +% command can be provided instead of loading psfrag.sty when PDF output +% is being used. Thus, a more complex alternative conditional loading scheme +% can be employed instead of the straightforword way above: +% +%\ifCLASSINFOpdf +% if outputting PDF, do not use or load psfrag.sty as current versions +% output a non-PDF special that generates a harmless, but annoying warning. +% Instead, we provide a bogus \psfrag command that does nothing with +% its arguments. This is a tad tricky because \psfrag can have up to six +% arguments four of which are optional: \psfrag{}[][][][]{} +% Code based on that in psfrag.sty +%\makeatletter +%\def\psfrag{\@ifstar{\@BOGUSpsfraga}{\@BOGUSpsfraga}} +%\def\@BOGUSpsfraga{\begingroup +% \@makeother\"\@makeother\*\@makeother\!\@makeother\~% +% \@makeother\:\@makeother\\\@makeother\%\@makeother\#% +% \@makeother\ \@BOGUSpsfragb} +%\def\@BOGUSpsfragb#1{\endgroup +% \@ifnextchar [{\@BOGUSpsfragc}% +% {\@BOGUSpsfrag}} +%\def\@BOGUSpsfragc[#1]{\@ifnextchar [{\@BOGUSpsfragd}% +% {\@BOGUSpsfrag}} +%\def\@BOGUSpsfragd[#1]{\@ifnextchar [{\@BOGUSpsfrage}% +% {\@BOGUSpsfrag}} +%\def\@BOGUSpsfrage[#1]{\@ifnextchar [{\@BOGUSpsfragf}% +% {\@BOGUSpsfrag}} +%\def\@BOGUSpsfragf[#1]{\@BOGUSpsfrag} +%\def\@BOGUSpsfrag#1{\ignorespaces} +%\makeatother +%\else +% using dvi output, load psfrag, but funnel it through PSforPDF +% as required by ps4pdf.sty +%\PSforPDF{\usepackage{psfrag}} +%\fi + + + + + +% *** MATH PACKAGES *** +% +%\usepackage[cmex10]{amsmath} +% A popular package from the American Mathematical Society that provides +% many useful and powerful commands for dealing with mathematics. If using +% it, be sure to load this package with the cmex10 option to ensure that +% only type 1 fonts will utilized at all point sizes. Without this option, +% it is possible that some math symbols, particularly those within +% footnotes, will be rendered in bitmap form which will result in a +% document that can not be IEEE Xplore compliant! +% +% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 +% thus preventing page breaks from occurring within multiline equations. Use: +%\interdisplaylinepenalty=2500 +% after loading amsmath to restore such page breaks as IEEEtran.cls normally +% does. amsmath.sty is already installed on most LaTeX systems. The latest +% version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ + + + + + +% *** SPECIALIZED LIST PACKAGES *** +%\usepackage{acronym} +% acronym.sty was written by Tobias Oetiker. This package provides tools for +% managing documents with large numbers of acronyms. (You don't *have* to +% use this package - unless you have a lot of acronyms, you may feel that +% such package management of them is bit of an overkill.) +% Do note that the acronym environment (which lists acronyms) will have a +% problem when used under IEEEtran.cls because acronym.sty relies on the +% description list environment - which IEEEtran.cls has customized for +% producing IEEE style lists. A workaround is to declared the longest +% label width via the IEEEtran.cls \IEEEiedlistdecl global control: +% +% \renewcommand{\IEEEiedlistdecl}{\IEEEsetlabelwidth{SONET}} +% \begin{acronym} +% +% \end{acronym} +% \renewcommand{\IEEEiedlistdecl}{\relax}% remember to reset \IEEEiedlistdecl +% +% instead of using the acronym environment's optional argument. +% The latest version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/acronym/ + + +%\usepackage{algorithmic} +% algorithmic.sty was written by Peter Williams and Rogerio Brito. +% This package provides an algorithmic environment fo describing algorithms. +% You can use the algorithmic environment in-text or within a figure +% environment to provide for a floating algorithm. Do NOT use the algorithm +% floating environment provided by algorithm.sty (by the same authors) or +% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated +% algorithm float types and packages that provide these will not provide +% correct IEEE style captions. The latest version and documentation of +% algorithmic.sty can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ +% There is also a support site at: +% http://algorithms.berlios.de/index.html +% Also of interest may be the (relatively newer and more customizable) +% algorithmicx.sty package by Szasz Janos: +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ + + + + +% *** ALIGNMENT PACKAGES *** +% +%\usepackage{array} +% Frank Mittelbach's and David Carlisle's array.sty patches and improves +% the standard LaTeX2e array and tabular environments to provide better +% appearance and additional user controls. As the default LaTeX2e table +% generation code is lacking to the point of almost being broken with +% respect to the quality of the end results, all users are strongly +% advised to use an enhanced (at the very least that provided by array.sty) +% set of table tools. array.sty is already installed on most systems. The +% latest version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/tools/ + + +%\usepackage{mdwmath} +%\usepackage{mdwtab} +% Also highly recommended is Mark Wooding's extremely powerful MDW tools, +% especially mdwmath.sty and mdwtab.sty which are used to format equations +% and tables, respectively. The MDWtools set is already installed on most +% LaTeX systems. The lastest version and documentation is available at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ + + +% IEEEtran contains the IEEEeqnarray family of commands that can be used to +% generate multiline equations as well as matrices, tables, etc., of high +% quality. + + +%\usepackage{eqparbox} +% Also of notable interest is Scott Pakin's eqparbox package for creating +% (automatically sized) equal width boxes - aka "natural width parboxes". +% Available at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ + + + + + +% *** SUBFIGURE PACKAGES *** +%\ifCLASSOPTIONcompsoc +%\usepackage[tight,normalsize,sf,SF]{subfigure} +%\else +%\usepackage[tight,footnotesize]{subfigure} +%\fi +% subfigure.sty was written by Steven Douglas Cochran. This package makes it +% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE +% work, it is a good idea to load it with the tight package option to reduce +% the amount of white space around the subfigures. Computer Society papers +% use a larger font and \sffamily font for their captions, hence the +% additional options needed under compsoc mode. subfigure.sty is already +% installed on most LaTeX systems. The latest version and documentation can +% be obtained at: +% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ +% subfigure.sty has been superceeded by subfig.sty. + + +%\ifCLASSOPTIONcompsoc +% \usepackage[caption=false]{caption} +% \usepackage[font=normalsize,labelfont=sf,textfont=sf]{subfig} +%\else +% \usepackage[caption=false]{caption} +% \usepackage[font=footnotesize]{subfig} +%\fi +% subfig.sty, also written by Steven Douglas Cochran, is the modern +% replacement for subfigure.sty. However, subfig.sty requires and +% automatically loads Axel Sommerfeldt's caption.sty which will override +% IEEEtran.cls handling of captions and this will result in nonIEEE style +% figure/table captions. To prevent this problem, be sure and preload +% caption.sty with its "caption=false" package option. This is will preserve +% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later +% (recommended due to many improvements over 1.2) of subfig.sty supports +% the caption=false option directly: +%\ifCLASSOPTIONcompsoc +% \usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig} +%\else +% \usepackage[caption=false,font=footnotesize]{subfig} +%\fi +% +% The latest version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ +% The latest version and documentation of caption.sty can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ + + + + +% *** FLOAT PACKAGES *** +% +%\usepackage{fixltx2e} +% fixltx2e, the successor to the earlier fix2col.sty, was written by +% Frank Mittelbach and David Carlisle. This package corrects a few problems +% in the LaTeX2e kernel, the most notable of which is that in current +% LaTeX2e releases, the ordering of single and double column floats is not +% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a +% single column figure to be placed prior to an earlier double column +% figure. The latest version and documentation can be found at: +% http://www.ctan.org/tex-archive/macros/latex/base/ + + +%\usepackage{stfloats} +% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e +% the ability to do double column floats at the bottom of the page as well +% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in +% LaTeX2e). It also provides a command: +%\fnbelowfloat +% to enable the placement of footnotes below bottom floats (the standard +% LaTeX2e kernel puts them above bottom floats). This is an invasive package +% which rewrites many portions of the LaTeX2e float routines. It may not work +% with other packages that modify the LaTeX2e float routines. The latest +% version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ +% Documentation is contained in the stfloats.sty comments as well as in the +% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE +% does not allow \baselineskip to stretch. Authors submitting work to the +% IEEE should note that IEEE rarely uses double column equations and +% that authors should try to avoid such use. Do not be tempted to use the +% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does +% not format its papers in such ways. + + +%\ifCLASSOPTIONcaptionsoff +% \usepackage[nomarkers]{endfloat} +% \let\MYoriglatexcaption\caption +% \renewcommand{\caption}[2][\relax]{\MYoriglatexcaption[#2]{#2}} +%\fi +% endfloat.sty was written by James Darrell McCauley and Jeff Goldberg. +% This package may be useful when used in conjunction with IEEEtran.cls' +% captionsoff option. Some IEEE journals/societies require that submissions +% have lists of figures/tables at the end of the paper and that +% figures/tables without any captions are placed on a page by themselves at +% the end of the document. If needed, the draftcls IEEEtran class option or +% \CLASSINPUTbaselinestretch interface can be used to increase the line +% spacing as well. Be sure and use the nomarkers option of endfloat to +% prevent endfloat from "marking" where the figures would have been placed +% in the text. The two hack lines of code above are a slight modification of +% that suggested by in the endfloat docs (section 8.3.1) to ensure that +% the full captions always appear in the list of figures/tables - even if +% the user used the short optional argument of \caption[]{}. +% IEEE papers do not typically make use of \caption[]'s optional argument, +% so this should not be an issue. A similar trick can be used to disable +% captions of packages such as subfig.sty that lack options to turn off +% the subcaptions: +% For subfig.sty: +% \let\MYorigsubfloat\subfloat +% \renewcommand{\subfloat}[2][\relax]{\MYorigsubfloat[]{#2}} +% For subfigure.sty: +% \let\MYorigsubfigure\subfigure +% \renewcommand{\subfigure}[2][\relax]{\MYorigsubfigure[]{#2}} +% However, the above trick will not work if both optional arguments of +% the \subfloat/subfig command are used. Furthermore, there needs to be a +% description of each subfigure *somewhere* and endfloat does not add +% subfigure captions to its list of figures. Thus, the best approach is to +% avoid the use of subfigure captions (many IEEE journals avoid them anyway) +% and instead reference/explain all the subfigures within the main caption. +% The latest version of endfloat.sty and its documentation can obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/endfloat/ +% +% The IEEEtran \ifCLASSOPTIONcaptionsoff conditional can also be used +% later in the document, say, to conditionally put the References on a +% page by themselves. + + + + + +% *** PDF, URL AND HYPERLINK PACKAGES *** +% +%\usepackage{url} +% url.sty was written by Donald Arseneau. It provides better support for +% handling and breaking URLs. url.sty is already installed on most LaTeX +% systems. The latest version can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ +% Read the url.sty source comments for usage information. Basically, +% \url{my_url_here}. + + +% NOTE: PDF thumbnail features are not required in IEEE papers +% and their use requires extra complexity and work. +%\ifCLASSINFOpdf +% \usepackage[pdftex]{thumbpdf} +%\else +% \usepackage[dvips]{thumbpdf} +%\fi +% thumbpdf.sty and its companion Perl utility were written by Heiko Oberdiek. +% It allows the user a way to produce PDF documents that contain fancy +% thumbnail images of each of the pages (which tools like acrobat reader can +% utilize). This is possible even when using dvi->ps->pdf workflow if the +% correct thumbpdf driver options are used. thumbpdf.sty incorporates the +% file containing the PDF thumbnail information (filename.tpm is used with +% dvips, filename.tpt is used with pdftex, where filename is the base name of +% your tex document) into the final ps or pdf output document. An external +% utility, the thumbpdf *Perl script* is needed to make these .tpm or .tpt +% thumbnail files from a .ps or .pdf version of the document (which obviously +% does not yet contain pdf thumbnails). Thus, one does a: +% +% thumbpdf filename.pdf +% +% to make a filename.tpt, and: +% +% thumbpdf --mode dvips filename.ps +% +% to make a filename.tpm which will then be loaded into the document by +% thumbpdf.sty the NEXT time the document is compiled (by pdflatex or +% latex->dvips->ps2pdf). Users must be careful to regenerate the .tpt and/or +% .tpm files if the main document changes and then to recompile the +% document to incorporate the revised thumbnails to ensure that thumbnails +% match the actual pages. It is easy to forget to do this! +% +% Unix systems come with a Perl interpreter. However, MS Windows users +% will usually have to install a Perl interpreter so that the thumbpdf +% script can be run. The Ghostscript PS/PDF interpreter is also required. +% See the thumbpdf docs for details. The latest version and documentation +% can be obtained at. +% http://www.ctan.org/tex-archive/support/thumbpdf/ +% Be sure and use only version 3.8 (2005/07/06) or later of thumbpdf as +% earlier versions will not work properly with recent versions of pdfTeX +% (1.20a and later). + + +% NOTE: PDF hyperlink and bookmark features are not required in IEEE +% papers and their use requires extra complexity and work. +% *** IF USING HYPERREF BE SURE AND CHANGE THE EXAMPLE PDF *** +% *** TITLE/SUBJECT/AUTHOR/KEYWORDS INFO BELOW!! *** +\newcommand\MYhyperrefoptions{bookmarks=true,bookmarksnumbered=true, +pdfpagemode={UseOutlines},plainpages=false,pdfpagelabels=true, +colorlinks=true,linkcolor={black},citecolor={black},pagecolor={black}, +urlcolor={black}, +pdftitle={Bare Demo of IEEEtran.cls for Computer Society Journals},%.dvi->.ps->.pdf workflow if the respective packages/scripts are +% loaded/invoked with the correct driver options (dvips, etc.). +% As most IEEE papers use URLs sparingly (mainly in the references), this +% may not be as big an issue as with other publications. +% +% That said, recently Vilar Camara Neto introduced his breakurl.sty +% package which permits hyperref to easily break URLs even in dvi +% mode. Note that breakurl, unlike most other packages, must be loaded +% AFTER hyperref. The latest version of breakurl and its documentation can +% be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/breakurl/ +% breakurl.sty is not for use under pdflatex pdf mode. Versions 1.10 +% (September 23, 2005) and later are recommened to avoid bugs in earlier +% releases. +% +% The advanced features offer by hyperref.sty are not required for IEEE +% submission, so users should weigh these features against the added +% complexity of use. Users who wish to use hyperref *must* ensure that +% their hyperref version is 6.72u or later *and* IEEEtran.cls is version +% 1.6b or later. +% The package options above demonstrate how to enable PDF bookmarks +% (a type of table of contents viewable in Acrobat Reader) as well as +% PDF document information (title, subject, author and keywords) that is +% viewable in Acrobat reader's Document_Properties menu. PDF document +% information is also used extensively to automate the cataloging of PDF +% documents. The above set of options ensures that hyperlinks will not be +% colored in the text and thus will not be visible in the printed page, +% but will be active on "mouse over". USING COLORS OR OTHER HIGHLIGHTING +% OF HYPERLINKS CAN RESULT IN DOCUMENT REJECTION BY THE IEEE, especially if +% these appear on the "printed" page. IF IN DOUBT, ASK THE RELEVANT +% SUBMISSION EDITOR. You may need to add the option hypertexnames=false if +% you used duplicate equation numbers, etc., but this should not be needed +% in normal IEEE work. +% The latest version of hyperref and its documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/hyperref/ + + + + + +% *** Do not adjust lengths that control margins, column widths, etc. *** +% *** Do not use packages that alter fonts (such as pslatex). *** +% There should be no need to do such things with IEEEtran.cls V1.6 and later. +% (Unless specifically asked to do so by the journal or conference you plan +% to submit to, of course. ) + + +% correct bad hyphenation here +\hyphenation{op-tical net-works semi-conduc-tor} + + +\begin{document} +% +% paper title +% can use linebreaks \\ within to get better formatting as desired +\title{Bare Advanced Demo of IEEEtran.cls\\ for Computer Society Journals} +% +% +% author names and IEEE memberships +% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break +% a structure at a ~ so this keeps an author's name from being broken across +% two lines. +% use \thanks{} to gain access to the first footnote area +% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks +% was not built to handle multiple paragraphs +% +% +%\IEEEcompsocitemizethanks is a special \thanks that produces the bulleted +% lists the Computer Society journals use for "first footnote" author +% affiliations. Use \IEEEcompsocthanksitem which works much like \item +% for each affiliation group. When not in compsoc mode, +% \IEEEcompsocitemizethanks becomes like \thanks and +% \IEEEcompsocthanksitem becomes a line break with idention. This +% facilitates dual compilation, although admittedly the differences in the +% desired content of \author between the different types of papers makes a +% one-size-fits-all approach a daunting prospect. For instance, compsoc +% journal papers have the author affiliations above the "Manuscript +% received ..." text while in non-compsoc journals this is reversed. Sigh. + +\author{Michael~Shell,~\IEEEmembership{Member,~IEEE,} + John~Doe,~\IEEEmembership{Fellow,~OSA,} + and~Jane~Doe,~\IEEEmembership{Life~Fellow,~IEEE}% <-this % stops a space +\IEEEcompsocitemizethanks{\IEEEcompsocthanksitem M. Shell is with the Department +of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, +GA, 30332.\protect\\ +% note need leading \protect in front of \\ to get a newline within \thanks as +% \\ is fragile and will error, could use \hfil\break instead. +E-mail: see http://www.michaelshell.org/contact.html +\IEEEcompsocthanksitem J. Doe and J. Doe are with Anonymous University.}% <-this % stops a space +\thanks{Manuscript received April 19, 2005; revised January 11, 2007.}} + +% note the % following the last \IEEEmembership and also \thanks - +% these prevent an unwanted space from occurring between the last author name +% and the end of the author line. i.e., if you had this: +% +% \author{....lastname \thanks{...} \thanks{...} } +% ^------------^------------^----Do not want these spaces! +% +% a space would be appended to the last name and could cause every name on that +% line to be shifted left slightly. This is one of those "LaTeX things". For +% instance, "\textbf{A} \textbf{B}" will typeset as "A B" not "AB". To get +% "AB" then you have to do: "\textbf{A}\textbf{B}" +% \thanks is no different in this regard, so shield the last } of each \thanks +% that ends a line with a % and do not let a space in before the next \thanks. +% Spaces after \IEEEmembership other than the last one are OK (and needed) as +% you are supposed to have spaces between the names. For what it is worth, +% this is a minor point as most people would not even notice if the said evil +% space somehow managed to creep in. + + + +% The paper headers +\markboth{Journal of \LaTeX\ Class Files,~Vol.~6, No.~1, January~2007}% +{Shell \MakeLowercase{\textit{et al.}}: Bare Advanced Demo of IEEEtran.cls for Journals} +% The only time the second header will appear is for the odd numbered pages +% after the title page when using the twoside option. +% +% *** Note that you probably will NOT want to include the author's *** +% *** name in the headers of peer review papers. *** +% You can use \ifCLASSOPTIONpeerreview for conditional compilation here if +% you desire. + + + +% The publisher's ID mark at the bottom of the page is less important with +% Computer Society journal papers as those publications place the marks +% outside of the main text columns and, therefore, unlike regular IEEE +% journals, the available text space is not reduced by their presence. +% If you want to put a publisher's ID mark on the page you can do it like +% this: +%\IEEEpubid{0000--0000/00\$00.00~\copyright~2007 IEEE} +% or like this to get the Computer Society new two part style. +%\IEEEpubid{\makebox[\columnwidth]{\hfill 0000--0000/00/\$00.00~\copyright~2007 IEEE}% +%\hspace{\columnsep}\makebox[\columnwidth]{Published by the IEEE Computer Society\hfill}} +% Remember, if you use this you must call \IEEEpubidadjcol in the second +% column for its text to clear the IEEEpubid mark (Computer Society jorunal +% papers don't need this extra clearance.) + + + +% use for special paper notices +%\IEEEspecialpapernotice{(Invited Paper)} + + + +% for Computer Society papers, we must declare the abstract and index terms +% PRIOR to the title within the \IEEEcompsoctitleabstractindextext IEEEtran +% command as these need to go into the title area created by \maketitle. +\IEEEcompsoctitleabstractindextext{% +\begin{abstract} +%\boldmath +The abstract goes here. +\end{abstract} +% IEEEtran.cls defaults to using nonbold math in the Abstract. +% This preserves the distinction between vectors and scalars. However, +% if the journal you are submitting to favors bold math in the abstract, +% then you can use LaTeX's standard command \boldmath at the very start +% of the abstract to achieve this. Many IEEE journals frown on math +% in the abstract anyway. In particular, the Computer Society does +% not want either math or citations to appear in the abstract. + +% Note that keywords are not normally used for peerreview papers. +\begin{IEEEkeywords} +Computer Society, IEEEtran, journal, \LaTeX, paper, template. +\end{IEEEkeywords}} + + +% make the title area +\maketitle + + +% To allow for easy dual compilation without having to reenter the +% abstract/keywords data, the \IEEEcompsoctitleabstractindextext text will +% not be used in maketitle, but will appear (i.e., to be "transported") +% here as \IEEEdisplaynotcompsoctitleabstractindextext when compsoc mode +% is not selected if conference mode is selected - because compsoc +% conference papers position the abstract like regular (non-compsoc) +% papers do! +\IEEEdisplaynotcompsoctitleabstractindextext +% \IEEEdisplaynotcompsoctitleabstractindextext has no effect when using +% compsoc under a non-conference mode. + + +% For peer review papers, you can put extra information on the cover +% page as needed: +% \ifCLASSOPTIONpeerreview +% \begin{center} \bfseries EDICS Category: 3-BBND \end{center} +% \fi +% +% For peerreview papers, this IEEEtran command inserts a page break and +% creates the second title. It will be ignored for other modes. +\IEEEpeerreviewmaketitle + + + +\section{Introduction} +% Computer Society journal papers do something a tad strange with the very +% first section heading (almost always called "Introduction"). They place it +% ABOVE the main text! IEEEtran.cls currently does not do this for you. +% However, You can achieve this effect by making LaTeX jump through some +% hoops via something like: +% +%\ifCLASSOPTIONcompsoc +% \noindent\raisebox{2\baselineskip}[0pt][0pt]% +% {\parbox{\columnwidth}{\section{Introduction}\label{sec:introduction}% +% \global\everypar=\everypar}}% +% \vspace{-1\baselineskip}\vspace{-\parskip}\par +%\else +% \section{Introduction}\label{sec:introduction}\par +%\fi +% +% Admittedly, this is a hack and may well be fragile, but seems to do the +% trick for me. Note the need to keep any \label that may be used right +% after \section in the above as the hack puts \section within a raised box. + + + +% The very first letter is a 2 line initial drop letter followed +% by the rest of the first word in caps (small caps for compsoc). +% +% form to use if the first word consists of a single letter: +% \IEEEPARstart{A}{demo} file is .... +% +% form to use if you need the single drop letter followed by +% normal text (unknown if ever used by IEEE): +% \IEEEPARstart{A}{}demo file is .... +% +% Some journals put the first two words in caps: +% \IEEEPARstart{T}{his demo} file is .... +% +% Here we have the typical use of a "T" for an initial drop letter +% and "HIS" in caps to complete the first word. +\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file'' +for IEEE Computer Society journal papers produced under \LaTeX\ using +IEEEtran.cls version 1.7 and later. +% You must have at least 2 lines in the paragraph with the drop letter +% (should never be an issue) +I wish you the best of success. + +\hfill mds + +\hfill January 11, 2007 + +\subsection{Subsection Heading Here} +Subsection text here. + +% needed in second column of first page if using \IEEEpubid +%\IEEEpubidadjcol + +\subsubsection{Subsubsection Heading Here} +Subsubsection text here. + + +% An example of a floating figure using the graphicx package. +% Note that \label must occur AFTER (or within) \caption. +% For figures, \caption should occur after the \includegraphics. +% Note that IEEEtran v1.7 and later has special internal code that +% is designed to preserve the operation of \label within \caption +% even when the captionsoff option is in effect. However, because +% of issues like this, it may be the safest practice to put all your +% \label just after \caption rather than within \caption{}. +% +% Reminder: the "draftcls" or "draftclsnofoot", not "draft", class +% option should be used if it is desired that the figures are to be +% displayed while in draft mode. +% +%\begin{figure}[!t] +%\centering +%\includegraphics[width=2.5in]{myfigure} +% where an .eps filename suffix will be assumed under latex, +% and a .pdf suffix will be assumed for pdflatex; or what has been declared +% via \DeclareGraphicsExtensions. +%\caption{Simulation Results} +%\label{fig_sim} +%\end{figure} + +% Note that IEEE typically puts floats only at the top, even when this +% results in a large percentage of a column being occupied by floats. +% However, the Computer Society has been known to put floats at the bottom. + + +% An example of a double column floating figure using two subfigures. +% (The subfig.sty package must be loaded for this to work.) +% The subfigure \label commands are set within each subfloat command, the +% \label for the overall figure must come after \caption. +% \hfil must be used as a separator to get equal spacing. +% The subfigure.sty package works much the same way, except \subfigure is +% used instead of \subfloat. +% +%\begin{figure*}[!t] +%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% +%\label{fig_first_case}} +%\hfil +%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% +%\label{fig_second_case}}} +%\caption{Simulation results} +%\label{fig_sim} +%\end{figure*} +% +% Note that often IEEE papers with subfigures do not employ subfigure +% captions (using the optional argument to \subfloat), but instead will +% reference/describe all of them (a), (b), etc., within the main caption. + + +% An example of a floating table. Note that, for IEEE style tables, the +% \caption command should come BEFORE the table. Table text will default to +% \footnotesize as IEEE normally uses this smaller font for tables. +% The \label must come after \caption as always. +% +%\begin{table}[!t] +%% increase table row spacing, adjust to taste +%\renewcommand{\arraystretch}{1.3} +% if using array.sty, it might be a good idea to tweak the value of +% \extrarowheight as needed to properly center the text within the cells +%\caption{An Example of a Table} +%\label{table_example} +%\centering +%% Some packages, such as MDW tools, offer better commands for making tables +%% than the plain LaTeX2e tabular which is used here. +%\begin{tabular}{|c||c|} +%\hline +%One & Two\\ +%\hline +%Three & Four\\ +%\hline +%\end{tabular} +%\end{table} + + +% Note that IEEE does not put floats in the very first column - or typically +% anywhere on the first page for that matter. Also, in-text middle ("here") +% positioning is not used. Most IEEE journals use top floats exclusively. +% However, Computer Society journals sometimes do use bottom floats - bear +% this in mind when choosing appropriate optional arguments for the +% figure/table environments. +% Note that, LaTeX2e, unlike IEEE journals, places footnotes above bottom +% floats. This can be corrected via the \fnbelowfloat command of the +% stfloats package. + + + +\section{Conclusion} +The conclusion goes here. + + + + + +% if have a single appendix: +%\appendix[Proof of the Zonklar Equations] +% or +%\appendix % for no appendix heading +% do not use \section anymore after \appendix, only \section* +% is possibly needed + +% use appendices with more than one appendix +% then use \section to start each appendix +% you must declare a \section before using any +% \subsection or using \label (\appendices by itself +% starts a section numbered zero.) +% + + +\appendices +\section{Proof of the First Zonklar Equation} +Appendix one text goes here. + +% you can choose not to have a title for an appendix +% if you want by leaving the argument blank +\section{} +Appendix two text goes here. + + +% use section* for acknowledgement +\ifCLASSOPTIONcompsoc + % The Computer Society usually uses the plural form + \section*{Acknowledgments} +\else + % regular IEEE prefers the singular form + \section*{Acknowledgment} +\fi + + +The authors would like to thank... + + +% Can use something like this to put references on a page +% by themselves when using endfloat and the captionsoff option. +\ifCLASSOPTIONcaptionsoff + \newpage +\fi + + + +% trigger a \newpage just before the given reference +% number - used to balance the columns on the last page +% adjust value as needed - may need to be readjusted if +% the document is modified later +%\IEEEtriggeratref{8} +% The "triggered" command can be changed if desired: +%\IEEEtriggercmd{\enlargethispage{-5in}} + +% references section + +% can use a bibliography generated by BibTeX as a .bbl file +% BibTeX documentation can be easily obtained at: +% http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/ +% The IEEEtran BibTeX style support page is at: +% http://www.michaelshell.org/tex/ieeetran/bibtex/ +%\bibliographystyle{IEEEtran} +% argument is your BibTeX string definitions and bibliography database(s) +%\bibliography{IEEEabrv,../bib/paper} +% +% manually copy in the resultant .bbl file +% set second argument of \begin to the number of references +% (used to reserve space for the reference number labels box) +\begin{thebibliography}{1} + +\bibitem{IEEEhowto:kopka} +H.~Kopka and P.~W. Daly, \emph{A Guide to {\LaTeX}}, 3rd~ed.\hskip 1em plus + 0.5em minus 0.4em\relax Harlow, England: Addison-Wesley, 1999. + +\end{thebibliography} + +% biography section +% +% If you have an EPS/PDF photo (graphicx package needed) extra braces are +% needed around the contents of the optional argument to biography to prevent +% the LaTeX parser from getting confused when it sees the complicated +% \includegraphics command within an optional argument. (You could create +% your own custom macro containing the \includegraphics command to make things +% simpler here.) +%\begin{biography}[{\includegraphics[width=1in,height=1.25in,clip,keepaspectratio]{mshell}}]{Michael Shell} +% or if you just want to reserve a space for a photo: + +\begin{IEEEbiography}{Michael Shell} +Biography text here. +\end{IEEEbiography} + +% if you will not have a photo at all: +\begin{IEEEbiographynophoto}{John Doe} +Biography text here. +\end{IEEEbiographynophoto} + +% insert where needed to balance the two columns on the last page with +% biographies +%\newpage + +\begin{IEEEbiographynophoto}{Jane Doe} +Biography text here. +\end{IEEEbiographynophoto} + +% You can push biographies down or up by placing +% a \vfill before or after them. The appropriate +% use of \vfill depends on what kind of text is +% on the last page and whether or not the columns +% are being equalized. + +%\vfill + +% Can be used to pull up biographies so that the bottom of the last one +% is flush with the other column. +%\enlargethispage{-5in} + + + +% that's all folks +\end{document} + + diff --git a/mpi-energy2-extension/IEEEtran/bare_conf.tex b/mpi-energy2-extension/IEEEtran/bare_conf.tex new file mode 100644 index 0000000..16a4c0c --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/bare_conf.tex @@ -0,0 +1,601 @@ + +%% bare_conf.tex +%% V1.3 +%% 2007/01/11 +%% by Michael Shell +%% See: +%% http://www.michaelshell.org/ +%% for current contact information. +%% +%% This is a skeleton file demonstrating the use of IEEEtran.cls +%% (requires IEEEtran.cls version 1.7 or later) with an IEEE conference paper. +%% +%% Support sites: +%% http://www.michaelshell.org/tex/ieeetran/ +%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +%% and +%% http://www.ieee.org/ + +%%************************************************************************* +%% Legal Notice: +%% This code is offered as-is without any warranty either expressed or +%% implied; without even the implied warranty of MERCHANTABILITY or +%% FITNESS FOR A PARTICULAR PURPOSE! +%% User assumes all risk. +%% In no event shall IEEE or any contributor to this code be liable for +%% any damages or losses, including, but not limited to, incidental, +%% consequential, or any other damages, resulting from the use or misuse +%% of any information contained here. +%% +%% All comments are the opinions of their respective authors and are not +%% necessarily endorsed by the IEEE. +%% +%% This work is distributed under the LaTeX Project Public License (LPPL) +%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, +%% distributed and modified. A copy of the LPPL, version 1.3, is included +%% in the base LaTeX documentation of all distributions of LaTeX released +%% 2003/12/01 or later. +%% Retain all contribution notices and credits. +%% ** Modified files should be clearly indicated as such, including ** +%% ** renaming them and changing author support contact information. ** +%% +%% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex, +%% bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex +%%************************************************************************* + +% *** Authors should verify (and, if needed, correct) their LaTeX system *** +% *** with the testflow diagnostic prior to trusting their LaTeX platform *** +% *** with production work. IEEE's font choices can trigger bugs that do *** +% *** not appear when using other class files. *** +% The testflow support page is at: +% http://www.michaelshell.org/tex/testflow/ + + + +% Note that the a4paper option is mainly intended so that authors in +% countries using A4 can easily print to A4 and see how their papers will +% look in print - the typesetting of the document will not typically be +% affected with changes in paper size (but the bottom and side margins will). +% Use the testflow package mentioned above to verify correct handling of +% both paper sizes by the user's LaTeX system. +% +% Also note that the "draftcls" or "draftclsnofoot", not "draft", option +% should be used if it is desired that the figures are to be displayed in +% draft mode. +% +\documentclass[conference]{IEEEtran} +% Add the compsoc option for Computer Society conferences. +% +% If IEEEtran.cls has not been installed into the LaTeX system files, +% manually specify the path to it like: +% \documentclass[conference]{../sty/IEEEtran} + + + + + +% Some very useful LaTeX packages include: +% (uncomment the ones you want to load) + + +% *** MISC UTILITY PACKAGES *** +% +%\usepackage{ifpdf} +% Heiko Oberdiek's ifpdf.sty is very useful if you need conditional +% compilation based on whether the output is pdf or dvi. +% usage: +% \ifpdf +% % pdf code +% \else +% % dvi code +% \fi +% The latest version of ifpdf.sty can be obtained from: +% http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ +% Also, note that IEEEtran.cls V1.7 and later provides a builtin +% \ifCLASSINFOpdf conditional that works the same way. +% When switching from latex to pdflatex and vice-versa, the compiler may +% have to be run twice to clear warning/error messages. + + + + + + +% *** CITATION PACKAGES *** +% +%\usepackage{cite} +% cite.sty was written by Donald Arseneau +% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package +% \cite{} output to follow that of IEEE. Loading the cite package will +% result in citation numbers being automatically sorted and properly +% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using +% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's +% \cite will automatically add leading space, if needed. Use cite.sty's +% noadjust option (cite.sty V3.8 and later) if you want to turn this off. +% cite.sty is already installed on most LaTeX systems. Be sure and use +% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does +% not currently provide for hyperlinked citations. +% The latest version can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ +% The documentation is contained in the cite.sty file itself. + + + + + + +% *** GRAPHICS RELATED PACKAGES *** +% +\ifCLASSINFOpdf + % \usepackage[pdftex]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../pdf/}{../jpeg/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} +\else + % or other class option (dvipsone, dvipdf, if not using dvips). graphicx + % will default to the driver specified in the system graphics.cfg if no + % driver is specified. + % \usepackage[dvips]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../eps/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.eps} +\fi +% graphicx was written by David Carlisle and Sebastian Rahtz. It is +% required if you want graphics, photos, etc. graphicx.sty is already +% installed on most LaTeX systems. The latest version and documentation can +% be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ +% Another good source of documentation is "Using Imported Graphics in +% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or +% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ +% +% latex, and pdflatex in dvi mode, support graphics in encapsulated +% postscript (.eps) format. pdflatex in pdf mode supports graphics +% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure +% that all non-photo figures use a vector format (.eps, .pdf, .mps) and +% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats +% which can result in "jaggedy"/blurry rendering of lines and letters as +% well as large increases in file sizes. +% +% You can find documentation about the pdfTeX application at: +% http://www.tug.org/applications/pdftex + + + + + +% *** MATH PACKAGES *** +% +%\usepackage[cmex10]{amsmath} +% A popular package from the American Mathematical Society that provides +% many useful and powerful commands for dealing with mathematics. If using +% it, be sure to load this package with the cmex10 option to ensure that +% only type 1 fonts will utilized at all point sizes. Without this option, +% it is possible that some math symbols, particularly those within +% footnotes, will be rendered in bitmap form which will result in a +% document that can not be IEEE Xplore compliant! +% +% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 +% thus preventing page breaks from occurring within multiline equations. Use: +%\interdisplaylinepenalty=2500 +% after loading amsmath to restore such page breaks as IEEEtran.cls normally +% does. amsmath.sty is already installed on most LaTeX systems. The latest +% version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ + + + + + +% *** SPECIALIZED LIST PACKAGES *** +% +%\usepackage{algorithmic} +% algorithmic.sty was written by Peter Williams and Rogerio Brito. +% This package provides an algorithmic environment fo describing algorithms. +% You can use the algorithmic environment in-text or within a figure +% environment to provide for a floating algorithm. Do NOT use the algorithm +% floating environment provided by algorithm.sty (by the same authors) or +% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated +% algorithm float types and packages that provide these will not provide +% correct IEEE style captions. The latest version and documentation of +% algorithmic.sty can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ +% There is also a support site at: +% http://algorithms.berlios.de/index.html +% Also of interest may be the (relatively newer and more customizable) +% algorithmicx.sty package by Szasz Janos: +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ + + + + +% *** ALIGNMENT PACKAGES *** +% +%\usepackage{array} +% Frank Mittelbach's and David Carlisle's array.sty patches and improves +% the standard LaTeX2e array and tabular environments to provide better +% appearance and additional user controls. As the default LaTeX2e table +% generation code is lacking to the point of almost being broken with +% respect to the quality of the end results, all users are strongly +% advised to use an enhanced (at the very least that provided by array.sty) +% set of table tools. array.sty is already installed on most systems. The +% latest version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/tools/ + + +%\usepackage{mdwmath} +%\usepackage{mdwtab} +% Also highly recommended is Mark Wooding's extremely powerful MDW tools, +% especially mdwmath.sty and mdwtab.sty which are used to format equations +% and tables, respectively. The MDWtools set is already installed on most +% LaTeX systems. The lastest version and documentation is available at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ + + +% IEEEtran contains the IEEEeqnarray family of commands that can be used to +% generate multiline equations as well as matrices, tables, etc., of high +% quality. + + +%\usepackage{eqparbox} +% Also of notable interest is Scott Pakin's eqparbox package for creating +% (automatically sized) equal width boxes - aka "natural width parboxes". +% Available at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ + + + + + +% *** SUBFIGURE PACKAGES *** +%\usepackage[tight,footnotesize]{subfigure} +% subfigure.sty was written by Steven Douglas Cochran. This package makes it +% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE +% work, it is a good idea to load it with the tight package option to reduce +% the amount of white space around the subfigures. subfigure.sty is already +% installed on most LaTeX systems. The latest version and documentation can +% be obtained at: +% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ +% subfigure.sty has been superceeded by subfig.sty. + + + +%\usepackage[caption=false]{caption} +%\usepackage[font=footnotesize]{subfig} +% subfig.sty, also written by Steven Douglas Cochran, is the modern +% replacement for subfigure.sty. However, subfig.sty requires and +% automatically loads Axel Sommerfeldt's caption.sty which will override +% IEEEtran.cls handling of captions and this will result in nonIEEE style +% figure/table captions. To prevent this problem, be sure and preload +% caption.sty with its "caption=false" package option. This is will preserve +% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later +% (recommended due to many improvements over 1.2) of subfig.sty supports +% the caption=false option directly: +%\usepackage[caption=false,font=footnotesize]{subfig} +% +% The latest version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ +% The latest version and documentation of caption.sty can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ + + + + +% *** FLOAT PACKAGES *** +% +%\usepackage{fixltx2e} +% fixltx2e, the successor to the earlier fix2col.sty, was written by +% Frank Mittelbach and David Carlisle. This package corrects a few problems +% in the LaTeX2e kernel, the most notable of which is that in current +% LaTeX2e releases, the ordering of single and double column floats is not +% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a +% single column figure to be placed prior to an earlier double column +% figure. The latest version and documentation can be found at: +% http://www.ctan.org/tex-archive/macros/latex/base/ + + + +%\usepackage{stfloats} +% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e +% the ability to do double column floats at the bottom of the page as well +% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in +% LaTeX2e). It also provides a command: +%\fnbelowfloat +% to enable the placement of footnotes below bottom floats (the standard +% LaTeX2e kernel puts them above bottom floats). This is an invasive package +% which rewrites many portions of the LaTeX2e float routines. It may not work +% with other packages that modify the LaTeX2e float routines. The latest +% version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ +% Documentation is contained in the stfloats.sty comments as well as in the +% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE +% does not allow \baselineskip to stretch. Authors submitting work to the +% IEEE should note that IEEE rarely uses double column equations and +% that authors should try to avoid such use. Do not be tempted to use the +% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does +% not format its papers in such ways. + + + + + +% *** PDF, URL AND HYPERLINK PACKAGES *** +% +%\usepackage{url} +% url.sty was written by Donald Arseneau. It provides better support for +% handling and breaking URLs. url.sty is already installed on most LaTeX +% systems. The latest version can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ +% Read the url.sty source comments for usage information. Basically, +% \url{my_url_here}. + + + + + +% *** Do not adjust lengths that control margins, column widths, etc. *** +% *** Do not use packages that alter fonts (such as pslatex). *** +% There should be no need to do such things with IEEEtran.cls V1.6 and later. +% (Unless specifically asked to do so by the journal or conference you plan +% to submit to, of course. ) + + +% correct bad hyphenation here +\hyphenation{op-tical net-works semi-conduc-tor} + + +\begin{document} +% +% paper title +% can use linebreaks \\ within to get better formatting as desired +\title{Bare Demo of IEEEtran.cls for Conferences} + + +% author names and affiliations +% use a multiple column layout for up to three different +% affiliations +\author{\IEEEauthorblockN{Michael Shell} +\IEEEauthorblockA{School of Electrical and\\Computer Engineering\\ +Georgia Institute of Technology\\ +Atlanta, Georgia 30332--0250\\ +Email: http://www.michaelshell.org/contact.html} +\and +\IEEEauthorblockN{Homer Simpson} +\IEEEauthorblockA{Twentieth Century Fox\\ +Springfield, USA\\ +Email: homer@thesimpsons.com} +\and +\IEEEauthorblockN{James Kirk\\ and Montgomery Scott} +\IEEEauthorblockA{Starfleet Academy\\ +San Francisco, California 96678-2391\\ +Telephone: (800) 555--1212\\ +Fax: (888) 555--1212}} + +% conference papers do not typically use \thanks and this command +% is locked out in conference mode. If really needed, such as for +% the acknowledgment of grants, issue a \IEEEoverridecommandlockouts +% after \documentclass + +% for over three affiliations, or if they all won't fit within the width +% of the page, use this alternative format: +% +%\author{\IEEEauthorblockN{Michael Shell\IEEEauthorrefmark{1}, +%Homer Simpson\IEEEauthorrefmark{2}, +%James Kirk\IEEEauthorrefmark{3}, +%Montgomery Scott\IEEEauthorrefmark{3} and +%Eldon Tyrell\IEEEauthorrefmark{4}} +%\IEEEauthorblockA{\IEEEauthorrefmark{1}School of Electrical and Computer Engineering\\ +%Georgia Institute of Technology, +%Atlanta, Georgia 30332--0250\\ Email: see http://www.michaelshell.org/contact.html} +%\IEEEauthorblockA{\IEEEauthorrefmark{2}Twentieth Century Fox, Springfield, USA\\ +%Email: homer@thesimpsons.com} +%\IEEEauthorblockA{\IEEEauthorrefmark{3}Starfleet Academy, San Francisco, California 96678-2391\\ +%Telephone: (800) 555--1212, Fax: (888) 555--1212} +%\IEEEauthorblockA{\IEEEauthorrefmark{4}Tyrell Inc., 123 Replicant Street, Los Angeles, California 90210--4321}} + + + + +% use for special paper notices +%\IEEEspecialpapernotice{(Invited Paper)} + + + + +% make the title area +\maketitle + + +\begin{abstract} +%\boldmath +The abstract goes here. +\end{abstract} +% IEEEtran.cls defaults to using nonbold math in the Abstract. +% This preserves the distinction between vectors and scalars. However, +% if the conference you are submitting to favors bold math in the abstract, +% then you can use LaTeX's standard command \boldmath at the very start +% of the abstract to achieve this. Many IEEE journals/conferences frown on +% math in the abstract anyway. + +% no keywords + + + + +% For peer review papers, you can put extra information on the cover +% page as needed: +% \ifCLASSOPTIONpeerreview +% \begin{center} \bfseries EDICS Category: 3-BBND \end{center} +% \fi +% +% For peerreview papers, this IEEEtran command inserts a page break and +% creates the second title. It will be ignored for other modes. +\IEEEpeerreviewmaketitle + + + +\section{Introduction} +% no \IEEEPARstart +This demo file is intended to serve as a ``starter file'' +for IEEE conference papers produced under \LaTeX\ using +IEEEtran.cls version 1.7 and later. +% You must have at least 2 lines in the paragraph with the drop letter +% (should never be an issue) +I wish you the best of success. + +\hfill mds + +\hfill January 11, 2007 + +\subsection{Subsection Heading Here} +Subsection text here. + + +\subsubsection{Subsubsection Heading Here} +Subsubsection text here. + + +% An example of a floating figure using the graphicx package. +% Note that \label must occur AFTER (or within) \caption. +% For figures, \caption should occur after the \includegraphics. +% Note that IEEEtran v1.7 and later has special internal code that +% is designed to preserve the operation of \label within \caption +% even when the captionsoff option is in effect. However, because +% of issues like this, it may be the safest practice to put all your +% \label just after \caption rather than within \caption{}. +% +% Reminder: the "draftcls" or "draftclsnofoot", not "draft", class +% option should be used if it is desired that the figures are to be +% displayed while in draft mode. +% +%\begin{figure}[!t] +%\centering +%\includegraphics[width=2.5in]{myfigure} +% where an .eps filename suffix will be assumed under latex, +% and a .pdf suffix will be assumed for pdflatex; or what has been declared +% via \DeclareGraphicsExtensions. +%\caption{Simulation Results} +%\label{fig_sim} +%\end{figure} + +% Note that IEEE typically puts floats only at the top, even when this +% results in a large percentage of a column being occupied by floats. + + +% An example of a double column floating figure using two subfigures. +% (The subfig.sty package must be loaded for this to work.) +% The subfigure \label commands are set within each subfloat command, the +% \label for the overall figure must come after \caption. +% \hfil must be used as a separator to get equal spacing. +% The subfigure.sty package works much the same way, except \subfigure is +% used instead of \subfloat. +% +%\begin{figure*}[!t] +%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% +%\label{fig_first_case}} +%\hfil +%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% +%\label{fig_second_case}}} +%\caption{Simulation results} +%\label{fig_sim} +%\end{figure*} +% +% Note that often IEEE papers with subfigures do not employ subfigure +% captions (using the optional argument to \subfloat), but instead will +% reference/describe all of them (a), (b), etc., within the main caption. + + +% An example of a floating table. Note that, for IEEE style tables, the +% \caption command should come BEFORE the table. Table text will default to +% \footnotesize as IEEE normally uses this smaller font for tables. +% The \label must come after \caption as always. +% +%\begin{table}[!t] +%% increase table row spacing, adjust to taste +%\renewcommand{\arraystretch}{1.3} +% if using array.sty, it might be a good idea to tweak the value of +% \extrarowheight as needed to properly center the text within the cells +%\caption{An Example of a Table} +%\label{table_example} +%\centering +%% Some packages, such as MDW tools, offer better commands for making tables +%% than the plain LaTeX2e tabular which is used here. +%\begin{tabular}{|c||c|} +%\hline +%One & Two\\ +%\hline +%Three & Four\\ +%\hline +%\end{tabular} +%\end{table} + + +% Note that IEEE does not put floats in the very first column - or typically +% anywhere on the first page for that matter. Also, in-text middle ("here") +% positioning is not used. Most IEEE journals/conferences use top floats +% exclusively. Note that, LaTeX2e, unlike IEEE journals/conferences, places +% footnotes above bottom floats. This can be corrected via the \fnbelowfloat +% command of the stfloats package. + + + +\section{Conclusion} +The conclusion goes here. + + + + +% conference papers do not normally have an appendix + + +% use section* for acknowledgement +\section*{Acknowledgment} + + +The authors would like to thank... + + + + + +% trigger a \newpage just before the given reference +% number - used to balance the columns on the last page +% adjust value as needed - may need to be readjusted if +% the document is modified later +%\IEEEtriggeratref{8} +% The "triggered" command can be changed if desired: +%\IEEEtriggercmd{\enlargethispage{-5in}} + +% references section + +% can use a bibliography generated by BibTeX as a .bbl file +% BibTeX documentation can be easily obtained at: +% http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/ +% The IEEEtran BibTeX style support page is at: +% http://www.michaelshell.org/tex/ieeetran/bibtex/ +%\bibliographystyle{IEEEtran} +% argument is your BibTeX string definitions and bibliography database(s) +%\bibliography{IEEEabrv,../bib/paper} +% +% manually copy in the resultant .bbl file +% set second argument of \begin to the number of references +% (used to reserve space for the reference number labels box) +\begin{thebibliography}{1} + +\bibitem{IEEEhowto:kopka} +H.~Kopka and P.~W. Daly, \emph{A Guide to \LaTeX}, 3rd~ed.\hskip 1em plus + 0.5em minus 0.4em\relax Harlow, England: Addison-Wesley, 1999. + +\end{thebibliography} + + + + +% that's all folks +\end{document} + + diff --git a/mpi-energy2-extension/IEEEtran/bare_jrnl.tex b/mpi-energy2-extension/IEEEtran/bare_jrnl.tex new file mode 100644 index 0000000..6f9f67c --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/bare_jrnl.tex @@ -0,0 +1,745 @@ + +%% bare_jrnl.tex +%% V1.3 +%% 2007/01/11 +%% by Michael Shell +%% see http://www.michaelshell.org/ +%% for current contact information. +%% +%% This is a skeleton file demonstrating the use of IEEEtran.cls +%% (requires IEEEtran.cls version 1.7 or later) with an IEEE journal paper. +%% +%% Support sites: +%% http://www.michaelshell.org/tex/ieeetran/ +%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +%% and +%% http://www.ieee.org/ + + + +% *** Authors should verify (and, if needed, correct) their LaTeX system *** +% *** with the testflow diagnostic prior to trusting their LaTeX platform *** +% *** with production work. IEEE's font choices can trigger bugs that do *** +% *** not appear when using other class files. *** +% The testflow support page is at: +% http://www.michaelshell.org/tex/testflow/ + + +%%************************************************************************* +%% Legal Notice: +%% This code is offered as-is without any warranty either expressed or +%% implied; without even the implied warranty of MERCHANTABILITY or +%% FITNESS FOR A PARTICULAR PURPOSE! +%% User assumes all risk. +%% In no event shall IEEE or any contributor to this code be liable for +%% any damages or losses, including, but not limited to, incidental, +%% consequential, or any other damages, resulting from the use or misuse +%% of any information contained here. +%% +%% All comments are the opinions of their respective authors and are not +%% necessarily endorsed by the IEEE. +%% +%% This work is distributed under the LaTeX Project Public License (LPPL) +%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, +%% distributed and modified. A copy of the LPPL, version 1.3, is included +%% in the base LaTeX documentation of all distributions of LaTeX released +%% 2003/12/01 or later. +%% Retain all contribution notices and credits. +%% ** Modified files should be clearly indicated as such, including ** +%% ** renaming them and changing author support contact information. ** +%% +%% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex, +%% bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex +%%************************************************************************* + +% Note that the a4paper option is mainly intended so that authors in +% countries using A4 can easily print to A4 and see how their papers will +% look in print - the typesetting of the document will not typically be +% affected with changes in paper size (but the bottom and side margins will). +% Use the testflow package mentioned above to verify correct handling of +% both paper sizes by the user's LaTeX system. +% +% Also note that the "draftcls" or "draftclsnofoot", not "draft", option +% should be used if it is desired that the figures are to be displayed in +% draft mode. +% +\documentclass[journal]{IEEEtran} +% +% If IEEEtran.cls has not been installed into the LaTeX system files, +% manually specify the path to it like: +% \documentclass[journal]{../sty/IEEEtran} + + + + + +% Some very useful LaTeX packages include: +% (uncomment the ones you want to load) + + +% *** MISC UTILITY PACKAGES *** +% +%\usepackage{ifpdf} +% Heiko Oberdiek's ifpdf.sty is very useful if you need conditional +% compilation based on whether the output is pdf or dvi. +% usage: +% \ifpdf +% % pdf code +% \else +% % dvi code +% \fi +% The latest version of ifpdf.sty can be obtained from: +% http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ +% Also, note that IEEEtran.cls V1.7 and later provides a builtin +% \ifCLASSINFOpdf conditional that works the same way. +% When switching from latex to pdflatex and vice-versa, the compiler may +% have to be run twice to clear warning/error messages. + + + + + + +% *** CITATION PACKAGES *** +% +%\usepackage{cite} +% cite.sty was written by Donald Arseneau +% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package +% \cite{} output to follow that of IEEE. Loading the cite package will +% result in citation numbers being automatically sorted and properly +% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using +% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's +% \cite will automatically add leading space, if needed. Use cite.sty's +% noadjust option (cite.sty V3.8 and later) if you want to turn this off. +% cite.sty is already installed on most LaTeX systems. Be sure and use +% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does +% not currently provide for hyperlinked citations. +% The latest version can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ +% The documentation is contained in the cite.sty file itself. + + + + + + +% *** GRAPHICS RELATED PACKAGES *** +% +\ifCLASSINFOpdf + % \usepackage[pdftex]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../pdf/}{../jpeg/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} +\else + % or other class option (dvipsone, dvipdf, if not using dvips). graphicx + % will default to the driver specified in the system graphics.cfg if no + % driver is specified. + % \usepackage[dvips]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../eps/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.eps} +\fi +% graphicx was written by David Carlisle and Sebastian Rahtz. It is +% required if you want graphics, photos, etc. graphicx.sty is already +% installed on most LaTeX systems. The latest version and documentation can +% be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ +% Another good source of documentation is "Using Imported Graphics in +% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or +% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ +% +% latex, and pdflatex in dvi mode, support graphics in encapsulated +% postscript (.eps) format. pdflatex in pdf mode supports graphics +% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure +% that all non-photo figures use a vector format (.eps, .pdf, .mps) and +% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats +% which can result in "jaggedy"/blurry rendering of lines and letters as +% well as large increases in file sizes. +% +% You can find documentation about the pdfTeX application at: +% http://www.tug.org/applications/pdftex + + + + + +% *** MATH PACKAGES *** +% +%\usepackage[cmex10]{amsmath} +% A popular package from the American Mathematical Society that provides +% many useful and powerful commands for dealing with mathematics. If using +% it, be sure to load this package with the cmex10 option to ensure that +% only type 1 fonts will utilized at all point sizes. Without this option, +% it is possible that some math symbols, particularly those within +% footnotes, will be rendered in bitmap form which will result in a +% document that can not be IEEE Xplore compliant! +% +% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 +% thus preventing page breaks from occurring within multiline equations. Use: +%\interdisplaylinepenalty=2500 +% after loading amsmath to restore such page breaks as IEEEtran.cls normally +% does. amsmath.sty is already installed on most LaTeX systems. The latest +% version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ + + + + + +% *** SPECIALIZED LIST PACKAGES *** +% +%\usepackage{algorithmic} +% algorithmic.sty was written by Peter Williams and Rogerio Brito. +% This package provides an algorithmic environment fo describing algorithms. +% You can use the algorithmic environment in-text or within a figure +% environment to provide for a floating algorithm. Do NOT use the algorithm +% floating environment provided by algorithm.sty (by the same authors) or +% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated +% algorithm float types and packages that provide these will not provide +% correct IEEE style captions. The latest version and documentation of +% algorithmic.sty can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ +% There is also a support site at: +% http://algorithms.berlios.de/index.html +% Also of interest may be the (relatively newer and more customizable) +% algorithmicx.sty package by Szasz Janos: +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ + + + + +% *** ALIGNMENT PACKAGES *** +% +%\usepackage{array} +% Frank Mittelbach's and David Carlisle's array.sty patches and improves +% the standard LaTeX2e array and tabular environments to provide better +% appearance and additional user controls. As the default LaTeX2e table +% generation code is lacking to the point of almost being broken with +% respect to the quality of the end results, all users are strongly +% advised to use an enhanced (at the very least that provided by array.sty) +% set of table tools. array.sty is already installed on most systems. The +% latest version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/tools/ + + +%\usepackage{mdwmath} +%\usepackage{mdwtab} +% Also highly recommended is Mark Wooding's extremely powerful MDW tools, +% especially mdwmath.sty and mdwtab.sty which are used to format equations +% and tables, respectively. The MDWtools set is already installed on most +% LaTeX systems. The lastest version and documentation is available at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ + + +% IEEEtran contains the IEEEeqnarray family of commands that can be used to +% generate multiline equations as well as matrices, tables, etc., of high +% quality. + + +%\usepackage{eqparbox} +% Also of notable interest is Scott Pakin's eqparbox package for creating +% (automatically sized) equal width boxes - aka "natural width parboxes". +% Available at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ + + + + + +% *** SUBFIGURE PACKAGES *** +%\usepackage[tight,footnotesize]{subfigure} +% subfigure.sty was written by Steven Douglas Cochran. This package makes it +% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE +% work, it is a good idea to load it with the tight package option to reduce +% the amount of white space around the subfigures. subfigure.sty is already +% installed on most LaTeX systems. The latest version and documentation can +% be obtained at: +% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ +% subfigure.sty has been superceeded by subfig.sty. + + + +%\usepackage[caption=false]{caption} +%\usepackage[font=footnotesize]{subfig} +% subfig.sty, also written by Steven Douglas Cochran, is the modern +% replacement for subfigure.sty. However, subfig.sty requires and +% automatically loads Axel Sommerfeldt's caption.sty which will override +% IEEEtran.cls handling of captions and this will result in nonIEEE style +% figure/table captions. To prevent this problem, be sure and preload +% caption.sty with its "caption=false" package option. This is will preserve +% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later +% (recommended due to many improvements over 1.2) of subfig.sty supports +% the caption=false option directly: +%\usepackage[caption=false,font=footnotesize]{subfig} +% +% The latest version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ +% The latest version and documentation of caption.sty can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ + + + + +% *** FLOAT PACKAGES *** +% +%\usepackage{fixltx2e} +% fixltx2e, the successor to the earlier fix2col.sty, was written by +% Frank Mittelbach and David Carlisle. This package corrects a few problems +% in the LaTeX2e kernel, the most notable of which is that in current +% LaTeX2e releases, the ordering of single and double column floats is not +% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a +% single column figure to be placed prior to an earlier double column +% figure. The latest version and documentation can be found at: +% http://www.ctan.org/tex-archive/macros/latex/base/ + + + +%\usepackage{stfloats} +% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e +% the ability to do double column floats at the bottom of the page as well +% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in +% LaTeX2e). It also provides a command: +%\fnbelowfloat +% to enable the placement of footnotes below bottom floats (the standard +% LaTeX2e kernel puts them above bottom floats). This is an invasive package +% which rewrites many portions of the LaTeX2e float routines. It may not work +% with other packages that modify the LaTeX2e float routines. The latest +% version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ +% Documentation is contained in the stfloats.sty comments as well as in the +% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE +% does not allow \baselineskip to stretch. Authors submitting work to the +% IEEE should note that IEEE rarely uses double column equations and +% that authors should try to avoid such use. Do not be tempted to use the +% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does +% not format its papers in such ways. + + +%\ifCLASSOPTIONcaptionsoff +% \usepackage[nomarkers]{endfloat} +% \let\MYoriglatexcaption\caption +% \renewcommand{\caption}[2][\relax]{\MYoriglatexcaption[#2]{#2}} +%\fi +% endfloat.sty was written by James Darrell McCauley and Jeff Goldberg. +% This package may be useful when used in conjunction with IEEEtran.cls' +% captionsoff option. Some IEEE journals/societies require that submissions +% have lists of figures/tables at the end of the paper and that +% figures/tables without any captions are placed on a page by themselves at +% the end of the document. If needed, the draftcls IEEEtran class option or +% \CLASSINPUTbaselinestretch interface can be used to increase the line +% spacing as well. Be sure and use the nomarkers option of endfloat to +% prevent endfloat from "marking" where the figures would have been placed +% in the text. The two hack lines of code above are a slight modification of +% that suggested by in the endfloat docs (section 8.3.1) to ensure that +% the full captions always appear in the list of figures/tables - even if +% the user used the short optional argument of \caption[]{}. +% IEEE papers do not typically make use of \caption[]'s optional argument, +% so this should not be an issue. A similar trick can be used to disable +% captions of packages such as subfig.sty that lack options to turn off +% the subcaptions: +% For subfig.sty: +% \let\MYorigsubfloat\subfloat +% \renewcommand{\subfloat}[2][\relax]{\MYorigsubfloat[]{#2}} +% For subfigure.sty: +% \let\MYorigsubfigure\subfigure +% \renewcommand{\subfigure}[2][\relax]{\MYorigsubfigure[]{#2}} +% However, the above trick will not work if both optional arguments of +% the \subfloat/subfig command are used. Furthermore, there needs to be a +% description of each subfigure *somewhere* and endfloat does not add +% subfigure captions to its list of figures. Thus, the best approach is to +% avoid the use of subfigure captions (many IEEE journals avoid them anyway) +% and instead reference/explain all the subfigures within the main caption. +% The latest version of endfloat.sty and its documentation can obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/endfloat/ +% +% The IEEEtran \ifCLASSOPTIONcaptionsoff conditional can also be used +% later in the document, say, to conditionally put the References on a +% page by themselves. + + + + + +% *** PDF, URL AND HYPERLINK PACKAGES *** +% +%\usepackage{url} +% url.sty was written by Donald Arseneau. It provides better support for +% handling and breaking URLs. url.sty is already installed on most LaTeX +% systems. The latest version can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ +% Read the url.sty source comments for usage information. Basically, +% \url{my_url_here}. + + + + + +% *** Do not adjust lengths that control margins, column widths, etc. *** +% *** Do not use packages that alter fonts (such as pslatex). *** +% There should be no need to do such things with IEEEtran.cls V1.6 and later. +% (Unless specifically asked to do so by the journal or conference you plan +% to submit to, of course. ) + + +% correct bad hyphenation here +\hyphenation{op-tical net-works semi-conduc-tor} + + +\begin{document} +% +% paper title +% can use linebreaks \\ within to get better formatting as desired +\title{Bare Demo of IEEEtran.cls for Journals} +% +% +% author names and IEEE memberships +% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break +% a structure at a ~ so this keeps an author's name from being broken across +% two lines. +% use \thanks{} to gain access to the first footnote area +% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks +% was not built to handle multiple paragraphs +% + +\author{Michael~Shell,~\IEEEmembership{Member,~IEEE,} + John~Doe,~\IEEEmembership{Fellow,~OSA,} + and~Jane~Doe,~\IEEEmembership{Life~Fellow,~IEEE}% <-this % stops a space +\thanks{M. Shell is with the Department +of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, +GA, 30332 USA e-mail: (see http://www.michaelshell.org/contact.html).}% <-this % stops a space +\thanks{J. Doe and J. Doe are with Anonymous University.}% <-this % stops a space +\thanks{Manuscript received April 19, 2005; revised January 11, 2007.}} + +% note the % following the last \IEEEmembership and also \thanks - +% these prevent an unwanted space from occurring between the last author name +% and the end of the author line. i.e., if you had this: +% +% \author{....lastname \thanks{...} \thanks{...} } +% ^------------^------------^----Do not want these spaces! +% +% a space would be appended to the last name and could cause every name on that +% line to be shifted left slightly. This is one of those "LaTeX things". For +% instance, "\textbf{A} \textbf{B}" will typeset as "A B" not "AB". To get +% "AB" then you have to do: "\textbf{A}\textbf{B}" +% \thanks is no different in this regard, so shield the last } of each \thanks +% that ends a line with a % and do not let a space in before the next \thanks. +% Spaces after \IEEEmembership other than the last one are OK (and needed) as +% you are supposed to have spaces between the names. For what it is worth, +% this is a minor point as most people would not even notice if the said evil +% space somehow managed to creep in. + + + +% The paper headers +\markboth{Journal of \LaTeX\ Class Files,~Vol.~6, No.~1, January~2007}% +{Shell \MakeLowercase{\textit{et al.}}: Bare Demo of IEEEtran.cls for Journals} +% The only time the second header will appear is for the odd numbered pages +% after the title page when using the twoside option. +% +% *** Note that you probably will NOT want to include the author's *** +% *** name in the headers of peer review papers. *** +% You can use \ifCLASSOPTIONpeerreview for conditional compilation here if +% you desire. + + + + +% If you want to put a publisher's ID mark on the page you can do it like +% this: +%\IEEEpubid{0000--0000/00\$00.00~\copyright~2007 IEEE} +% Remember, if you use this you must call \IEEEpubidadjcol in the second +% column for its text to clear the IEEEpubid mark. + + + +% use for special paper notices +%\IEEEspecialpapernotice{(Invited Paper)} + + + + +% make the title area +\maketitle + + +\begin{abstract} +%\boldmath +The abstract goes here. +\end{abstract} +% IEEEtran.cls defaults to using nonbold math in the Abstract. +% This preserves the distinction between vectors and scalars. However, +% if the journal you are submitting to favors bold math in the abstract, +% then you can use LaTeX's standard command \boldmath at the very start +% of the abstract to achieve this. Many IEEE journals frown on math +% in the abstract anyway. + +% Note that keywords are not normally used for peerreview papers. +\begin{IEEEkeywords} +IEEEtran, journal, \LaTeX, paper, template. +\end{IEEEkeywords} + + + + + + +% For peer review papers, you can put extra information on the cover +% page as needed: +% \ifCLASSOPTIONpeerreview +% \begin{center} \bfseries EDICS Category: 3-BBND \end{center} +% \fi +% +% For peerreview papers, this IEEEtran command inserts a page break and +% creates the second title. It will be ignored for other modes. +\IEEEpeerreviewmaketitle + + + +\section{Introduction} +% The very first letter is a 2 line initial drop letter followed +% by the rest of the first word in caps. +% +% form to use if the first word consists of a single letter: +% \IEEEPARstart{A}{demo} file is .... +% +% form to use if you need the single drop letter followed by +% normal text (unknown if ever used by IEEE): +% \IEEEPARstart{A}{}demo file is .... +% +% Some journals put the first two words in caps: +% \IEEEPARstart{T}{his demo} file is .... +% +% Here we have the typical use of a "T" for an initial drop letter +% and "HIS" in caps to complete the first word. +\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file'' +for IEEE journal papers produced under \LaTeX\ using +IEEEtran.cls version 1.7 and later. +% You must have at least 2 lines in the paragraph with the drop letter +% (should never be an issue) +I wish you the best of success. + +\hfill mds + +\hfill January 11, 2007 + +\subsection{Subsection Heading Here} +Subsection text here. + +% needed in second column of first page if using \IEEEpubid +%\IEEEpubidadjcol + +\subsubsection{Subsubsection Heading Here} +Subsubsection text here. + + +% An example of a floating figure using the graphicx package. +% Note that \label must occur AFTER (or within) \caption. +% For figures, \caption should occur after the \includegraphics. +% Note that IEEEtran v1.7 and later has special internal code that +% is designed to preserve the operation of \label within \caption +% even when the captionsoff option is in effect. However, because +% of issues like this, it may be the safest practice to put all your +% \label just after \caption rather than within \caption{}. +% +% Reminder: the "draftcls" or "draftclsnofoot", not "draft", class +% option should be used if it is desired that the figures are to be +% displayed while in draft mode. +% +%\begin{figure}[!t] +%\centering +%\includegraphics[width=2.5in]{myfigure} +% where an .eps filename suffix will be assumed under latex, +% and a .pdf suffix will be assumed for pdflatex; or what has been declared +% via \DeclareGraphicsExtensions. +%\caption{Simulation Results} +%\label{fig_sim} +%\end{figure} + +% Note that IEEE typically puts floats only at the top, even when this +% results in a large percentage of a column being occupied by floats. + + +% An example of a double column floating figure using two subfigures. +% (The subfig.sty package must be loaded for this to work.) +% The subfigure \label commands are set within each subfloat command, the +% \label for the overall figure must come after \caption. +% \hfil must be used as a separator to get equal spacing. +% The subfigure.sty package works much the same way, except \subfigure is +% used instead of \subfloat. +% +%\begin{figure*}[!t] +%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% +%\label{fig_first_case}} +%\hfil +%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% +%\label{fig_second_case}}} +%\caption{Simulation results} +%\label{fig_sim} +%\end{figure*} +% +% Note that often IEEE papers with subfigures do not employ subfigure +% captions (using the optional argument to \subfloat), but instead will +% reference/describe all of them (a), (b), etc., within the main caption. + + +% An example of a floating table. Note that, for IEEE style tables, the +% \caption command should come BEFORE the table. Table text will default to +% \footnotesize as IEEE normally uses this smaller font for tables. +% The \label must come after \caption as always. +% +%\begin{table}[!t] +%% increase table row spacing, adjust to taste +%\renewcommand{\arraystretch}{1.3} +% if using array.sty, it might be a good idea to tweak the value of +% \extrarowheight as needed to properly center the text within the cells +%\caption{An Example of a Table} +%\label{table_example} +%\centering +%% Some packages, such as MDW tools, offer better commands for making tables +%% than the plain LaTeX2e tabular which is used here. +%\begin{tabular}{|c||c|} +%\hline +%One & Two\\ +%\hline +%Three & Four\\ +%\hline +%\end{tabular} +%\end{table} + + +% Note that IEEE does not put floats in the very first column - or typically +% anywhere on the first page for that matter. Also, in-text middle ("here") +% positioning is not used. Most IEEE journals use top floats exclusively. +% Note that, LaTeX2e, unlike IEEE journals, places footnotes above bottom +% floats. This can be corrected via the \fnbelowfloat command of the +% stfloats package. + + + +\section{Conclusion} +The conclusion goes here. + + + + + +% if have a single appendix: +%\appendix[Proof of the Zonklar Equations] +% or +%\appendix % for no appendix heading +% do not use \section anymore after \appendix, only \section* +% is possibly needed + +% use appendices with more than one appendix +% then use \section to start each appendix +% you must declare a \section before using any +% \subsection or using \label (\appendices by itself +% starts a section numbered zero.) +% + + +\appendices +\section{Proof of the First Zonklar Equation} +Appendix one text goes here. + +% you can choose not to have a title for an appendix +% if you want by leaving the argument blank +\section{} +Appendix two text goes here. + + +% use section* for acknowledgement +\section*{Acknowledgment} + + +The authors would like to thank... + + +% Can use something like this to put references on a page +% by themselves when using endfloat and the captionsoff option. +\ifCLASSOPTIONcaptionsoff + \newpage +\fi + + + +% trigger a \newpage just before the given reference +% number - used to balance the columns on the last page +% adjust value as needed - may need to be readjusted if +% the document is modified later +%\IEEEtriggeratref{8} +% The "triggered" command can be changed if desired: +%\IEEEtriggercmd{\enlargethispage{-5in}} + +% references section + +% can use a bibliography generated by BibTeX as a .bbl file +% BibTeX documentation can be easily obtained at: +% http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/ +% The IEEEtran BibTeX style support page is at: +% http://www.michaelshell.org/tex/ieeetran/bibtex/ +%\bibliographystyle{IEEEtran} +% argument is your BibTeX string definitions and bibliography database(s) +%\bibliography{IEEEabrv,../bib/paper} +% +% manually copy in the resultant .bbl file +% set second argument of \begin to the number of references +% (used to reserve space for the reference number labels box) +\begin{thebibliography}{1} + +\bibitem{IEEEhowto:kopka} +H.~Kopka and P.~W. Daly, \emph{A Guide to \LaTeX}, 3rd~ed.\hskip 1em plus + 0.5em minus 0.4em\relax Harlow, England: Addison-Wesley, 1999. + +\end{thebibliography} + +% biography section +% +% If you have an EPS/PDF photo (graphicx package needed) extra braces are +% needed around the contents of the optional argument to biography to prevent +% the LaTeX parser from getting confused when it sees the complicated +% \includegraphics command within an optional argument. (You could create +% your own custom macro containing the \includegraphics command to make things +% simpler here.) +%\begin{biography}[{\includegraphics[width=1in,height=1.25in,clip,keepaspectratio]{mshell}}]{Michael Shell} +% or if you just want to reserve a space for a photo: + +\begin{IEEEbiography}{Michael Shell} +Biography text here. +\end{IEEEbiography} + +% if you will not have a photo at all: +\begin{IEEEbiographynophoto}{John Doe} +Biography text here. +\end{IEEEbiographynophoto} + +% insert where needed to balance the two columns on the last page with +% biographies +%\newpage + +\begin{IEEEbiographynophoto}{Jane Doe} +Biography text here. +\end{IEEEbiographynophoto} + +% You can push biographies down or up by placing +% a \vfill before or after them. The appropriate +% use of \vfill depends on what kind of text is +% on the last page and whether or not the columns +% are being equalized. + +%\vfill + +% Can be used to pull up biographies so that the bottom of the last one +% is flush with the other column. +%\enlargethispage{-5in} + + + +% that's all folks +\end{document} + + diff --git a/mpi-energy2-extension/IEEEtran/bare_jrnl_compsoc.tex b/mpi-energy2-extension/IEEEtran/bare_jrnl_compsoc.tex new file mode 100644 index 0000000..c733757 --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/bare_jrnl_compsoc.tex @@ -0,0 +1,844 @@ + +%% bare_jrnl_compsoc.tex +%% V1.3 +%% 2007/01/11 +%% by Michael Shell +%% See: +%% http://www.michaelshell.org/ +%% for current contact information. +%% +%% This is a skeleton file demonstrating the use of IEEEtran.cls +%% (requires IEEEtran.cls version 1.7 or later) with an IEEE Computer +%% Society journal paper. +%% +%% Support sites: +%% http://www.michaelshell.org/tex/ieeetran/ +%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +%% and +%% http://www.ieee.org/ + +%%************************************************************************* +%% Legal Notice: +%% This code is offered as-is without any warranty either expressed or +%% implied; without even the implied warranty of MERCHANTABILITY or +%% FITNESS FOR A PARTICULAR PURPOSE! +%% User assumes all risk. +%% In no event shall IEEE or any contributor to this code be liable for +%% any damages or losses, including, but not limited to, incidental, +%% consequential, or any other damages, resulting from the use or misuse +%% of any information contained here. +%% +%% All comments are the opinions of their respective authors and are not +%% necessarily endorsed by the IEEE. +%% +%% This work is distributed under the LaTeX Project Public License (LPPL) +%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, +%% distributed and modified. A copy of the LPPL, version 1.3, is included +%% in the base LaTeX documentation of all distributions of LaTeX released +%% 2003/12/01 or later. +%% Retain all contribution notices and credits. +%% ** Modified files should be clearly indicated as such, including ** +%% ** renaming them and changing author support contact information. ** +%% +%% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex, +%% bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex +%%************************************************************************* + +% *** Authors should verify (and, if needed, correct) their LaTeX system *** +% *** with the testflow diagnostic prior to trusting their LaTeX platform *** +% *** with production work. IEEE's font choices can trigger bugs that do *** +% *** not appear when using other class files. *** +% The testflow support page is at: +% http://www.michaelshell.org/tex/testflow/ + + + + +% Note that the a4paper option is mainly intended so that authors in +% countries using A4 can easily print to A4 and see how their papers will +% look in print - the typesetting of the document will not typically be +% affected with changes in paper size (but the bottom and side margins will). +% Use the testflow package mentioned above to verify correct handling of +% both paper sizes by the user's LaTeX system. +% +% Also note that the "draftcls" or "draftclsnofoot", not "draft", option +% should be used if it is desired that the figures are to be displayed in +% draft mode. +% +% The Computer Society usually requires 12pt for submissions. +% +\documentclass[12pt,journal,compsoc]{IEEEtran} +% +% If IEEEtran.cls has not been installed into the LaTeX system files, +% manually specify the path to it like: +% \documentclass[12pt,journal,compsoc]{../sty/IEEEtran} + + + + + +% Some very useful LaTeX packages include: +% (uncomment the ones you want to load) + + +% *** MISC UTILITY PACKAGES *** +% +%\usepackage{ifpdf} +% Heiko Oberdiek's ifpdf.sty is very useful if you need conditional +% compilation based on whether the output is pdf or dvi. +% usage: +% \ifpdf +% % pdf code +% \else +% % dvi code +% \fi +% The latest version of ifpdf.sty can be obtained from: +% http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ +% Also, note that IEEEtran.cls V1.7 and later provides a builtin +% \ifCLASSINFOpdf conditional that works the same way. +% When switching from latex to pdflatex and vice-versa, the compiler may +% have to be run twice to clear warning/error messages. + + + + + + +% *** CITATION PACKAGES *** +% +\ifCLASSOPTIONcompsoc + % IEEE Computer Society needs nocompress option + % requires cite.sty v4.0 or later (November 2003) + % \usepackage[nocompress]{cite} +\else + % normal IEEE + % \usepackage{cite} +\fi +% cite.sty was written by Donald Arseneau +% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package +% \cite{} output to follow that of IEEE. Loading the cite package will +% result in citation numbers being automatically sorted and properly +% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using +% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's +% \cite will automatically add leading space, if needed. Use cite.sty's +% noadjust option (cite.sty V3.8 and later) if you want to turn this off. +% cite.sty is already installed on most LaTeX systems. Be sure and use +% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does +% not currently provide for hyperlinked citations. +% The latest version can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ +% The documentation is contained in the cite.sty file itself. +% +% Note that some packages require special options to format as the Computer +% Society requires. In particular, Computer Society papers do not use +% compressed citation ranges as is done in typical IEEE papers +% (e.g., [1]-[4]). Instead, they list every citation separately in order +% (e.g., [1], [2], [3], [4]). To get the latter we need to load the cite +% package with the nocompress option which is supported by cite.sty v4.0 +% and later. Note also the use of a CLASSOPTION conditional provided by +% IEEEtran.cls V1.7 and later. + + + + + +% *** GRAPHICS RELATED PACKAGES *** +% +\ifCLASSINFOpdf + % \usepackage[pdftex]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../pdf/}{../jpeg/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} +\else + % or other class option (dvipsone, dvipdf, if not using dvips). graphicx + % will default to the driver specified in the system graphics.cfg if no + % driver is specified. + % \usepackage[dvips]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../eps/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.eps} +\fi +% graphicx was written by David Carlisle and Sebastian Rahtz. It is +% required if you want graphics, photos, etc. graphicx.sty is already +% installed on most LaTeX systems. The latest version and documentation can +% be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ +% Another good source of documentation is "Using Imported Graphics in +% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or +% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ +% +% latex, and pdflatex in dvi mode, support graphics in encapsulated +% postscript (.eps) format. pdflatex in pdf mode supports graphics +% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure +% that all non-photo figures use a vector format (.eps, .pdf, .mps) and +% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats +% which can result in "jaggedy"/blurry rendering of lines and letters as +% well as large increases in file sizes. +% +% You can find documentation about the pdfTeX application at: +% http://www.tug.org/applications/pdftex + + + + + +% *** MATH PACKAGES *** +% +%\usepackage[cmex10]{amsmath} +% A popular package from the American Mathematical Society that provides +% many useful and powerful commands for dealing with mathematics. If using +% it, be sure to load this package with the cmex10 option to ensure that +% only type 1 fonts will utilized at all point sizes. Without this option, +% it is possible that some math symbols, particularly those within +% footnotes, will be rendered in bitmap form which will result in a +% document that can not be IEEE Xplore compliant! +% +% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 +% thus preventing page breaks from occurring within multiline equations. Use: +%\interdisplaylinepenalty=2500 +% after loading amsmath to restore such page breaks as IEEEtran.cls normally +% does. amsmath.sty is already installed on most LaTeX systems. The latest +% version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ + + + + + +% *** SPECIALIZED LIST PACKAGES *** +% +%\usepackage{algorithmic} +% algorithmic.sty was written by Peter Williams and Rogerio Brito. +% This package provides an algorithmic environment fo describing algorithms. +% You can use the algorithmic environment in-text or within a figure +% environment to provide for a floating algorithm. Do NOT use the algorithm +% floating environment provided by algorithm.sty (by the same authors) or +% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated +% algorithm float types and packages that provide these will not provide +% correct IEEE style captions. The latest version and documentation of +% algorithmic.sty can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ +% There is also a support site at: +% http://algorithms.berlios.de/index.html +% Also of interest may be the (relatively newer and more customizable) +% algorithmicx.sty package by Szasz Janos: +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ + + + + +% *** ALIGNMENT PACKAGES *** +% +%\usepackage{array} +% Frank Mittelbach's and David Carlisle's array.sty patches and improves +% the standard LaTeX2e array and tabular environments to provide better +% appearance and additional user controls. As the default LaTeX2e table +% generation code is lacking to the point of almost being broken with +% respect to the quality of the end results, all users are strongly +% advised to use an enhanced (at the very least that provided by array.sty) +% set of table tools. array.sty is already installed on most systems. The +% latest version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/tools/ + + +%\usepackage{mdwmath} +%\usepackage{mdwtab} +% Also highly recommended is Mark Wooding's extremely powerful MDW tools, +% especially mdwmath.sty and mdwtab.sty which are used to format equations +% and tables, respectively. The MDWtools set is already installed on most +% LaTeX systems. The lastest version and documentation is available at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ + + +% IEEEtran contains the IEEEeqnarray family of commands that can be used to +% generate multiline equations as well as matrices, tables, etc., of high +% quality. + + +%\usepackage{eqparbox} +% Also of notable interest is Scott Pakin's eqparbox package for creating +% (automatically sized) equal width boxes - aka "natural width parboxes". +% Available at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ + + + + + +% *** SUBFIGURE PACKAGES *** +%\ifCLASSOPTIONcompsoc +%\usepackage[tight,normalsize,sf,SF]{subfigure} +%\else +%\usepackage[tight,footnotesize]{subfigure} +%\fi +% subfigure.sty was written by Steven Douglas Cochran. This package makes it +% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE +% work, it is a good idea to load it with the tight package option to reduce +% the amount of white space around the subfigures. Computer Society papers +% use a larger font and \sffamily font for their captions, hence the +% additional options needed under compsoc mode. subfigure.sty is already +% installed on most LaTeX systems. The latest version and documentation can +% be obtained at: +% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ +% subfigure.sty has been superceeded by subfig.sty. + + +%\ifCLASSOPTIONcompsoc +% \usepackage[caption=false]{caption} +% \usepackage[font=normalsize,labelfont=sf,textfont=sf]{subfig} +%\else +% \usepackage[caption=false]{caption} +% \usepackage[font=footnotesize]{subfig} +%\fi +% subfig.sty, also written by Steven Douglas Cochran, is the modern +% replacement for subfigure.sty. However, subfig.sty requires and +% automatically loads Axel Sommerfeldt's caption.sty which will override +% IEEEtran.cls handling of captions and this will result in nonIEEE style +% figure/table captions. To prevent this problem, be sure and preload +% caption.sty with its "caption=false" package option. This is will preserve +% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later +% (recommended due to many improvements over 1.2) of subfig.sty supports +% the caption=false option directly: +%\ifCLASSOPTIONcompsoc +% \usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig} +%\else +% \usepackage[caption=false,font=footnotesize]{subfig} +%\fi +% +% The latest version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ +% The latest version and documentation of caption.sty can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ + + + + +% *** FLOAT PACKAGES *** +% +%\usepackage{fixltx2e} +% fixltx2e, the successor to the earlier fix2col.sty, was written by +% Frank Mittelbach and David Carlisle. This package corrects a few problems +% in the LaTeX2e kernel, the most notable of which is that in current +% LaTeX2e releases, the ordering of single and double column floats is not +% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a +% single column figure to be placed prior to an earlier double column +% figure. The latest version and documentation can be found at: +% http://www.ctan.org/tex-archive/macros/latex/base/ + + + +%\usepackage{stfloats} +% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e +% the ability to do double column floats at the bottom of the page as well +% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in +% LaTeX2e). It also provides a command: +%\fnbelowfloat +% to enable the placement of footnotes below bottom floats (the standard +% LaTeX2e kernel puts them above bottom floats). This is an invasive package +% which rewrites many portions of the LaTeX2e float routines. It may not work +% with other packages that modify the LaTeX2e float routines. The latest +% version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ +% Documentation is contained in the stfloats.sty comments as well as in the +% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE +% does not allow \baselineskip to stretch. Authors submitting work to the +% IEEE should note that IEEE rarely uses double column equations and +% that authors should try to avoid such use. Do not be tempted to use the +% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does +% not format its papers in such ways. + + + + +%\ifCLASSOPTIONcaptionsoff +% \usepackage[nomarkers]{endfloat} +% \let\MYoriglatexcaption\caption +% \renewcommand{\caption}[2][\relax]{\MYoriglatexcaption[#2]{#2}} +%\fi +% endfloat.sty was written by James Darrell McCauley and Jeff Goldberg. +% This package may be useful when used in conjunction with IEEEtran.cls' +% captionsoff option. Some IEEE journals/societies require that submissions +% have lists of figures/tables at the end of the paper and that +% figures/tables without any captions are placed on a page by themselves at +% the end of the document. If needed, the draftcls IEEEtran class option or +% \CLASSINPUTbaselinestretch interface can be used to increase the line +% spacing as well. Be sure and use the nomarkers option of endfloat to +% prevent endfloat from "marking" where the figures would have been placed +% in the text. The two hack lines of code above are a slight modification of +% that suggested by in the endfloat docs (section 8.3.1) to ensure that +% the full captions always appear in the list of figures/tables - even if +% the user used the short optional argument of \caption[]{}. +% IEEE papers do not typically make use of \caption[]'s optional argument, +% so this should not be an issue. A similar trick can be used to disable +% captions of packages such as subfig.sty that lack options to turn off +% the subcaptions: +% For subfig.sty: +% \let\MYorigsubfloat\subfloat +% \renewcommand{\subfloat}[2][\relax]{\MYorigsubfloat[]{#2}} +% For subfigure.sty: +% \let\MYorigsubfigure\subfigure +% \renewcommand{\subfigure}[2][\relax]{\MYorigsubfigure[]{#2}} +% However, the above trick will not work if both optional arguments of +% the \subfloat/subfig command are used. Furthermore, there needs to be a +% description of each subfigure *somewhere* and endfloat does not add +% subfigure captions to its list of figures. Thus, the best approach is to +% avoid the use of subfigure captions (many IEEE journals avoid them anyway) +% and instead reference/explain all the subfigures within the main caption. +% The latest version of endfloat.sty and its documentation can obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/endfloat/ +% +% The IEEEtran \ifCLASSOPTIONcaptionsoff conditional can also be used +% later in the document, say, to conditionally put the References on a +% page by themselves. + + + + +% *** PDF, URL AND HYPERLINK PACKAGES *** +% +%\usepackage{url} +% url.sty was written by Donald Arseneau. It provides better support for +% handling and breaking URLs. url.sty is already installed on most LaTeX +% systems. The latest version can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ +% Read the url.sty source comments for usage information. Basically, +% \url{my_url_here}. + + + + + +% *** Do not adjust lengths that control margins, column widths, etc. *** +% *** Do not use packages that alter fonts (such as pslatex). *** +% There should be no need to do such things with IEEEtran.cls V1.6 and later. +% (Unless specifically asked to do so by the journal or conference you plan +% to submit to, of course. ) + + +% correct bad hyphenation here +\hyphenation{op-tical net-works semi-conduc-tor} + + +\begin{document} +% +% paper title +% can use linebreaks \\ within to get better formatting as desired +\title{Bare Demo of IEEEtran.cls\\ for Computer Society Journals} +% +% +% author names and IEEE memberships +% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break +% a structure at a ~ so this keeps an author's name from being broken across +% two lines. +% use \thanks{} to gain access to the first footnote area +% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks +% was not built to handle multiple paragraphs +% +% +%\IEEEcompsocitemizethanks is a special \thanks that produces the bulleted +% lists the Computer Society journals use for "first footnote" author +% affiliations. Use \IEEEcompsocthanksitem which works much like \item +% for each affiliation group. When not in compsoc mode, +% \IEEEcompsocitemizethanks becomes like \thanks and +% \IEEEcompsocthanksitem becomes a line break with idention. This +% facilitates dual compilation, although admittedly the differences in the +% desired content of \author between the different types of papers makes a +% one-size-fits-all approach a daunting prospect. For instance, compsoc +% journal papers have the author affiliations above the "Manuscript +% received ..." text while in non-compsoc journals this is reversed. Sigh. + +\author{Michael~Shell,~\IEEEmembership{Member,~IEEE,} + John~Doe,~\IEEEmembership{Fellow,~OSA,} + and~Jane~Doe,~\IEEEmembership{Life~Fellow,~IEEE}% <-this % stops a space +\IEEEcompsocitemizethanks{\IEEEcompsocthanksitem M. Shell is with the Department +of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, +GA, 30332.\protect\\ +% note need leading \protect in front of \\ to get a newline within \thanks as +% \\ is fragile and will error, could use \hfil\break instead. +E-mail: see http://www.michaelshell.org/contact.html +\IEEEcompsocthanksitem J. Doe and J. Doe are with Anonymous University.}% <-this % stops a space +\thanks{Manuscript received April 19, 2005; revised January 11, 2007.}} + +% note the % following the last \IEEEmembership and also \thanks - +% these prevent an unwanted space from occurring between the last author name +% and the end of the author line. i.e., if you had this: +% +% \author{....lastname \thanks{...} \thanks{...} } +% ^------------^------------^----Do not want these spaces! +% +% a space would be appended to the last name and could cause every name on that +% line to be shifted left slightly. This is one of those "LaTeX things". For +% instance, "\textbf{A} \textbf{B}" will typeset as "A B" not "AB". To get +% "AB" then you have to do: "\textbf{A}\textbf{B}" +% \thanks is no different in this regard, so shield the last } of each \thanks +% that ends a line with a % and do not let a space in before the next \thanks. +% Spaces after \IEEEmembership other than the last one are OK (and needed) as +% you are supposed to have spaces between the names. For what it is worth, +% this is a minor point as most people would not even notice if the said evil +% space somehow managed to creep in. + + + +% The paper headers +\markboth{Journal of \LaTeX\ Class Files,~Vol.~6, No.~1, January~2007}% +{Shell \MakeLowercase{\textit{et al.}}: Bare Demo of IEEEtran.cls for Computer Society Journals} +% The only time the second header will appear is for the odd numbered pages +% after the title page when using the twoside option. +% +% *** Note that you probably will NOT want to include the author's *** +% *** name in the headers of peer review papers. *** +% You can use \ifCLASSOPTIONpeerreview for conditional compilation here if +% you desire. + + + +% The publisher's ID mark at the bottom of the page is less important with +% Computer Society journal papers as those publications place the marks +% outside of the main text columns and, therefore, unlike regular IEEE +% journals, the available text space is not reduced by their presence. +% If you want to put a publisher's ID mark on the page you can do it like +% this: +%\IEEEpubid{0000--0000/00\$00.00~\copyright~2007 IEEE} +% or like this to get the Computer Society new two part style. +%\IEEEpubid{\makebox[\columnwidth]{\hfill 0000--0000/00/\$00.00~\copyright~2007 IEEE}% +%\hspace{\columnsep}\makebox[\columnwidth]{Published by the IEEE Computer Society\hfill}} +% Remember, if you use this you must call \IEEEpubidadjcol in the second +% column for its text to clear the IEEEpubid mark (Computer Society jorunal +% papers don't need this extra clearance.) + + + +% use for special paper notices +%\IEEEspecialpapernotice{(Invited Paper)} + + + +% for Computer Society papers, we must declare the abstract and index terms +% PRIOR to the title within the \IEEEcompsoctitleabstractindextext IEEEtran +% command as these need to go into the title area created by \maketitle. +\IEEEcompsoctitleabstractindextext{% +\begin{abstract} +%\boldmath +The abstract goes here. +\end{abstract} +% IEEEtran.cls defaults to using nonbold math in the Abstract. +% This preserves the distinction between vectors and scalars. However, +% if the journal you are submitting to favors bold math in the abstract, +% then you can use LaTeX's standard command \boldmath at the very start +% of the abstract to achieve this. Many IEEE journals frown on math +% in the abstract anyway. In particular, the Computer Society does +% not want either math or citations to appear in the abstract. + +% Note that keywords are not normally used for peerreview papers. +\begin{IEEEkeywords} +Computer Society, IEEEtran, journal, \LaTeX, paper, template. +\end{IEEEkeywords}} + + +% make the title area +\maketitle + + +% To allow for easy dual compilation without having to reenter the +% abstract/keywords data, the \IEEEcompsoctitleabstractindextext text will +% not be used in maketitle, but will appear (i.e., to be "transported") +% here as \IEEEdisplaynotcompsoctitleabstractindextext when compsoc mode +% is not selected if conference mode is selected - because compsoc +% conference papers position the abstract like regular (non-compsoc) +% papers do! +\IEEEdisplaynotcompsoctitleabstractindextext +% \IEEEdisplaynotcompsoctitleabstractindextext has no effect when using +% compsoc under a non-conference mode. + + +% For peer review papers, you can put extra information on the cover +% page as needed: +% \ifCLASSOPTIONpeerreview +% \begin{center} \bfseries EDICS Category: 3-BBND \end{center} +% \fi +% +% For peerreview papers, this IEEEtran command inserts a page break and +% creates the second title. It will be ignored for other modes. +\IEEEpeerreviewmaketitle + + + +\section{Introduction} +% Computer Society journal papers do something a tad strange with the very +% first section heading (almost always called "Introduction"). They place it +% ABOVE the main text! IEEEtran.cls currently does not do this for you. +% However, You can achieve this effect by making LaTeX jump through some +% hoops via something like: +% +%\ifCLASSOPTIONcompsoc +% \noindent\raisebox{2\baselineskip}[0pt][0pt]% +% {\parbox{\columnwidth}{\section{Introduction}\label{sec:introduction}% +% \global\everypar=\everypar}}% +% \vspace{-1\baselineskip}\vspace{-\parskip}\par +%\else +% \section{Introduction}\label{sec:introduction}\par +%\fi +% +% Admittedly, this is a hack and may well be fragile, but seems to do the +% trick for me. Note the need to keep any \label that may be used right +% after \section in the above as the hack puts \section within a raised box. + + + +% The very first letter is a 2 line initial drop letter followed +% by the rest of the first word in caps (small caps for compsoc). +% +% form to use if the first word consists of a single letter: +% \IEEEPARstart{A}{demo} file is .... +% +% form to use if you need the single drop letter followed by +% normal text (unknown if ever used by IEEE): +% \IEEEPARstart{A}{}demo file is .... +% +% Some journals put the first two words in caps: +% \IEEEPARstart{T}{his demo} file is .... +% +% Here we have the typical use of a "T" for an initial drop letter +% and "HIS" in caps to complete the first word. +\IEEEPARstart{T}{his} demo file is intended to serve as a ``starter file'' +for IEEE Computer Society journal papers produced under \LaTeX\ using +IEEEtran.cls version 1.7 and later. +% You must have at least 2 lines in the paragraph with the drop letter +% (should never be an issue) +I wish you the best of success. + +\hfill mds + +\hfill January 11, 2007 + +\subsection{Subsection Heading Here} +Subsection text here. + +% needed in second column of first page if using \IEEEpubid +%\IEEEpubidadjcol + +\subsubsection{Subsubsection Heading Here} +Subsubsection text here. + + +% An example of a floating figure using the graphicx package. +% Note that \label must occur AFTER (or within) \caption. +% For figures, \caption should occur after the \includegraphics. +% Note that IEEEtran v1.7 and later has special internal code that +% is designed to preserve the operation of \label within \caption +% even when the captionsoff option is in effect. However, because +% of issues like this, it may be the safest practice to put all your +% \label just after \caption rather than within \caption{}. +% +% Reminder: the "draftcls" or "draftclsnofoot", not "draft", class +% option should be used if it is desired that the figures are to be +% displayed while in draft mode. +% +%\begin{figure}[!t] +%\centering +%\includegraphics[width=2.5in]{myfigure} +% where an .eps filename suffix will be assumed under latex, +% and a .pdf suffix will be assumed for pdflatex; or what has been declared +% via \DeclareGraphicsExtensions. +%\caption{Simulation Results} +%\label{fig_sim} +%\end{figure} + +% Note that IEEE typically puts floats only at the top, even when this +% results in a large percentage of a column being occupied by floats. +% However, the Computer Society has been known to put floats at the bottom. + + +% An example of a double column floating figure using two subfigures. +% (The subfig.sty package must be loaded for this to work.) +% The subfigure \label commands are set within each subfloat command, the +% \label for the overall figure must come after \caption. +% \hfil must be used as a separator to get equal spacing. +% The subfigure.sty package works much the same way, except \subfigure is +% used instead of \subfloat. +% +%\begin{figure*}[!t] +%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% +%\label{fig_first_case}} +%\hfil +%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% +%\label{fig_second_case}}} +%\caption{Simulation results} +%\label{fig_sim} +%\end{figure*} +% +% Note that often IEEE papers with subfigures do not employ subfigure +% captions (using the optional argument to \subfloat), but instead will +% reference/describe all of them (a), (b), etc., within the main caption. + + +% An example of a floating table. Note that, for IEEE style tables, the +% \caption command should come BEFORE the table. Table text will default to +% \footnotesize as IEEE normally uses this smaller font for tables. +% The \label must come after \caption as always. +% +%\begin{table}[!t] +%% increase table row spacing, adjust to taste +%\renewcommand{\arraystretch}{1.3} +% if using array.sty, it might be a good idea to tweak the value of +% \extrarowheight as needed to properly center the text within the cells +%\caption{An Example of a Table} +%\label{table_example} +%\centering +%% Some packages, such as MDW tools, offer better commands for making tables +%% than the plain LaTeX2e tabular which is used here. +%\begin{tabular}{|c||c|} +%\hline +%One & Two\\ +%\hline +%Three & Four\\ +%\hline +%\end{tabular} +%\end{table} + + +% Note that IEEE does not put floats in the very first column - or typically +% anywhere on the first page for that matter. Also, in-text middle ("here") +% positioning is not used. Most IEEE journals use top floats exclusively. +% However, Computer Society journals sometimes do use bottom floats - bear +% this in mind when choosing appropriate optional arguments for the +% figure/table environments. +% Note that, LaTeX2e, unlike IEEE journals, places footnotes above bottom +% floats. This can be corrected via the \fnbelowfloat command of the +% stfloats package. + + + +\section{Conclusion} +The conclusion goes here. + + + + + +% if have a single appendix: +%\appendix[Proof of the Zonklar Equations] +% or +%\appendix % for no appendix heading +% do not use \section anymore after \appendix, only \section* +% is possibly needed + +% use appendices with more than one appendix +% then use \section to start each appendix +% you must declare a \section before using any +% \subsection or using \label (\appendices by itself +% starts a section numbered zero.) +% + + +\appendices +\section{Proof of the First Zonklar Equation} +Appendix one text goes here. + +% you can choose not to have a title for an appendix +% if you want by leaving the argument blank +\section{} +Appendix two text goes here. + + +% use section* for acknowledgement +\ifCLASSOPTIONcompsoc + % The Computer Society usually uses the plural form + \section*{Acknowledgments} +\else + % regular IEEE prefers the singular form + \section*{Acknowledgment} +\fi + + +The authors would like to thank... + + +% Can use something like this to put references on a page +% by themselves when using endfloat and the captionsoff option. +\ifCLASSOPTIONcaptionsoff + \newpage +\fi + + + +% trigger a \newpage just before the given reference +% number - used to balance the columns on the last page +% adjust value as needed - may need to be readjusted if +% the document is modified later +%\IEEEtriggeratref{8} +% The "triggered" command can be changed if desired: +%\IEEEtriggercmd{\enlargethispage{-5in}} + +% references section + +% can use a bibliography generated by BibTeX as a .bbl file +% BibTeX documentation can be easily obtained at: +% http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/ +% The IEEEtran BibTeX style support page is at: +% http://www.michaelshell.org/tex/ieeetran/bibtex/ +%\bibliographystyle{IEEEtran} +% argument is your BibTeX string definitions and bibliography database(s) +%\bibliography{IEEEabrv,../bib/paper} +% +% manually copy in the resultant .bbl file +% set second argument of \begin to the number of references +% (used to reserve space for the reference number labels box) +\begin{thebibliography}{1} + +\bibitem{IEEEhowto:kopka} +H.~Kopka and P.~W. Daly, \emph{A Guide to \LaTeX}, 3rd~ed.\hskip 1em plus + 0.5em minus 0.4em\relax Harlow, England: Addison-Wesley, 1999. + +\end{thebibliography} + +% biography section +% +% If you have an EPS/PDF photo (graphicx package needed) extra braces are +% needed around the contents of the optional argument to biography to prevent +% the LaTeX parser from getting confused when it sees the complicated +% \includegraphics command within an optional argument. (You could create +% your own custom macro containing the \includegraphics command to make things +% simpler here.) +%\begin{biography}[{\includegraphics[width=1in,height=1.25in,clip,keepaspectratio]{mshell}}]{Michael Shell} +% or if you just want to reserve a space for a photo: + +\begin{IEEEbiography}{Michael Shell} +Biography text here. +\end{IEEEbiography} + +% if you will not have a photo at all: +\begin{IEEEbiographynophoto}{John Doe} +Biography text here. +\end{IEEEbiographynophoto} + +% insert where needed to balance the two columns on the last page with +% biographies +%\newpage + +\begin{IEEEbiographynophoto}{Jane Doe} +Biography text here. +\end{IEEEbiographynophoto} + +% You can push biographies down or up by placing +% a \vfill before or after them. The appropriate +% use of \vfill depends on what kind of text is +% on the last page and whether or not the columns +% are being equalized. + +%\vfill + +% Can be used to pull up biographies so that the bottom of the last one +% is flush with the other column. +%\enlargethispage{-5in} + + + +% that's all folks +\end{document} + + diff --git a/mpi-energy2-extension/IEEEtran/changelog.txt b/mpi-energy2-extension/IEEEtran/changelog.txt new file mode 100644 index 0000000..80e3b3f --- /dev/null +++ b/mpi-energy2-extension/IEEEtran/changelog.txt @@ -0,0 +1,762 @@ + + + Changelog history of the IEEEtran LaTeX class. + + + v1.8 -- 2012/11/21 + by Harald Hanche-Olsen and Anders Christensen (IEEE Computational Intelligence Society) + +******* +11/2012 v1.8 changes: + +1335c1335 +< \itemindent 0em% +--- +> \itemindent 0.3em% +1386c1386 +< \itemindent 0em% +--- +> \itemindent .3em% +1436c1436 +< \itemindent 0em% +--- +> \itemindent .3em% +1524c1524 +< \def\unnumberedfootnote{\gdef\@thefnmark{}\@footnotetext} +--- +> \def\unnumberedfootnote{\gdef\@thefnmark{\quad}\@footnotetext} +1526c1526 +< \skip\@mpfootins = \skip\footins +--- +> \skip\@mpfootins 0.3\baselineskip +1531a1532 +> %\long\def\@makefnmark{\scriptsize\normalfont\@thefnmark} +1541c1542 +< \def\footnoterule{\vskip-2pt \hrule height 0.4pt depth \z@ \vskip1.6pt\relax} +--- +> \def\footnoterule{\vskip-2pt \hrule height 0.6pt depth \z@ \vskip1.6pt\relax} +1652c1653 +< \def\figurename{Figure} +--- +> \def\figurename{Fig.} +1740c1741 +< \setlength\abovecaptionskip{0.25\baselineskip} +--- +> \setlength\abovecaptionskip{0.65\baselineskip} +1799c1800 +< \footnotesize{\centering\normalfont\footnotesize#1.\quad\scshape #2\par}% +--- +> \footnotesize{\centering\normalfont\footnotesize#1.\qquad\scshape #2\par}% +1812c1813 +< \ifCLASSOPTIONconference \hbox to\hsize{\normalfont\footnotesize\hfil\box\@tempboxa\hfil}% +--- +> \ifCLASSOPTIONconference \hbox to\hsize{\normalfont\footnotesize\box\@tempboxa\hfil}% +1856c1857 +< \def\table{\def\@floatboxreset{\reset@font\footnotesize\@setminipage}% +--- +> \def\table{\def\@floatboxreset{\reset@font\scriptsize\@setminipage}% +1861c1862 +< \@namedef{table*}{\def\@floatboxreset{\reset@font\footnotesize\@setminipage}\@dblfloat{table}} +--- +> \@namedef{table*}{\def\@floatboxreset{\reset@font\scriptsize\@setminipage}\@dblfloat{table}} +3747c3748 +< \def\endIEEEkeywords{\relax\ifCLASSOPTIONtechnote\vspace{1.34ex}\else\vspace{1.67ex}\fi +--- +> \def\endIEEEkeywords{\relax\ifCLASSOPTIONtechnote\vspace{1.34ex}\else\vspace{0.5ex}\fi +3826,3827c3827,3829 +< +< \def\@seccntformat#1{\csname the#1dis\endcsname\hskip 1em\relax} +--- +> \def\@seccntformat#1{\hb@xt@ 1.4em{\csname the#1dis\endcsname\hss\relax}} +> \def\@seccntformatinl#1{\hb@xt@ 1.1em{\csname the#1dis\endcsname\hss\relax}} +> \def\@seccntformatch#1{\csname the#1dis\endcsname\hskip 1em\relax} +3843c3845,3853 +< \protected@edef\@svsec{\@seccntformat{#1}\relax}% +--- +> \ifnum #2=1 +> \protected@edef\@svsec{\@seccntformatch{#1}\relax}% +> \else +> \ifnum #2>2 +> \protected@edef\@svsec{\@seccntformatinl{#1}\relax}% +> \else +> \protected@edef\@svsec{\@seccntformat{#1}\relax}% +> \fi +> \fi + + + + + + +***************************************** + +2007/03/05 + by Michael Shell (MDS) + http://www.michaelshell.org/ + +******* + 3/2007 V1.7a (MDS) changes: + + 1) Corrected problem of unwanted two column peer review title page format. + Thanks to Virgilio Rodriguez for reporting this bug. + + 2) "depreciated" -> "deprecated". Thanks to Virgilio Rodriguez for + suggesting this change. + +******* + 1/2007 V1.7 (MDS) changes: + + 1) New class option compsoc to support the IEEE Computer Society format. + + 2) New class option captionsoff disables the display of figure/table + captions. endfloat.sty is now mentioned in the docs. Thanks to Geoff + Walker for suggesting these changes. + + 3) Fixed compatibility issues with subfig.sty and caption.sty. Thanks to + Steven Douglas Cochran and Axel Sommerfeldt for suggesting this change. + + 4) New \CLASSINPUT, \CLASSOPTION and \CLASSINFO interface allows for more + user control and conditional compilation. + + 5) \ifcenterfigcaptions (\centerfigcaptionstrue, \centerfigcaptionsfalse), + \CMPARstart and \overrideIEEEmargins have been removed and no are + longer supported. The effect of \overrideIEEEmargins can be mimicked + via the more general \CLASSINPUT interface: + % US letter paper: + \newcommand{\CLASSINPUTinnersidemargin}{0.775in} + \newcommand{\CLASSINPUToutersidemargin}{0.585in} + % A4 paper: + \newcommand{\CLASSINPUTinnersidemargin}{17mm} + \newcommand{\CLASSINPUToutersidemargin}{11.647mm} + + 6) Several commands and environments have been deprecated in favor of + replacements with IEEE prefixes to better avoid potential future name + clashes with other packages. Legacy code retained to allow the use of + the obsolete forms (for now), but with a warning message to the console + during compilation: + \IEEEauthorblockA, \IEEEauthorblockN, \IEEEauthorrefmark, + \IEEEbiography, \IEEEbiographynophoto, \IEEEkeywords, \IEEEPARstart, + \IEEEproof, \IEEEpubid, \IEEEpubidadjcol, \IEEEQED, \IEEEQEDclosed, + \IEEEQEDopen, \IEEEspecialpapernotice. IEEEtran.cls now redefines + \proof in way to avoid problems with the amsthm.sty package. + For IED lists: + \IEEEiedlabeljustifyc, \IEEEiedlabeljustifyl, \IEEEiedlabeljustifyr, + \IEEEnocalcleftmargin, \IEEElabelindent, \IEEEsetlabelwidth, + \IEEEusemathlabelsep + + 7) These commands/lengths now require the IEEE prefix and do not have + legacy support: \IEEEnormaljot. + For IED lists: \ifIEEEnocalcleftmargin, \ifIEEEnolabelindentfactor, + \IEEEiedlistdecl, \IEEElabelindentfactor + + 8) \normalsizebaselineskip skip replaced by + \CLASSINFOnormalsizebaselineskip (nonrubber dimen) length. + Also, new \CLASSINFOnormalsizeunitybaselineskip (nonrubber dimen) + provided. + + 9) Now defaults to using Alpha numbering rather than Roman for appendices + numbering. This is because Alpha numbering is more common and avoids + problems with theorem numbering. \ifuseRomanappendices + (\useRomanappendicestrue, \useRomanappendicesfalse) is no longer + supported. Instead, use the new class option romanappendices if Roman + appendices numbering is desired. Thanks to Leonid Mirkin for reporting + the problem with theorems in appendices and suggesting changes. + +10) Improved paper size setting code for pdflatex. + +11) Better handling of theorem numbering when using the section counter + within the appendix(cies). Thanks to Leonid Mirkin for suggesting + this change. + +12) Fixed bug that caused equations at the end of theorems to be too + close to the line below them. + +13) Provided hook to conference mode console notice and changed notice to + better support conferences that use A4 paper. Thanks to Volker Kuhlmann + for suggesting this change. + +14) \IEEEauthorrefmark made robust to allow it to be used in \thanks + without a leading \protect + +15) Improved \textunderscore to provide a much better fake _ when used with + OT1 encoding. Under OT1, detect use of pcr or cmtt \ttfamily and use + available true _ glyph for those two typewriter fonts. + +16) Revised internal \@sect command to be more robust for users who employ + modified section heading formats. Thanks to Zarko F. Cucej for + suggesting this change. + +17) Improved \thesubsubsection definition to prevent breaks at the hyphen. + Thanks to Moritz Borgmann for suggesting this change. Thanks to + Dan Luecking and Heiko Oberdiek for explaining some of the various + alternatives and techniques to fix it. + +18) No longer provide \NAT@parse hack to get cite.sty to play (somewhat) + with hyperref.sty as this is already included in cite.sty version + 4.0 (2003-05-27) and later. + +19) At the beginning of document, set the default style of url.sty to be + the same as the current text font - as is done in IEEE journals. + +20) Corrected excessive line spacing in journal table captions. Thanks to + Moritz Borgmann for suggesting this change. + +21) Corrected \thesubsubsection to use the "I-A1" format IEEE uses rather + than "I-A.1" as was done before. Ditto for \theparagraph. Thanks to + Moritz Borgmann for suggesting this change. + +22) Enclose papersize specials within \AtBeginDvi in case someone wants + to make a format with IEEEtran. Thanks to Moritz Borgmann for + suggesting this change. + +23) Eliminated the small space after abstract and keywords dash as IEEE + now does. Thanks to Moritz Borgmann for suggesting this change. + +24) IEEEkeywords is no longer locked out in conference mode + +25) Increase defaults of \binoppenalty and \relpenalty to discourage + breaks within equations. Thanks to Moritz Borgmann for suggesting + this change. + +26) Support optional argument for IEEEproof. Thanks to Ingo Steinwart for + suggesting this change. Also, start a new \par with \IEEEproof. + +27) Add support for an optional argument to \bstctlcite. + +28) Changed \topfraction and \dbltopfraction from 1.0 to 0.9. Thanks to + Donald Arseneau for suggesting this change. + + +******* + 09/2005 V1.6c (MDS) changes: + + 1) Changed endfigure/endfloat definitions so as not to cause problems with + preview-LaTeX and other packages. Thanks to Stephan Heuel and David + Kastrup for reporting this problem. + + + +******* + 11/2002 V1.6b (MDS) changes: + + 1) Fixed problem with figure captions when using hyperref. Thanks to + Leandro Barajas and Michael Bassetti for reporting this bug. + + 2) Provide a fake nabib command \NAT@parse so that hyperref will not + interfere with the operation of cite.sty. However, as a result citation + numbers will not be hyperlinked. Also, natbib will not be able to work + with IEEEtran. However, this is perhaps the best solution until + cite.sty and hyperref.sty are able to co-exist with each other. + It easy enough to override the fake command via: + \makeatletter + \let\NAT@parse\undefined + \makeatother + + 3) Revised font selection method so as not to have problems when used + with setspace.sty. Thanks to Zhang Yan for reporting this bug. + + 4) Added \special to feed papersize to dvips. Thanks to Moritz Borgmann + for suggesting this feature. + + 5) In addition to the IEEE IED lists, the original IED style list + environments (as is done in article.cls) are now provided as + LaTeXitemize, LaTeXenumerate, and LaTeXdescription. Also, users can + now redefine \makelabel within IEEE IED list controls. There may be + some use for this in specialized applications. Thanks to Eli Barzilay + for suggesting this feature. + + 6) \table* now defaults to \footnotesize text like \table. + + 7) The draft modes now no longer force a pagebreak after the title. + Thanks to Christian Peel for suggesting this change. + + 8) New draftclsnofoot mode is like draftcls, but does not display the + date and the word "DRAFT" at the foot of the page. Thanks to + Christian Peel for suggesting this feature. + + 9) New peerreview and peerreviewca modes with \IEEEpeerreviewmaketitle + command allows for a "cover" titlepage for anonymous peer review. + Except for the cover titlepage, peerreview is much like journal mode. + peerreviewca is like peerreview, but allows the author names to be + entered and formatted as under conference mode so that author + affiliations and contact information can be easily seen on the cover + page. Thanks to Eric Benedict for suggesting this feature. + + + +******* + 7/2002 V1.6 (MDS) changes: + + 1) Added conference mode via conference option. Defaults to the + traditional journal mode. e.g., \documentclass[conference]{IEEEtran} + + 2) Added support for A4 paper via new a4paper option. Pdflatex's paper + size lengths are now automatically set to the proper paper size being + used. + + 3) Revised margins again. Page text is now horizontally centered. + Conference mode increases the top and bottom margins with the bottom + margin being slightly larger. For A4 paper, the top margin and text + typesetting will not change from those of US letter paper, but the side + margins will be smaller and the bottom margin will be larger than that + of US letter. All per IEEE specs. + + 4) Fixed footnote line spacing anomaly in draft mode. + Thanks to Alberto Rodriguez for reporting this bug. + + Also, slightly revised footnote and \thanks note spacing. + Set \interfootnotelinepenalty=10000 to prevent LaTeX + from breaking footnotes across multiple pages or columns. + + 5) Fixed bug that caused overwritten photo areas and sometimes anomalous + spacing when a new paragraph was started within a biography. Also, + the presence of \par's, new lines or spaces at the beginning of + abstract, keywords, biography, or biographynophoto will no longer + affect the first word spacing. + Thanks to Eric Durant for reporting this bug. + + The biography environment now does a better job in preventing + a biography photo area from being broken across pages or columns. + + 6) Fixed whitespace between \cite entries bug. i.e., + both \cite{einstein24, knuth84} and \cite{einstein24,knuth84} + are now valid. \cite is now a robust command as it should be. + IEEEtran now no longer defines the old non-standard \shortcite or + \citename. + + The base IEEEtran.cls does not sort citation numbers or produce ranges + for three or more consecutive numbers. However, V1.6 of IEEEtran.cls + now pre-defines the following format control macros to facilitate easy + use with Donald Arseneau's cite.sty package (tested with cite.sty V3.9): + + \def\citepunct{], [} + \def\citedash{]--[} + + cite.sty is standard on most LaTeX sytems and can be obtained from + www.ctan.org. Thanks to Donald Arseneau for creating cite.sty, + providing the required format arguments to produce the IEEE style + and designing a cite interface capable of handling the IEEE citation + style. + + Note: Historically, IEEE has wanted authors to "hardcode" symbolics. + (i.e., replace all \cite{} with fixed [x]). However, it now seems that + most electronic manuscript submissions to IEEE are in .pdf format, and + as such, do not require the LaTeX document reference numbers to be hard + coded. If an author is required to submit actual LaTeX files, I do + recommend that the bibliography file (.bbl) be copied into the .tex + document and the \bibliographystyle{} and \bibliography{} commands be + commented out so that the .tex file does not depend on (potentially + lengthy and/or confidential) external bibliography database files + + 7) Adjusted some spacing parameters. The spacing above and below equations + has been revised (to a typical IEEE value). \jot now has a decent value. + The title text is now exactly 24pt. (On a related note, \fontsubfuzz has + been increased to 0.9pt to prevent annoying font substitution warnings + when using the Computer Modern fonts that use the 24.88pt size.) + In V1.6, \small is now 8.5pt in 9pt docs because \footnotesize is 8pt. + For 9pt docs, you should probably go ahead and use \footnotesize when + you need text a little smaller than \normalsize. + The interword spacing has been adjusted to be extremely close to that + which IEEE uses. You can use a new class option, nofonttune, if you need + to disable the adjusting of the interword spacing. This adjustment and + an increase to \hyphenpenalty have greatly reduced the amount of + hyphenation in a typical paper. + The baselineskip for the normalsize fonts has been tweaked to reduce + underfull vboxes on journal paper columns with only paragraphs. + Conference mode does the same thing but by also tweaking the \textheight + slightly off 9.25in (IEEE spec) to ensure an integer number of lines per + page. Draft (also draftcls) mode has also been revised to reduce + underfull vbox warnings. However, draft mode can still produce underfull + vboxes (a direct result of the increase in line spacing and margins) if: + A non-normalsize font occupies an entire column (abstract and index + terms take up a whole column by themselves); or the beginning of a + section occurs near the end of a column and cannot be squeezed into the + bottom, etc. This is normal as draft mode's liberal spacings cannot + guarantee perfect formatting. + + 8) New biographynophoto environment for biographies without photos. + Usage: + + \begin{biographynophoto}{author name} + biography text here + \end{biographynophoto} + + 9) Fixed bug that produced multiple table of contents entries for papers + with more than one biography. Also, biography now works better with + hyperref. + +10) New \sublargesize font size command provides for 11pt text in a 10pt + document. (Needed for things like author names.) For documents not + using 10pt normal size text, \sublargesize is currently identical + to \large. + +11) New \IEEEmembership command to provide correct font to indicate IEEE + membership for journal papers. + +12) Fixed author name line overflow problem when in journal mode. This + problem had been introduced in V1.5 in my rush to get \and to work for + conferences. \and is unneeded (and invalid) in journal mode. For + conference mode, \and will work as expected and features an optional + spacing argument. i.e., \and[\hspace{5ex}] + \and will default (recommended) to using \hfill which will result in + equal spacing between author blocks. + +13) New \authorblockN, \authorblockA and \authorrefmark commands to + facilitate easy formatting of author names, affiliations and cross + reference symbols, respectively, when in conference mode. These + three commands are to be used only for conference papers. + In conference mode, \author text is placed within a modified tabular + environment (somewhat like article.cls). So, within \author in + conference mode, you should not try to enclose multiple \\ within an + environment or command (other than the argument braces of + \authorblockX{}). For example: + + \author{\authorblockN{{John Doe \\ Jane Doe}}} % WRONG! + + will generate an error. + + Note that font size/attribute changes will now persists across \\ + within \author. (But, not across author blocks nor across \and.) + However, with the new commands, there should be no need to alter any + font attributes within \author. All text sizing and spacing within + \author{} and the author block commands is per IEEE specs for both + conference and journal modes. (In conference mode, the author names + are only very slightly larger than the affiliations which are in normal + size.) For specialized applications you can alter the justification of + author lines by placing \hfill at the beginning or at the end of a line. + The interline spacing within \author is determined by the font + attributes that are in effect at the end of each line within author. + +14) Because the titles and author name blocks use different font + sizes/styles from the main text, it was possible that two column papers + with titles that span both columns (standard journal and conference + papers, but not technotes) with certain numbers of lines for the title + and authors' name/affiliations can cause underfull vbox problems + (paragraphs with large spacings between them) in the second column of + the main text on the title page - if there were no new sections, + equations or figures in this column (they would provide some needed + rubber spacing). The use of things like special paper notices and + publisher ID marks also affected this issue. The problem could not + happen in the first column because the first column has a rubber length + around the heading of the first section. Furthermore, problems seldom + occurred on pages after the first as the margins had been chosen not to + cause it with the popular font sizes. Rubber lengths after the author + names would not fix this problem. + Auto-calculating a "good" spacing after the title is a tad difficult + to do in LaTeX. However, I am pleased to report that V1.6 has this new + capability - "dynamically determined title spacing". IEEEtran will now + measure the height of all the title and author text in \maketitle + and then calculate a rigid (non-rubber) spacer to follow that meets + IEEE specs and also produces a \textheight on the title page that + ensures an integer number of normalsized lines on the rest of the page. + Single column papers, and two column papers with the title entirely in + column one (technotes) do not need dynamic rigid spacing and therefore + use standard rubber spacers. + + Note: This problem can still crop up if you use floats that span both + columns (i.e., figure*). It has been a decade+ long limitation with + LaTeX that the stretchable portion of \dbltextfloatsep is ignored. + If you get a problem with underful vbox warnings and paragraphs that + "are pulled apart" on page with a float that spans both columns, tweak + the space between the figure and the main text a little: + + \vskip 5pt + \end{figure*} + + If you can't find a value that fixes both columns, you are going to + have to put a rubber spacer somewhere in one or both of the columns. +15) Because of change #14 above, those of you using \pubid will, as of V1.6, + have to place it *before* \maketitle in order for it have the intended + affect. The dynamic spacer algorithm must see if you are using \pubid + when \maketitle is called. \pubidadjcol works as before except that it + now has additional logic to prevent it from doing anything if \pubid + was never called. + +16) In some unusual, non-standard circumstances, an author may desire to + alter the spacing after the title area or put some unusual text above + the main text. For instance, to stop a bad break when a new section + occurs right at the start of the second page. This is difficult to do + when the title spans both columns of two column text since LaTeX treats + such title text as a type of float. A new command, + \IEEEaftertitletext{}, gives access to the end of that produced by + \maketitle. The types of things that can go into \IEEEaftertitletext + are the same as those into \twocolumn[] - no \par, but \\ are OK. There + is no restriction on the range of spacings that can be used. e.g., + \IEEEaftertitletext{\vspace{-100pt}} will push the main text well into + the title and \IEEEaftertitletext{\vspace{100pt}} will push it far down + the page. You will have complete control. If used, place + \IEEEaftertitletext{} before \maketitle like \title and \author. + IEEEtran's dynamic title spacing intentionally does not take into + consideration the contents of \IEEEaftertitletext{} when determining + the spacer after the title area (otherwise it would try to second + guess you), so the user will have manually adjust the height of the + contents in \IEEEaftertitletext{} if the problem discussed in #14 above + should develop. A safe bet is to keep the height of contents of + \IEEEaftertitletext{} to integer multiples of \baselineskip, e.g., + \IEEEaftertitletext{\vspace{-1\baselineskip}} + + Because it can result in an IEEE nonstandard format, the use of + \IEEEaftertitletext{} is discouraged. Possible uses include (1) the use + of IEEEtran for non-IEEE work with different title spacing requirements, + or (2) as an emergency manual override if a problem should develop in + IEEEtran's automatic spacing algorithm. + +17) completely rewritten \PARstart to: + a. no longer have problems when the user begins an environment + within the paragraph that uses \PARstart. + b. auto-detect and use the current font family + c. revise handling of the space at the end of the first word so that + interword glue will now work as normal. + d. produce correctly aligned edges for the (two) indented lines. + + Because the current font family is now auto-detected, there is no + longer any need for \CMPARstart - it is now the same as \PARstart. + +18) There is now a new "open box" Q.E.D. symbol (\QEDopen) as well as the + original default (\QED) closed one (\QEDclosed). Some journals use + the open form. To make \proof use the open form, just do: + \renewcommand{\QED}{\QEDopen} + +19) Additional \typeout{} notices added to warn the user when unusual + settings/commands are detected or as reminders to avoid common errors + when in conference mode. + +20) IEEEtran now provides \abovecaptionskip and \belowcaptionskip skip + registers because article class provides them and some packages + may error if they are missing. However, IEEEtran only uses + \abovecaptionskip for actual caption spacing. + +21) Fixed bug that prevented users from redefining the section headings + to use arabic digits. Thanks to Richardt H. Wilkinson for reporting + this bug. + +22) Code cleaned up to be more efficient with the use of TeX registers; + removed some old LaTeX 2.09 code; revised option processing to + LaTeX2e standard; eliminated unwanted "phantom" spaces in some + environments. + +23) Added new \IEEEeqnarray, \IEEEeqnarraybox, \IEEEeqnarrayboxm and + \IEEEeqnarrayboxt environments to provide superior alternatives to the + standard LaTeX \eqnarray, \array and \tabular. Additional new support + commands include \IEEEeqnarraydecl, \IEEEeqnarrayboxdecl, + \IEEEeqnarraymathstyle, \IEEEeqnarraytextstyle, \yesnumber. + \IEEEnonumber, \IEEEyesnumber, \IEEEyessubnumber, \IEEEeqnarraynumspace, + \IEEEeqnarraymulticol, \IEEEeqnarrayomit, \IEEEeqnarraydefcol, + \IEEEeqnarraydefcolsep, \IEEEeqnarrayseprow, \IEEEeqnarrayseprowcut, + \IEEEeqnarrayrulerow, \IEEEeqnarraydblrulerowcut, + \IEEEeqnarraystrutmode, \IEEEeqnarraystrutsize, + \IEEEeqnarraystrutsizeadd, \IEEEvisiblestrutstrue, + \IEEEvisiblestrutsfalse and \IEEEstrut. + These are documented in the user's guide. + +24) V1.6 changed back to using () around theorem names (which are also now + in italics) as this is what IEEE is using now. Thanks to Christian Peel + for reporting this. Also, when section numbers are used as the first + part of theorem numbers, display them in arabic, not Roman. + +25) New \IEEEtriggeratref{X} command allows a page break to be triggered + just before the given reference number "X". This is most useful when + balancing the columns on the last page and a \newpage between references + is desired. \IEEEtriggercmd{X} allows a different command to be executed + at trigger. + + + +******* + 7/2001 V1.5 (MDS) changes: + + + 1) Fixed \and within \author bug: (! Misplaced \crcr. \endtabular ->\crcr) + Thanks to Rainer Dorsch for discovering and reporting that \and + did not work. + + 2) Fixed the biography environment so that if a biography's text is shorter + than the area allocated for the photo, a collision with the next + biography does not occur. You can now put real graphics (using the + graphicx package) into the biography photo box with a new optional + argument of the biography command! For example: + + \begin{biography}[{\includegraphics[width=1in,height=1.25in,clip, + keepaspectratio]{./tux.eps}}]{Linux Penguin} + + will use the specified graphic as the author's photo. The photo area is + exactly 1in wide by 1.25in high - as is done in IEEE Transactions. Try + to keep the same 4:5 aspect ratio if scanning/cropping your photos. + Note the need for the extra set of enclosing braces around the + \includegraphics. Without it, The LaTeX parser may get confused when it + sees the \includegraphics's brackets within the biography's optional + argument. Due to the length of the \includegraphics command, you may + wish to define your own shorthand form of it. I have not done so with + IEEEtran to prevent dependence on the graphicx package. If you do not + use the optional argument, or leave it empty, a standard frame box + with the words "Place Photo Here" will be used. If you want the space + to remain completely empty, you can do: + + \begin{biography}[\mbox{}]{The Invisible Man} + + The interface to biography's optional argument is into a + 1in X 1.25in minipage in which the argument text is centered both + horizontally and vertically: + + \begin{minipage}[b][1.25in][c]{1in}% + \centering + #1% + \end{minipage} + + Within the biography environment, \unitlength is set to 1in. + With this in mind, you can even design your own custom frameboxes. + For instance: + + \begin{biography}[\framebox(1,1.25){\parbox[][\height + ][c]{0.9in}{\centering PLACE\\ PHOTO\\ + HERE}}]{Author Name} + + will yield the same type of result as the default photo box. + + Thanks to Herbert Voss for discovering the collision bug, suggesting + the ability to handle graphics and providing some prototype code. + + + +******* + 3/2001 V1.4 (MDS) changes: + + + 1) New "draftcls" and "final" options have been added. + Thanks to Dragan Cvetkovic for suggesting an option like draftcls. + + 2) Documentation changes to reflect the fact that this IEEEtran.cls + is no longer beta test. + + 3) Slightly revised caption sizes. Figure and table captions are now + in \footnotesize, not \small as before. + + 4) Allow user to control figure caption justification. IEEEtran.cls + normally defaults to left justified as is done in Transactions. + However, for conferences, you may wish to issue the command: + \centerfigcaptionstrue + in the preamble. Short (less than one line long) figure captions + will then be centered. Multi-line figure captions will always be + properly left justified. V1.6: This is already done for you when + using the conference mode. + + + +******* + 1/2001 V1.3 + Michael Shell (MDS) made extensive changes and additions: + + + BUGS FIXED (and many others too numerous to mention!): + 1) Fixed improper alignment with itemized, enumerated and + description lists. Added new controls to these three + environments so that it is easy to get the alignment IEEE + uses. Furthermore, the itemize, enumerate and description lists + no longer force a new paragraph to begin at the end the list + (\par). (Sometimes lists are used within paragraphs.) + + 2) JVH's fixes now allow things like $\mathbf{N}(0,P(0))$ + to work properly without needing the extra braces: + ${\mathbf{N}}(0,P(0))$. There is no longer any dependence + on the "rawfonts" and "oldlfont" packages. Thanks Juergen! + + 3) Fixed underfull hbox errors and incorrect reference number + alignment when the number of references in the bibliography + exceeded 9 entries (which is almost every paper!). + + 4) Removed dependence on the LaTeX sizexx.clo files. + Now, 9pt documents should work correctly even on systems that + lack a size9.clo file. This is most often used in conjunction + with the option "technote" for "correspondence" papers like those + in IEEE Transactions on Information Theory. For virtually all + other papers, 10pt is used and so it is the default. + Some improper font sizes have been corrected. \footnotesize is + now 8pt in 9pt docs, so footnotes in technotes should be the + correct size now. + + 5) Added \interlinepenalty within the bibliography section to discourage + LaTeX from breaking within a reference. IEEE almost never breaks within + a reference and when they do it is usually in technotes + (correspondence papers). You may get an underfull vbox warning in the + bibliography indicating that the spacing just before the "REFERENCES" + section is larger than normal, but the final result will be more like + what IEEE will publish. See the comments in the BIBLIOGRAPHY section + around line 2034 below if you want to change this behavior. + + 6) No longer "blows up" when you use \paragraph and have a table + of contents. + + 7) Theorem environment changed, (but for V1.6, back to the old way, sigh). + + 8) Figure captions adjusted: IEEE left (not center) justifies + figure captions (for journals) and does not indent figure caption text. + + 9) Adjusted some spacings in the table of contents(TOC))/list-of-figures/ + list-of-tables so that section/table numbers will not so easily + collide with the titles. Section VIII was usually the worst offender. + Still doesn't right justify the section numbers, but neither does + article.cls (This must be why LaTeX likes the x.y.z section numbering + scheme unlike I, II, III, etc. of IEEE. ) + It may be "normal" as it is (left justified). sigh. + +10) Now uses "index terms" now as a heading instead of "keywords". + Furthermore, the "index terms" and "abstract" headings are in bold + italic. This is how IEEE does things. + +11) \thebibliography and \biography now put entries into + the table of contents for you. + +******* + + + + + + + ******* + 9/2000 (JVH) changes: (now designated as V1.2) + + made some corrections to get closer to LaTeX2e + 20000906 Juergen v.Hagen + vonhagen@ihefiji.etec.uni-karlsruhe.de + + Permission to redistribute granted as of December 2000. + ******* + + + + + + ******* + + 1996 (JWD) LaTeX2e version: (now designated as V1.1) + + In the most recent TeXhax digest, there was a request for a copy of + IEEEtrans.sty modified to work with LaTeX2e. I have a version I + modified to make it IEEEtrans.cls, which I have sent to the person + making the request and am now sending to you to consider posting to + the archives. + -- + Jon Dixon + dixonj@colorado.edu + http://spot.colorado.edu/~dixonj/ + +******* + + + + + +******* + + 30-August-1993 original LaTeX 2.09 version (IEEEtran.sty), + (now designated as V1.0): + + by Gerry Murray and Silvano Balemi + Automatic Control Lab, ETH Zurich, Switzerland + balemi@aut.ee.ethz.ch + +******* + + + diff --git a/mpi-energy2-extension/edas.paper-1570085255.pdf.gz b/mpi-energy2-extension/edas.paper-1570085255.pdf.gz new file mode 100644 index 0000000000000000000000000000000000000000..be51df4e34b9a240c0c9b2b0238d1d9808b35a53 GIT binary patch literal 308692 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 #b;oINK<@luKcU4+Z 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Ɲo?+jL*}tL`(Fxq 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 e9;o> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 14:26:55 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 421 M +31 0 V +4337 0 R +-31 0 V +473 490 M +31 0 V +4337 0 R +-31 0 V +473 560 M +31 0 V +4337 0 R +-31 0 V +473 629 M +31 0 V +4337 0 R +-31 0 V +473 698 M +63 0 V +4305 0 R +-63 0 V +stroke +407 698 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 5)] +] -40.0 MRshow +1.000 UL +LTb +473 767 M +31 0 V +4337 0 R +-31 0 V +473 837 M +31 0 V +4337 0 R +-31 0 V +473 906 M +31 0 V +4337 0 R +-31 0 V +473 975 M +31 0 V +4337 0 R +-31 0 V +473 1044 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1044 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 10)] +] -40.0 MRshow +1.000 UL +LTb +473 1114 M +31 0 V +4337 0 R +-31 0 V +473 1183 M +31 0 V +4337 0 R +-31 0 V +473 1252 M +31 0 V +4337 0 R +-31 0 V +473 1321 M +31 0 V +4337 0 R +-31 0 V +473 1391 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1391 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +473 1460 M +31 0 V +4337 0 R +-31 0 V +473 1529 M +31 0 V +4337 0 R +-31 0 V +473 1598 M +31 0 V +4337 0 R +-31 0 V +473 1668 M +31 0 V +4337 0 R +-31 0 V +473 1737 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1737 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 20)] +] -40.0 MRshow +1.000 UL +LTb +473 1806 M +31 0 V +4337 0 R +-31 0 V +473 1875 M +31 0 V +4337 0 R +-31 0 V +473 1945 M +31 0 V +4337 0 R +-31 0 V +473 2014 M +31 0 V +4337 0 R +-31 0 V +473 2083 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2083 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 25)] +] -40.0 MRshow +1.000 UL +LTb +473 2152 M +31 0 V +4337 0 R +-31 0 V +473 2222 M +31 0 V +4337 0 R +-31 0 V +473 2291 M +31 0 V +4337 0 R +-31 0 V +473 2360 M +31 0 V +4337 0 R +-31 0 V +473 2429 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2429 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 30)] +] -40.0 MRshow +1.000 UL +LTb +473 2499 M +31 0 V +4337 0 R +-31 0 V +473 2568 M +31 0 V +4337 0 R +-31 0 V +473 2637 M +31 0 V +4337 0 R +-31 0 V +473 2706 M +31 0 V +4337 0 R +-31 0 V +473 2776 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2776 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 35)] +] -40.0 MRshow +1.000 UL +LTb +473 2845 M +31 0 V +4337 0 R +-31 0 V +473 2914 M +31 0 V +4337 0 R +-31 0 V +473 2983 M +31 0 V +4337 0 R +-31 0 V +473 3053 M +31 0 V +4337 0 R +-31 0 V +473 3122 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3122 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 40)] +] -40.0 MRshow +1.000 UL +LTb +473 3191 M +31 0 V +4337 0 R +-31 0 V +473 3260 M +31 0 V +4337 0 R +-31 0 V +473 3330 M +31 0 V +4337 0 R +-31 0 V +473 3399 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 45)] +] -40.0 MRshow +1.000 UL +LTb +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Tradeoff distance)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3275 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site / 16 nodes)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1827 3248 327 55 40 45 2 PatternFill +0.10 0.10 0.44 C 892 352 73 1649 40 45 2 PatternFill +0.10 0.10 0.44 C 1438 352 73 1986 40 45 2 PatternFill +0.10 0.10 0.44 C 1984 352 73 1788 40 45 2 PatternFill +0.10 0.10 0.44 C 2530 352 73 1435 40 45 2 PatternFill +0.10 0.10 0.44 C 3076 352 73 2301 40 45 2 PatternFill +0.10 0.10 0.44 C 3622 352 73 2236 40 45 2 PatternFill +0.10 0.10 0.44 C 4168 352 73 1597 40 45 2 PatternFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3165 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site / 32 nodes)] +] -43.3 MRshow +LT1 +0.10 0.10 0.44 C 1.000 1827 3138 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 983 352 73 505 BoxColFill +0.10 0.10 0.44 C 1.000 1529 352 73 817 BoxColFill +0.10 0.10 0.44 C 1.000 2075 352 73 671 BoxColFill +0.10 0.10 0.44 C 1.000 2621 352 73 1053 BoxColFill +0.10 0.10 0.44 C 1.000 3167 352 73 918 BoxColFill +0.10 0.10 0.44 C 1.000 3713 352 73 2622 BoxColFill +0.10 0.10 0.44 C 1.000 4259 352 73 851 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +0.00 0.39 0.00 C LCb setrgbcolor +1761 3055 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites / 16 nodes)] +] -43.3 MRshow +LT0 +0.00 0.39 0.00 C 1827 3028 327 55 80 -45 1 PatternFill +0.00 0.39 0.00 C 1074 352 73 1085 80 -45 1 PatternFill +0.00 0.39 0.00 C 1620 352 73 572 80 -45 1 PatternFill +0.00 0.39 0.00 C 2166 352 73 310 80 -45 1 PatternFill +0.00 0.39 0.00 C 2712 352 73 540 80 -45 1 PatternFill +0.00 0.39 0.00 C 3258 352 73 1143 80 -45 1 PatternFill +0.00 0.39 0.00 C 3804 352 73 1764 80 -45 1 PatternFill +0.00 0.39 0.00 C 4350 352 73 1131 80 -45 1 PatternFill +% End plot #3 +% Begin plot #4 +1.000 UL +LT3 +0.94 0.50 0.50 C LCb setrgbcolor +1761 2945 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites / 32 nodes)] +] -43.3 MRshow +LT3 +0.94 0.50 0.50 C 1.000 1827 2918 327 55 BoxColFill +0.94 0.50 0.50 C 1.000 1165 352 73 475 BoxColFill +0.94 0.50 0.50 C 1.000 1711 352 73 1414 BoxColFill +0.94 0.50 0.50 C 1.000 2257 352 73 349 BoxColFill +0.94 0.50 0.50 C 1.000 2803 352 73 583 BoxColFill +0.94 0.50 0.50 C 1.000 3349 352 73 547 BoxColFill +0.94 0.50 0.50 C 1.000 3895 352 73 2430 BoxColFill +0.94 0.50 0.50 C 1.000 4441 352 73 664 BoxColFill +% End plot #4 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/dist_mc.eps b/mpi-energy2-extension/fig/dist_mc.eps new file mode 100644 index 0000000..7cdb262 --- /dev/null +++ b/mpi-energy2-extension/fig/dist_mc.eps @@ -0,0 +1,923 @@ +%!PS-Adobe-2.0 +%%Creator: gnuplot 4.6 patchlevel 6 +%%CreationDate: Fri Sep 11 16:07:35 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 410 +%%Orientation: Portrait +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.6 (September 2012) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse + clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 16:07:35 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 430 M +31 0 V +4337 0 R +-31 0 V +473 508 M +31 0 V +4337 0 R +-31 0 V +473 586 M +31 0 V +4337 0 R +-31 0 V +473 664 M +31 0 V +4337 0 R +-31 0 V +473 742 M +63 0 V +4305 0 R +-63 0 V +stroke +407 742 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 5)] +] -40.0 MRshow +1.000 UL +LTb +473 819 M +31 0 V +4337 0 R +-31 0 V +473 897 M +31 0 V +4337 0 R +-31 0 V +473 975 M +31 0 V +4337 0 R +-31 0 V +473 1053 M +31 0 V +4337 0 R +-31 0 V +473 1131 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1131 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 10)] +] -40.0 MRshow +1.000 UL +LTb +473 1209 M +31 0 V +4337 0 R +-31 0 V +473 1287 M +31 0 V +4337 0 R +-31 0 V +473 1365 M +31 0 V +4337 0 R +-31 0 V +473 1443 M +31 0 V +4337 0 R +-31 0 V +473 1521 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1521 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +473 1598 M +31 0 V +4337 0 R +-31 0 V +473 1676 M +31 0 V +4337 0 R +-31 0 V +473 1754 M +31 0 V +4337 0 R +-31 0 V +473 1832 M +31 0 V +4337 0 R +-31 0 V +473 1910 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1910 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 20)] +] -40.0 MRshow +1.000 UL +LTb +473 1988 M +31 0 V +4337 0 R +-31 0 V +473 2066 M +31 0 V +4337 0 R +-31 0 V +473 2144 M +31 0 V +4337 0 R +-31 0 V +473 2222 M +31 0 V +4337 0 R +-31 0 V +473 2300 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2300 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 25)] +] -40.0 MRshow +1.000 UL +LTb +473 2377 M +31 0 V +4337 0 R +-31 0 V +473 2455 M +31 0 V +4337 0 R +-31 0 V +473 2533 M +31 0 V +4337 0 R +-31 0 V +473 2611 M +31 0 V +4337 0 R +-31 0 V +473 2689 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2689 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 30)] +] -40.0 MRshow +1.000 UL +LTb +473 2767 M +31 0 V +4337 0 R +-31 0 V +473 2845 M +31 0 V +4337 0 R +-31 0 V +473 2923 M +31 0 V +4337 0 R +-31 0 V +473 3001 M +31 0 V +4337 0 R +-31 0 V +473 3079 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3079 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 35)] +] -40.0 MRshow +1.000 UL +LTb +473 3156 M +31 0 V +4337 0 R +-31 0 V +473 3234 M +31 0 V +4337 0 R +-31 0 V +473 3312 M +31 0 V +4337 0 R +-31 0 V +473 3390 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 40)] +] -40.0 MRshow +1.000 UL +LTb +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Tradeoff distance)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3257 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites/ one core)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1827 3230 327 55 40 45 2 PatternFill +0.10 0.10 0.44 C 892 352 73 534 40 45 2 PatternFill +0.10 0.10 0.44 C 1438 352 73 1582 40 45 2 PatternFill +0.10 0.10 0.44 C 1984 352 73 393 40 45 2 PatternFill +0.10 0.10 0.44 C 2530 352 73 655 40 45 2 PatternFill +0.10 0.10 0.44 C 3076 352 73 615 40 45 2 PatternFill +0.10 0.10 0.44 C 3622 352 73 2734 40 45 2 PatternFill +0.10 0.10 0.44 C 4168 352 73 747 40 45 2 PatternFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3147 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites/ multicores)] +] -43.3 MRshow +LT1 +0.10 0.10 0.44 C 1.000 1827 3120 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 983 352 73 946 BoxColFill +0.10 0.10 0.44 C 1.000 1529 352 73 926 BoxColFill +0.10 0.10 0.44 C 1.000 2075 352 73 505 BoxColFill +0.10 0.10 0.44 C 1.000 2621 352 73 1408 BoxColFill +0.10 0.10 0.44 C 1.000 3167 352 73 1615 BoxColFill +0.10 0.10 0.44 C 1.000 3713 352 73 1706 BoxColFill +0.10 0.10 0.44 C 1.000 4259 352 73 956 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +0.00 0.39 0.00 C LCb setrgbcolor +1761 3037 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site/ one core)] +] -43.3 MRshow +LT0 +0.00 0.39 0.00 C 1827 3010 327 55 80 -45 1 PatternFill +0.00 0.39 0.00 C 1074 352 73 568 80 -45 1 PatternFill +0.00 0.39 0.00 C 1620 352 73 919 80 -45 1 PatternFill +0.00 0.39 0.00 C 2166 352 73 755 80 -45 1 PatternFill +0.00 0.39 0.00 C 2712 352 73 1184 80 -45 1 PatternFill +0.00 0.39 0.00 C 3258 352 73 1033 80 -45 1 PatternFill +0.00 0.39 0.00 C 3804 352 73 2938 80 -45 1 PatternFill +0.00 0.39 0.00 C 4350 352 73 957 80 -45 1 PatternFill +% End plot #3 +% Begin plot #4 +1.000 UL +LT3 +0.94 0.50 0.50 C LCb setrgbcolor +1761 2927 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site/ multicores)] +] -43.3 MRshow +LT3 +0.94 0.50 0.50 C 1.000 1827 2900 327 55 BoxColFill +0.94 0.50 0.50 C 1.000 1165 352 73 1106 BoxColFill +0.94 0.50 0.50 C 1.000 1711 352 73 1256 BoxColFill +0.94 0.50 0.50 C 1.000 2257 352 73 85 BoxColFill +0.94 0.50 0.50 C 1.000 2803 352 73 1755 BoxColFill +0.94 0.50 0.50 C 1.000 3349 352 73 1307 BoxColFill +0.94 0.50 0.50 C 1.000 3895 352 73 2569 BoxColFill +0.94 0.50 0.50 C 1.000 4441 352 73 1540 BoxColFill +% End plot #4 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/dist_pow.eps b/mpi-energy2-extension/fig/dist_pow.eps new file mode 100644 index 0000000..11fdcc0 --- /dev/null +++ b/mpi-energy2-extension/fig/dist_pow.eps @@ -0,0 +1,906 @@ +%!PS-Adobe-2.0 +%%Creator: gnuplot 4.6 patchlevel 6 +%%CreationDate: Fri Sep 11 15:12:32 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 410 +%%Orientation: Portrait +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.6 (September 2012) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse + clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 15:12:32 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 430 M +31 0 V +4337 0 R +-31 0 V +473 508 M +31 0 V +4337 0 R +-31 0 V +473 586 M +31 0 V +4337 0 R +-31 0 V +473 664 M +31 0 V +4337 0 R +-31 0 V +473 742 M +63 0 V +4305 0 R +-63 0 V +stroke +407 742 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 5)] +] -40.0 MRshow +1.000 UL +LTb +473 819 M +31 0 V +4337 0 R +-31 0 V +473 897 M +31 0 V +4337 0 R +-31 0 V +473 975 M +31 0 V +4337 0 R +-31 0 V +473 1053 M +31 0 V +4337 0 R +-31 0 V +473 1131 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1131 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 10)] +] -40.0 MRshow +1.000 UL +LTb +473 1209 M +31 0 V +4337 0 R +-31 0 V +473 1287 M +31 0 V +4337 0 R +-31 0 V +473 1365 M +31 0 V +4337 0 R +-31 0 V +473 1443 M +31 0 V +4337 0 R +-31 0 V +473 1521 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1521 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +473 1598 M +31 0 V +4337 0 R +-31 0 V +473 1676 M +31 0 V +4337 0 R +-31 0 V +473 1754 M +31 0 V +4337 0 R +-31 0 V +473 1832 M +31 0 V +4337 0 R +-31 0 V +473 1910 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1910 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 20)] +] -40.0 MRshow +1.000 UL +LTb +473 1988 M +31 0 V +4337 0 R +-31 0 V +473 2066 M +31 0 V +4337 0 R +-31 0 V +473 2144 M +31 0 V +4337 0 R +-31 0 V +473 2222 M +31 0 V +4337 0 R +-31 0 V +473 2300 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2300 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 25)] +] -40.0 MRshow +1.000 UL +LTb +473 2377 M +31 0 V +4337 0 R +-31 0 V +473 2455 M +31 0 V +4337 0 R +-31 0 V +473 2533 M +31 0 V +4337 0 R +-31 0 V +473 2611 M +31 0 V +4337 0 R +-31 0 V +473 2689 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2689 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 30)] +] -40.0 MRshow +1.000 UL +LTb +473 2767 M +31 0 V +4337 0 R +-31 0 V +473 2845 M +31 0 V +4337 0 R +-31 0 V +473 2923 M +31 0 V +4337 0 R +-31 0 V +473 3001 M +31 0 V +4337 0 R +-31 0 V +473 3079 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3079 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 35)] +] -40.0 MRshow +1.000 UL +LTb +473 3156 M +31 0 V +4337 0 R +-31 0 V +473 3234 M +31 0 V +4337 0 R +-31 0 V +473 3312 M +31 0 V +4337 0 R +-31 0 V +473 3390 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 40)] +] -40.0 MRshow +1.000 UL +LTb +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Tradeoff distance)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3257 M +[ [(Helvetica) 130.0 0.0 true true 0 (10% static power)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1.000 1827 3230 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 921 352 88 2178 BoxColFill +0.10 0.10 0.44 C 1.000 1467 352 88 2060 BoxColFill +0.10 0.10 0.44 C 1.000 2013 352 88 1862 BoxColFill +0.10 0.10 0.44 C 1.000 2559 352 88 2335 BoxColFill +0.10 0.10 0.44 C 1.000 3105 352 88 2705 BoxColFill +0.10 0.10 0.44 C 1.000 3651 352 88 2692 BoxColFill +0.10 0.10 0.44 C 1.000 4197 352 88 2534 BoxColFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.24 0.70 0.44 C LCb setrgbcolor +1761 3147 M +[ [(Helvetica) 130.0 0.0 true true 0 (20% static power)] +] -43.3 MRshow +LT1 +0.24 0.70 0.44 C 1.000 1827 3120 327 55 BoxColFill +0.24 0.70 0.44 C 1.000 1030 352 88 1855 BoxColFill +0.24 0.70 0.44 C 1.000 1576 352 88 2234 BoxColFill +0.24 0.70 0.44 C 1.000 2122 352 88 1856 BoxColFill +0.24 0.70 0.44 C 1.000 2668 352 88 1614 BoxColFill +0.24 0.70 0.44 C 1.000 3214 352 88 2588 BoxColFill +0.24 0.70 0.44 C 1.000 3760 352 88 2516 BoxColFill +0.24 0.70 0.44 C 1.000 4306 352 88 1797 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +1.00 0.71 0.76 C LCb setrgbcolor +1761 3037 M +[ [(Helvetica) 130.0 0.0 true true 0 (30% static power)] +] -43.3 MRshow +LT0 +1.00 0.71 0.76 C 1.000 1827 3010 327 55 BoxColFill +1.00 0.71 0.76 C 1.000 1139 352 88 266 BoxColFill +1.00 0.71 0.76 C 1.000 1685 352 88 1018 BoxColFill +1.00 0.71 0.76 C 1.000 2231 352 88 1832 BoxColFill +1.00 0.71 0.76 C 1.000 2777 352 88 359 BoxColFill +1.00 0.71 0.76 C 1.000 3323 352 88 1466 BoxColFill +1.00 0.71 0.76 C 1.000 3869 352 88 1074 BoxColFill +1.00 0.71 0.76 C 1.000 4415 352 88 650 BoxColFill +% End plot #3 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/edp_dist.eps b/mpi-energy2-extension/fig/edp_dist.eps new file mode 100644 index 0000000..39e8637 --- /dev/null +++ b/mpi-energy2-extension/fig/edp_dist.eps @@ -0,0 +1,975 @@ +%!PS-Adobe-2.0 +%%Creator: gnuplot 4.6 patchlevel 6 +%%CreationDate: Fri Sep 11 14:26:16 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 410 +%%Orientation: Portrait +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.6 (September 2012) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse + clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 14:26:16 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 (-10)] +] -40.0 MRshow +1.000 UL +LTb +473 414 M +31 0 V +4337 0 R +-31 0 V +473 477 M +31 0 V +4337 0 R +-31 0 V +473 539 M +31 0 V +4337 0 R +-31 0 V +473 601 M +31 0 V +4337 0 R +-31 0 V +473 664 M +63 0 V +4305 0 R +-63 0 V +stroke +407 664 M +[ [(Helvetica) 120.0 0.0 true true 0 (-5)] +] -40.0 MRshow +1.000 UL +LTb +473 726 M +31 0 V +4337 0 R +-31 0 V +473 788 M +31 0 V +4337 0 R +-31 0 V +473 851 M +31 0 V +4337 0 R +-31 0 V +473 913 M +31 0 V +4337 0 R +-31 0 V +473 975 M +63 0 V +4305 0 R +-63 0 V +stroke +407 975 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 1038 M +31 0 V +4337 0 R +-31 0 V +473 1100 M +31 0 V +4337 0 R +-31 0 V +473 1162 M +31 0 V +4337 0 R +-31 0 V +473 1224 M +31 0 V +4337 0 R +-31 0 V +473 1287 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1287 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 5)] +] -40.0 MRshow +1.000 UL +LTb +473 1349 M +31 0 V +4337 0 R +-31 0 V +473 1411 M +31 0 V +4337 0 R +-31 0 V +473 1474 M +31 0 V +4337 0 R +-31 0 V +473 1536 M +31 0 V +4337 0 R +-31 0 V +473 1598 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1598 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 10)] +] -40.0 MRshow +1.000 UL +LTb +473 1661 M +31 0 V +4337 0 R +-31 0 V +473 1723 M +31 0 V +4337 0 R +-31 0 V +473 1785 M +31 0 V +4337 0 R +-31 0 V +473 1848 M +31 0 V +4337 0 R +-31 0 V +473 1910 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1910 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +473 1972 M +31 0 V +4337 0 R +-31 0 V +473 2035 M +31 0 V +4337 0 R +-31 0 V +473 2097 M +31 0 V +4337 0 R +-31 0 V +473 2159 M +31 0 V +4337 0 R +-31 0 V +473 2222 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2222 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 20)] +] -40.0 MRshow +1.000 UL +LTb +473 2284 M +31 0 V +4337 0 R +-31 0 V +473 2346 M +31 0 V +4337 0 R +-31 0 V +473 2409 M +31 0 V +4337 0 R +-31 0 V +473 2471 M +31 0 V +4337 0 R +-31 0 V +473 2533 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2533 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 25)] +] -40.0 MRshow +1.000 UL +LTb +473 2596 M +31 0 V +4337 0 R +-31 0 V +473 2658 M +31 0 V +4337 0 R +-31 0 V +473 2720 M +31 0 V +4337 0 R +-31 0 V +473 2782 M +31 0 V +4337 0 R +-31 0 V +473 2845 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2845 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 30)] +] -40.0 MRshow +1.000 UL +LTb +473 2907 M +31 0 V +4337 0 R +-31 0 V +473 2969 M +31 0 V +4337 0 R +-31 0 V +473 3032 M +31 0 V +4337 0 R +-31 0 V +473 3094 M +31 0 V +4337 0 R +-31 0 V +473 3156 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3156 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 35)] +] -40.0 MRshow +1.000 UL +LTb +473 3219 M +31 0 V +4337 0 R +-31 0 V +473 3281 M +31 0 V +4337 0 R +-31 0 V +473 3343 M +31 0 V +4337 0 R +-31 0 V +473 3406 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 40)] +] -40.0 MRshow +1.000 UL +LTb +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Tradeoff distance)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1652 3288 M +[ [(Helvetica) 130.0 0.0 true true 0 (EDP/ one site)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1718 3261 327 55 40 45 2 PatternFill +0.10 0.10 0.44 C 892 667 73 309 40 45 2 PatternFill +0.10 0.10 0.44 C 1438 975 73 343 40 45 2 PatternFill +0.10 0.10 0.44 C 1984 975 73 642 40 45 2 PatternFill +0.10 0.10 0.44 C 2530 975 73 274 40 45 2 PatternFill +0.10 0.10 0.44 C 3076 975 73 385 40 45 2 PatternFill +0.10 0.10 0.44 C 3622 975 73 452 40 45 2 PatternFill +0.10 0.10 0.44 C 4168 975 73 682 40 45 2 PatternFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.10 0.10 0.44 C LCb setrgbcolor +1652 3178 M +[ [(Helvetica) 130.0 0.0 true true 0 (Maxdist/ one site)] +] -43.3 MRshow +LT1 +0.10 0.10 0.44 C 1.000 1718 3151 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 983 975 73 1484 BoxColFill +0.10 0.10 0.44 C 1.000 1529 975 73 1787 BoxColFill +0.10 0.10 0.44 C 1.000 2075 975 73 1610 BoxColFill +0.10 0.10 0.44 C 1.000 2621 975 73 1292 BoxColFill +0.10 0.10 0.44 C 1.000 3167 975 73 2071 BoxColFill +0.10 0.10 0.44 C 1.000 3713 975 73 2013 BoxColFill +0.10 0.10 0.44 C 1.000 4259 975 73 1438 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +0.00 0.39 0.00 C LCb setrgbcolor +1652 3068 M +[ [(Helvetica) 130.0 0.0 true true 0 (EDP/ two sites)] +] -43.3 MRshow +LT0 +0.00 0.39 0.00 C 1718 3041 327 55 80 -45 1 PatternFill +0.00 0.39 0.00 C 1074 636 73 340 80 -45 1 PatternFill +0.00 0.39 0.00 C 1620 975 73 573 80 -45 1 PatternFill +0.00 0.39 0.00 C 2166 571 73 405 80 -45 1 PatternFill +0.00 0.39 0.00 C 2712 975 73 186 80 -45 1 PatternFill +0.00 0.39 0.00 C 3258 975 73 295 80 -45 1 PatternFill +0.00 0.39 0.00 C 3804 975 73 782 80 -45 1 PatternFill +0.00 0.39 0.00 C 4350 975 73 732 80 -45 1 PatternFill +% End plot #3 +% Begin plot #4 +1.000 UL +LT3 +0.94 0.50 0.50 C LCb setrgbcolor +1652 2958 M +[ [(Helvetica) 130.0 0.0 true true 0 (Maxdist/ two sites)] +] -43.3 MRshow +LT3 +0.94 0.50 0.50 C 1.000 1718 2931 327 55 BoxColFill +0.94 0.50 0.50 C 1.000 1165 975 73 977 BoxColFill +0.94 0.50 0.50 C 1.000 1711 975 73 515 BoxColFill +0.94 0.50 0.50 C 1.000 2257 975 73 279 BoxColFill +0.94 0.50 0.50 C 1.000 2803 975 73 469 BoxColFill +0.94 0.50 0.50 C 1.000 3349 975 73 1029 BoxColFill +0.94 0.50 0.50 C 1.000 3895 975 73 1588 BoxColFill +0.94 0.50 0.50 C 1.000 4441 975 73 1018 BoxColFill +% End plot #4 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/edp_eng.eps b/mpi-energy2-extension/fig/edp_eng.eps new file mode 100644 index 0000000..45defd5 --- /dev/null +++ b/mpi-energy2-extension/fig/edp_eng.eps @@ -0,0 +1,931 @@ +%!PS-Adobe-2.0 +%%Creator: gnuplot 4.6 patchlevel 6 +%%CreationDate: Fri Sep 11 14:26:03 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 410 +%%Orientation: Portrait +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.6 (September 2012) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse + clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 14:26:03 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 426 M +31 0 V +4337 0 R +-31 0 V +473 500 M +31 0 V +4337 0 R +-31 0 V +473 575 M +31 0 V +4337 0 R +-31 0 V +473 649 M +31 0 V +4337 0 R +-31 0 V +473 723 M +63 0 V +4305 0 R +-63 0 V +stroke +407 723 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 5)] +] -40.0 MRshow +1.000 UL +LTb +473 797 M +31 0 V +4337 0 R +-31 0 V +473 871 M +31 0 V +4337 0 R +-31 0 V +473 946 M +31 0 V +4337 0 R +-31 0 V +473 1020 M +31 0 V +4337 0 R +-31 0 V +473 1094 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1094 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 10)] +] -40.0 MRshow +1.000 UL +LTb +473 1168 M +31 0 V +4337 0 R +-31 0 V +473 1242 M +31 0 V +4337 0 R +-31 0 V +473 1316 M +31 0 V +4337 0 R +-31 0 V +473 1391 M +31 0 V +4337 0 R +-31 0 V +473 1465 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1465 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +473 1539 M +31 0 V +4337 0 R +-31 0 V +473 1613 M +31 0 V +4337 0 R +-31 0 V +473 1687 M +31 0 V +4337 0 R +-31 0 V +473 1762 M +31 0 V +4337 0 R +-31 0 V +473 1836 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1836 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 20)] +] -40.0 MRshow +1.000 UL +LTb +473 1910 M +31 0 V +4337 0 R +-31 0 V +473 1984 M +31 0 V +4337 0 R +-31 0 V +473 2058 M +31 0 V +4337 0 R +-31 0 V +473 2133 M +31 0 V +4337 0 R +-31 0 V +473 2207 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2207 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 25)] +] -40.0 MRshow +1.000 UL +LTb +473 2281 M +31 0 V +4337 0 R +-31 0 V +473 2355 M +31 0 V +4337 0 R +-31 0 V +473 2429 M +31 0 V +4337 0 R +-31 0 V +473 2504 M +31 0 V +4337 0 R +-31 0 V +473 2578 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2578 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 30)] +] -40.0 MRshow +1.000 UL +LTb +473 2652 M +31 0 V +4337 0 R +-31 0 V +473 2726 M +31 0 V +4337 0 R +-31 0 V +473 2800 M +31 0 V +4337 0 R +-31 0 V +473 2874 M +31 0 V +4337 0 R +-31 0 V +473 2949 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2949 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 35)] +] -40.0 MRshow +1.000 UL +LTb +473 3023 M +31 0 V +4337 0 R +-31 0 V +473 3097 M +31 0 V +4337 0 R +-31 0 V +473 3171 M +31 0 V +4337 0 R +-31 0 V +473 3245 M +31 0 V +4337 0 R +-31 0 V +473 3320 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3320 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 40)] +] -40.0 MRshow +1.000 UL +LTb +473 3394 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +31 0 V +4337 0 R +-31 0 V +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Energy saving)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1652 3339 M +[ [(Helvetica) 130.0 0.0 true true 0 (EDP/ one site)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1718 3312 327 55 40 45 2 PatternFill +0.10 0.10 0.44 C 892 352 73 797 40 45 2 PatternFill +0.10 0.10 0.44 C 1438 352 73 561 40 45 2 PatternFill +0.10 0.10 0.44 C 1984 352 73 1128 40 45 2 PatternFill +0.10 0.10 0.44 C 2530 352 73 402 40 45 2 PatternFill +0.10 0.10 0.44 C 3076 352 73 711 40 45 2 PatternFill +0.10 0.10 0.44 C 3622 352 73 580 40 45 2 PatternFill +0.10 0.10 0.44 C 4168 352 73 891 40 45 2 PatternFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.10 0.10 0.44 C LCb setrgbcolor +1652 3229 M +[ [(Helvetica) 130.0 0.0 true true 0 (Maxdist/ one site)] +] -43.3 MRshow +LT1 +0.10 0.10 0.44 C 1.000 1718 3202 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 983 352 73 2245 BoxColFill +0.10 0.10 0.44 C 1.000 1529 352 73 2540 BoxColFill +0.10 0.10 0.44 C 1.000 2075 352 73 2028 BoxColFill +0.10 0.10 0.44 C 1.000 2621 352 73 1796 BoxColFill +0.10 0.10 0.44 C 1.000 3167 352 73 2675 BoxColFill +0.10 0.10 0.44 C 1.000 3713 352 73 2529 BoxColFill +0.10 0.10 0.44 C 1.000 4259 352 73 1784 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +0.00 0.39 0.00 C LCb setrgbcolor +1652 3119 M +[ [(Helvetica) 130.0 0.0 true true 0 (EDP/ two sites)] +] -43.3 MRshow +LT0 +0.00 0.39 0.00 C 1718 3092 327 55 80 -45 1 PatternFill +0.00 0.39 0.00 C 1074 352 73 189 80 -45 1 PatternFill +0.00 0.39 0.00 C 1620 352 73 687 80 -45 1 PatternFill +0.00 0.39 0.00 C 2166 352 73 1880 80 -45 1 PatternFill +0.00 0.39 0.00 C 2712 352 73 270 80 -45 1 PatternFill +0.00 0.39 0.00 C 3258 352 73 1195 80 -45 1 PatternFill +0.00 0.39 0.00 C 3804 352 73 1095 80 -45 1 PatternFill +0.00 0.39 0.00 C 4350 352 73 967 80 -45 1 PatternFill +% End plot #3 +% Begin plot #4 +1.000 UL +LT3 +0.94 0.50 0.50 C LCb setrgbcolor +1652 3009 M +[ [(Helvetica) 130.0 0.0 true true 0 (Maxdist/ two sites)] +] -43.3 MRshow +LT3 +0.94 0.50 0.50 C 1.000 1718 2982 327 55 BoxColFill +0.94 0.50 0.50 C 1.000 1165 352 73 1474 BoxColFill +0.94 0.50 0.50 C 1.000 1711 352 73 1610 BoxColFill +0.94 0.50 0.50 C 1.000 2257 352 73 2339 BoxColFill +0.94 0.50 0.50 C 1.000 2803 352 73 586 BoxColFill +0.94 0.50 0.50 C 1.000 3349 352 73 1672 BoxColFill +0.94 0.50 0.50 C 1.000 3895 352 73 2368 BoxColFill +0.94 0.50 0.50 C 1.000 4441 352 73 1270 BoxColFill +% End plot #4 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/edp_per.eps b/mpi-energy2-extension/fig/edp_per.eps new file mode 100644 index 0000000..7e2f083 --- /dev/null +++ b/mpi-energy2-extension/fig/edp_per.eps @@ -0,0 +1,897 @@ +%!PS-Adobe-2.0 +%%Creator: gnuplot 4.6 patchlevel 6 +%%CreationDate: Fri Sep 11 14:25:50 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 410 +%%Orientation: Portrait +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.6 (September 2012) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse + clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 14:25:50 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 441 M +31 0 V +4337 0 R +-31 0 V +473 530 M +31 0 V +4337 0 R +-31 0 V +473 619 M +31 0 V +4337 0 R +-31 0 V +473 708 M +31 0 V +4337 0 R +-31 0 V +473 797 M +63 0 V +4305 0 R +-63 0 V +stroke +407 797 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 5)] +] -40.0 MRshow +1.000 UL +LTb +473 886 M +31 0 V +4337 0 R +-31 0 V +473 975 M +31 0 V +4337 0 R +-31 0 V +473 1064 M +31 0 V +4337 0 R +-31 0 V +473 1153 M +31 0 V +4337 0 R +-31 0 V +473 1242 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1242 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 10)] +] -40.0 MRshow +1.000 UL +LTb +473 1331 M +31 0 V +4337 0 R +-31 0 V +473 1420 M +31 0 V +4337 0 R +-31 0 V +473 1509 M +31 0 V +4337 0 R +-31 0 V +473 1598 M +31 0 V +4337 0 R +-31 0 V +473 1687 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1687 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +473 1776 M +31 0 V +4337 0 R +-31 0 V +473 1865 M +31 0 V +4337 0 R +-31 0 V +473 1955 M +31 0 V +4337 0 R +-31 0 V +473 2044 M +31 0 V +4337 0 R +-31 0 V +473 2133 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2133 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 20)] +] -40.0 MRshow +1.000 UL +LTb +473 2222 M +31 0 V +4337 0 R +-31 0 V +473 2311 M +31 0 V +4337 0 R +-31 0 V +473 2400 M +31 0 V +4337 0 R +-31 0 V +473 2489 M +31 0 V +4337 0 R +-31 0 V +473 2578 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2578 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 25)] +] -40.0 MRshow +1.000 UL +LTb +473 2667 M +31 0 V +4337 0 R +-31 0 V +473 2756 M +31 0 V +4337 0 R +-31 0 V +473 2845 M +31 0 V +4337 0 R +-31 0 V +473 2934 M +31 0 V +4337 0 R +-31 0 V +473 3023 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3023 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 30)] +] -40.0 MRshow +1.000 UL +LTb +473 3112 M +31 0 V +4337 0 R +-31 0 V +473 3201 M +31 0 V +4337 0 R +-31 0 V +473 3290 M +31 0 V +4337 0 R +-31 0 V +473 3379 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 35)] +] -40.0 MRshow +1.000 UL +LTb +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Performance degradation)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1652 3235 M +[ [(Helvetica) 130.0 0.0 true true 0 (EDP/ one site)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1718 3208 327 55 40 45 2 PatternFill +0.10 0.10 0.44 C 892 352 73 1398 40 45 2 PatternFill +0.10 0.10 0.44 C 1438 352 73 184 40 45 2 PatternFill +0.10 0.10 0.44 C 1984 352 73 437 40 45 2 PatternFill +0.10 0.10 0.44 C 2530 352 73 93 40 45 2 PatternFill +0.10 0.10 0.44 C 3076 352 73 305 40 45 2 PatternFill +0.10 0.10 0.44 C 3622 352 73 51 40 45 2 PatternFill +0.10 0.10 0.44 C 4168 352 73 94 40 45 2 PatternFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.10 0.10 0.44 C LCb setrgbcolor +1652 3125 M +[ [(Helvetica) 130.0 0.0 true true 0 (Maxdist/ one site)] +] -43.3 MRshow +LT1 +0.10 0.10 0.44 C 1.000 1718 3098 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 983 352 73 575 BoxColFill +0.10 0.10 0.44 C 1.000 1529 352 73 496 BoxColFill +0.10 0.10 0.44 C 1.000 2075 352 73 135 BoxColFill +0.10 0.10 0.44 C 1.000 2621 352 73 310 BoxColFill +0.10 0.10 0.44 C 1.000 3167 352 73 253 BoxColFill +0.10 0.10 0.44 C 1.000 3713 352 73 160 BoxColFill +0.10 0.10 0.44 C 1.000 4259 352 73 88 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +0.00 0.39 0.00 C LCb setrgbcolor +1652 3015 M +[ [(Helvetica) 130.0 0.0 true true 0 (EDP/ two sites)] +] -43.3 MRshow +LT0 +0.00 0.39 0.00 C 1718 2988 327 55 80 -45 1 PatternFill +0.00 0.39 0.00 C 1074 352 73 712 80 -45 1 PatternFill +0.00 0.39 0.00 C 1620 352 73 10 80 -45 1 PatternFill +0.00 0.39 0.00 C 2166 352 73 2833 80 -45 1 PatternFill +0.00 0.39 0.00 C 2712 352 73 60 80 -45 1 PatternFill +0.00 0.39 0.00 C 3258 352 73 1013 80 -45 1 PatternFill +0.00 0.39 0.00 C 3804 352 73 198 80 -45 1 PatternFill +0.00 0.39 0.00 C 4350 352 73 116 80 -45 1 PatternFill +% End plot #3 +% Begin plot #4 +1.000 UL +LT3 +0.94 0.50 0.50 C LCb setrgbcolor +1652 2905 M +[ [(Helvetica) 130.0 0.0 true true 0 (Maxdist/ two sites)] +] -43.3 MRshow +LT3 +0.94 0.50 0.50 C 1.000 1718 2878 327 55 BoxColFill +0.94 0.50 0.50 C 1.000 1165 352 73 374 BoxColFill +0.94 0.50 0.50 C 1.000 1711 352 73 1197 BoxColFill +0.94 0.50 0.50 C 1.000 2257 352 73 2409 BoxColFill +0.94 0.50 0.50 C 1.000 2803 352 73 37 BoxColFill +0.94 0.50 0.50 C 1.000 3349 352 73 538 BoxColFill +0.94 0.50 0.50 C 1.000 3895 352 73 574 BoxColFill +0.94 0.50 0.50 C 1.000 4441 352 73 71 BoxColFill +% End plot #4 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/eng_con.eps b/mpi-energy2-extension/fig/eng_con.eps new file mode 100644 index 0000000..3076d23 --- /dev/null +++ b/mpi-energy2-extension/fig/eng_con.eps @@ -0,0 +1,1015 @@ +%!PS-Adobe-2.0 +%%Creator: gnuplot 4.6 patchlevel 6 +%%CreationDate: Fri Sep 11 14:21:34 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 410 +%%Orientation: Portrait +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.6 (September 2012) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse + clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 14:21:34 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +803 352 M +63 0 V +3975 0 R +-63 0 V +stroke +737 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +803 414 M +31 0 V +4007 0 R +-31 0 V +803 477 M +31 0 V +4007 0 R +-31 0 V +803 539 M +31 0 V +4007 0 R +-31 0 V +803 601 M +31 0 V +4007 0 R +-31 0 V +803 664 M +63 0 V +3975 0 R +-63 0 V +stroke +737 664 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 300000)] +] -40.0 MRshow +1.000 UL +LTb +803 726 M +31 0 V +4007 0 R +-31 0 V +803 788 M +31 0 V +4007 0 R +-31 0 V +803 851 M +31 0 V +4007 0 R +-31 0 V +803 913 M +31 0 V +4007 0 R +-31 0 V +803 975 M +63 0 V +3975 0 R +-63 0 V +stroke +737 975 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 600000)] +] -40.0 MRshow +1.000 UL +LTb +803 1038 M +31 0 V +4007 0 R +-31 0 V +803 1100 M +31 0 V +4007 0 R +-31 0 V +803 1162 M +31 0 V +4007 0 R +-31 0 V +803 1224 M +31 0 V +4007 0 R +-31 0 V +803 1287 M +63 0 V +3975 0 R +-63 0 V +stroke +737 1287 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 900000)] +] -40.0 MRshow +1.000 UL +LTb +803 1349 M +31 0 V +4007 0 R +-31 0 V +803 1411 M +31 0 V +4007 0 R +-31 0 V +803 1474 M +31 0 V +4007 0 R +-31 0 V +803 1536 M +31 0 V +4007 0 R +-31 0 V +803 1598 M +63 0 V +3975 0 R +-63 0 V +stroke +737 1598 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 1.2e+06)] +] -40.0 MRshow +1.000 UL +LTb +803 1661 M +31 0 V +4007 0 R +-31 0 V +803 1723 M +31 0 V +4007 0 R +-31 0 V +803 1785 M +31 0 V +4007 0 R +-31 0 V +803 1848 M +31 0 V +4007 0 R +-31 0 V +803 1910 M +63 0 V +3975 0 R +-63 0 V +stroke +737 1910 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 1.5e+06)] +] -40.0 MRshow +1.000 UL +LTb +803 1972 M +31 0 V +4007 0 R +-31 0 V +803 2035 M +31 0 V +4007 0 R +-31 0 V +803 2097 M +31 0 V +4007 0 R +-31 0 V +803 2159 M +31 0 V +4007 0 R +-31 0 V +803 2222 M +63 0 V +3975 0 R +-63 0 V +stroke +737 2222 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 1.8e+06)] +] -40.0 MRshow +1.000 UL +LTb +803 2284 M +31 0 V +4007 0 R +-31 0 V +803 2346 M +31 0 V +4007 0 R +-31 0 V +803 2409 M +31 0 V +4007 0 R +-31 0 V +803 2471 M +31 0 V +4007 0 R +-31 0 V +803 2533 M +63 0 V +3975 0 R +-63 0 V +stroke +737 2533 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 2.1e+06)] +] -40.0 MRshow +1.000 UL +LTb +803 2596 M +31 0 V +4007 0 R +-31 0 V +803 2658 M +31 0 V +4007 0 R +-31 0 V +803 2720 M +31 0 V +4007 0 R +-31 0 V +803 2782 M +31 0 V +4007 0 R +-31 0 V +803 2845 M +63 0 V +3975 0 R +-63 0 V +stroke +737 2845 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 2.4e+06)] +] -40.0 MRshow +1.000 UL +LTb +803 2907 M +31 0 V +4007 0 R +-31 0 V +803 2969 M +31 0 V +4007 0 R +-31 0 V +803 3032 M +31 0 V +4007 0 R +-31 0 V +803 3094 M +31 0 V +4007 0 R +-31 0 V +803 3156 M +63 0 V +3975 0 R +-63 0 V +stroke +737 3156 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 2.7e+06)] +] -40.0 MRshow +1.000 UL +LTb +803 3219 M +31 0 V +4007 0 R +-31 0 V +803 3281 M +31 0 V +4007 0 R +-31 0 V +803 3343 M +31 0 V +4007 0 R +-31 0 V +803 3406 M +31 0 V +4007 0 R +-31 0 V +803 3468 M +63 0 V +3975 0 R +-63 0 V +stroke +737 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 3e+06)] +] -40.0 MRshow +1.000 UL +LTb +803 352 M +0 63 V +0 3053 R +0 -63 V +stroke +803 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1476 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1476 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2149 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2149 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2822 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2822 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3495 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3495 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +4168 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4168 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4841 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4841 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +803 3468 N +803 352 L +4038 0 V +0 3116 V +-4038 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Energy consumption)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2822 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UP +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +2094 3205 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site/ one core)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 2160 3205 M +327 0 V +803 768 M +1476 427 L +673 92 V +673 625 V +3495 610 L +673 1288 V +4841 705 L +803 768 Pls +1476 427 Pls +2149 519 Pls +2822 1144 Pls +3495 610 Pls +4168 1898 Pls +4841 705 Pls +2323 3205 Pls +% End plot #1 +% Begin plot #2 +1.000 UP +1.000 UL +LT1 +1.00 0.00 0.00 C LCb setrgbcolor +2094 3095 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site/ multicores)] +] -43.3 MRshow +LT1 +1.00 0.00 0.00 C 2160 3095 M +327 0 V +803 1231 M +1476 494 L +673 48 V +673 355 V +3495 718 L +673 2118 V +4841 631 L +803 1231 Crs +1476 494 Crs +2149 542 Crs +2822 897 Crs +3495 718 Crs +4168 2836 Crs +4841 631 Crs +2323 3095 Crs +% End plot #2 +% Begin plot #3 +1.000 UP +1.000 UL +LT2 +0.00 0.39 0.00 C LCb setrgbcolor +2094 2985 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites/ one core)] +] -43.3 MRshow +LT2 +0.00 0.39 0.00 C 2160 2985 M +327 0 V +803 1478 M +1476 479 L +673 37 V +673 1065 V +673 -57 V +673 1276 V +4841 1107 L +803 1478 Star +1476 479 Star +2149 516 Star +2822 1581 Star +3495 1524 Star +4168 2800 Star +4841 1107 Star +2323 2985 Star +% End plot #3 +% Begin plot #4 +1.000 UP +1.000 UL +LT3 +0.85 0.65 0.13 C LCb setrgbcolor +2094 2875 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites/ multicores)] +] -43.3 MRshow +LT3 +0.85 0.65 0.13 C 2160 2875 M +327 0 V +803 993 M +1476 469 L +673 50 V +673 1140 V +3495 745 L +673 2301 V +4841 913 L +803 993 Box +1476 469 Box +2149 519 Box +2822 1659 Box +3495 745 Box +4168 3046 Box +4841 913 Box +2323 2875 Box +% End plot #4 +1.000 UL +LTb +803 3468 N +803 352 L +4038 0 V +0 3116 V +-4038 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/eng_pow.eps b/mpi-energy2-extension/fig/eng_pow.eps new file mode 100644 index 0000000..24fd7f7 --- /dev/null +++ b/mpi-energy2-extension/fig/eng_pow.eps @@ -0,0 +1,932 @@ +%!PS-Adobe-2.0 +%%Creator: gnuplot 4.6 patchlevel 6 +%%CreationDate: Fri Sep 11 14:25:11 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 410 +%%Orientation: Portrait +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.6 (September 2012) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse + clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 14:25:11 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 421 M +31 0 V +4337 0 R +-31 0 V +473 490 M +31 0 V +4337 0 R +-31 0 V +473 560 M +31 0 V +4337 0 R +-31 0 V +473 629 M +31 0 V +4337 0 R +-31 0 V +473 698 M +63 0 V +4305 0 R +-63 0 V +stroke +407 698 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 5)] +] -40.0 MRshow +1.000 UL +LTb +473 767 M +31 0 V +4337 0 R +-31 0 V +473 837 M +31 0 V +4337 0 R +-31 0 V +473 906 M +31 0 V +4337 0 R +-31 0 V +473 975 M +31 0 V +4337 0 R +-31 0 V +473 1044 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1044 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 10)] +] -40.0 MRshow +1.000 UL +LTb +473 1114 M +31 0 V +4337 0 R +-31 0 V +473 1183 M +31 0 V +4337 0 R +-31 0 V +473 1252 M +31 0 V +4337 0 R +-31 0 V +473 1321 M +31 0 V +4337 0 R +-31 0 V +473 1391 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1391 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +473 1460 M +31 0 V +4337 0 R +-31 0 V +473 1529 M +31 0 V +4337 0 R +-31 0 V +473 1598 M +31 0 V +4337 0 R +-31 0 V +473 1668 M +31 0 V +4337 0 R +-31 0 V +473 1737 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1737 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 20)] +] -40.0 MRshow +1.000 UL +LTb +473 1806 M +31 0 V +4337 0 R +-31 0 V +473 1875 M +31 0 V +4337 0 R +-31 0 V +473 1945 M +31 0 V +4337 0 R +-31 0 V +473 2014 M +31 0 V +4337 0 R +-31 0 V +473 2083 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2083 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 25)] +] -40.0 MRshow +1.000 UL +LTb +473 2152 M +31 0 V +4337 0 R +-31 0 V +473 2222 M +31 0 V +4337 0 R +-31 0 V +473 2291 M +31 0 V +4337 0 R +-31 0 V +473 2360 M +31 0 V +4337 0 R +-31 0 V +473 2429 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2429 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 30)] +] -40.0 MRshow +1.000 UL +LTb +473 2499 M +31 0 V +4337 0 R +-31 0 V +473 2568 M +31 0 V +4337 0 R +-31 0 V +473 2637 M +31 0 V +4337 0 R +-31 0 V +473 2706 M +31 0 V +4337 0 R +-31 0 V +473 2776 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2776 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 35)] +] -40.0 MRshow +1.000 UL +LTb +473 2845 M +31 0 V +4337 0 R +-31 0 V +473 2914 M +31 0 V +4337 0 R +-31 0 V +473 2983 M +31 0 V +4337 0 R +-31 0 V +473 3053 M +31 0 V +4337 0 R +-31 0 V +473 3122 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3122 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 40)] +] -40.0 MRshow +1.000 UL +LTb +473 3191 M +31 0 V +4337 0 R +-31 0 V +473 3260 M +31 0 V +4337 0 R +-31 0 V +473 3330 M +31 0 V +4337 0 R +-31 0 V +473 3399 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 45)] +] -40.0 MRshow +1.000 UL +LTb +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Energy saving)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1652 3275 M +[ [(Helvetica) 130.0 0.0 true true 0 (10% static power)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1.000 1718 3248 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 921 352 88 2602 BoxColFill +0.10 0.10 0.44 C 1.000 1467 352 88 2605 BoxColFill +0.10 0.10 0.44 C 1.000 2013 352 88 1749 BoxColFill +0.10 0.10 0.44 C 1.000 2559 352 88 2310 BoxColFill +0.10 0.10 0.44 C 1.000 3105 352 88 2771 BoxColFill +0.10 0.10 0.44 C 1.000 3651 352 88 2706 BoxColFill +0.10 0.10 0.44 C 1.000 4197 352 88 2566 BoxColFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.24 0.70 0.44 C LCb setrgbcolor +1652 3165 M +[ [(Helvetica) 130.0 0.0 true true 0 (20% static power)] +] -43.3 MRshow +LT1 +0.24 0.70 0.44 C 1.000 1718 3138 327 55 BoxColFill +0.24 0.70 0.44 C 1.000 1030 352 88 2096 BoxColFill +0.24 0.70 0.44 C 1.000 1576 352 88 2371 BoxColFill +0.24 0.70 0.44 C 1.000 2122 352 88 1753 BoxColFill +0.24 0.70 0.44 C 1.000 2668 352 88 1676 BoxColFill +0.24 0.70 0.44 C 1.000 3214 352 88 2497 BoxColFill +0.24 0.70 0.44 C 1.000 3760 352 88 2360 BoxColFill +0.24 0.70 0.44 C 1.000 4306 352 88 1665 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +1.00 0.71 0.76 C LCb setrgbcolor +1652 3055 M +[ [(Helvetica) 130.0 0.0 true true 0 (30% static power)] +] -43.3 MRshow +LT0 +1.00 0.71 0.76 C 1.000 1718 3028 327 55 BoxColFill +1.00 0.71 0.76 C 1.000 1139 352 88 671 BoxColFill +1.00 0.71 0.76 C 1.000 1685 352 88 942 BoxColFill +1.00 0.71 0.76 C 1.000 2231 352 88 1745 BoxColFill +1.00 0.71 0.76 C 1.000 2777 352 88 326 BoxColFill +1.00 0.71 0.76 C 1.000 3323 352 88 1464 BoxColFill +1.00 0.71 0.76 C 1.000 3869 352 88 1038 BoxColFill +1.00 0.71 0.76 C 1.000 4415 352 88 640 BoxColFill +% End plot #3 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/eng_s.eps b/mpi-energy2-extension/fig/eng_s.eps new file mode 100644 index 0000000..f359b90 --- /dev/null +++ b/mpi-energy2-extension/fig/eng_s.eps @@ -0,0 +1,949 @@ +%!PS-Adobe-2.0 +%%Creator: gnuplot 4.6 patchlevel 6 +%%CreationDate: Fri Sep 11 14:27:46 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 410 +%%Orientation: Portrait +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.6 (September 2012) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse + clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 14:27:46 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 421 M +31 0 V +4337 0 R +-31 0 V +473 490 M +31 0 V +4337 0 R +-31 0 V +473 560 M +31 0 V +4337 0 R +-31 0 V +473 629 M +31 0 V +4337 0 R +-31 0 V +473 698 M +63 0 V +4305 0 R +-63 0 V +stroke +407 698 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 5)] +] -40.0 MRshow +1.000 UL +LTb +473 767 M +31 0 V +4337 0 R +-31 0 V +473 837 M +31 0 V +4337 0 R +-31 0 V +473 906 M +31 0 V +4337 0 R +-31 0 V +473 975 M +31 0 V +4337 0 R +-31 0 V +473 1044 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1044 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 10)] +] -40.0 MRshow +1.000 UL +LTb +473 1114 M +31 0 V +4337 0 R +-31 0 V +473 1183 M +31 0 V +4337 0 R +-31 0 V +473 1252 M +31 0 V +4337 0 R +-31 0 V +473 1321 M +31 0 V +4337 0 R +-31 0 V +473 1391 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1391 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +473 1460 M +31 0 V +4337 0 R +-31 0 V +473 1529 M +31 0 V +4337 0 R +-31 0 V +473 1598 M +31 0 V +4337 0 R +-31 0 V +473 1668 M +31 0 V +4337 0 R +-31 0 V +473 1737 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1737 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 20)] +] -40.0 MRshow +1.000 UL +LTb +473 1806 M +31 0 V +4337 0 R +-31 0 V +473 1875 M +31 0 V +4337 0 R +-31 0 V +473 1945 M +31 0 V +4337 0 R +-31 0 V +473 2014 M +31 0 V +4337 0 R +-31 0 V +473 2083 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2083 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 25)] +] -40.0 MRshow +1.000 UL +LTb +473 2152 M +31 0 V +4337 0 R +-31 0 V +473 2222 M +31 0 V +4337 0 R +-31 0 V +473 2291 M +31 0 V +4337 0 R +-31 0 V +473 2360 M +31 0 V +4337 0 R +-31 0 V +473 2429 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2429 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 30)] +] -40.0 MRshow +1.000 UL +LTb +473 2499 M +31 0 V +4337 0 R +-31 0 V +473 2568 M +31 0 V +4337 0 R +-31 0 V +473 2637 M +31 0 V +4337 0 R +-31 0 V +473 2706 M +31 0 V +4337 0 R +-31 0 V +473 2776 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2776 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 35)] +] -40.0 MRshow +1.000 UL +LTb +473 2845 M +31 0 V +4337 0 R +-31 0 V +473 2914 M +31 0 V +4337 0 R +-31 0 V +473 2983 M +31 0 V +4337 0 R +-31 0 V +473 3053 M +31 0 V +4337 0 R +-31 0 V +473 3122 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3122 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 40)] +] -40.0 MRshow +1.000 UL +LTb +473 3191 M +31 0 V +4337 0 R +-31 0 V +473 3260 M +31 0 V +4337 0 R +-31 0 V +473 3330 M +31 0 V +4337 0 R +-31 0 V +473 3399 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 45)] +] -40.0 MRshow +1.000 UL +LTb +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Energy saving)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3275 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site / 16 nodes)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1827 3248 327 55 40 45 2 PatternFill +0.10 0.10 0.44 C 892 352 73 2096 40 45 2 PatternFill +0.10 0.10 0.44 C 1438 352 73 2371 40 45 2 PatternFill +0.10 0.10 0.44 C 1984 352 73 1893 40 45 2 PatternFill +0.10 0.10 0.44 C 2530 352 73 1676 40 45 2 PatternFill +0.10 0.10 0.44 C 3076 352 73 2497 40 45 2 PatternFill +0.10 0.10 0.44 C 3622 352 73 2360 40 45 2 PatternFill +0.10 0.10 0.44 C 4168 352 73 1665 40 45 2 PatternFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3165 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site / 32 nodes)] +] -43.3 MRshow +LT1 +0.10 0.10 0.44 C 1.000 1827 3138 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 983 352 73 1472 BoxColFill +0.10 0.10 0.44 C 1.000 1529 352 73 1339 BoxColFill +0.10 0.10 0.44 C 1.000 2075 352 73 1946 BoxColFill +0.10 0.10 0.44 C 1.000 2621 352 73 1919 BoxColFill +0.10 0.10 0.44 C 1.000 3167 352 73 1983 BoxColFill +0.10 0.10 0.44 C 1.000 3713 352 73 2633 BoxColFill +0.10 0.10 0.44 C 1.000 4259 352 73 1306 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +0.00 0.39 0.00 C LCb setrgbcolor +1761 3055 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites / 16 nodes)] +] -43.3 MRshow +LT0 +0.00 0.39 0.00 C 1827 3028 327 55 80 -45 1 PatternFill +0.00 0.39 0.00 C 1074 352 73 1376 80 -45 1 PatternFill +0.00 0.39 0.00 C 1620 352 73 1503 80 -45 1 PatternFill +0.00 0.39 0.00 C 2166 352 73 2184 80 -45 1 PatternFill +0.00 0.39 0.00 C 2712 352 73 547 80 -45 1 PatternFill +0.00 0.39 0.00 C 3258 352 73 1560 80 -45 1 PatternFill +0.00 0.39 0.00 C 3804 352 73 2211 80 -45 1 PatternFill +0.00 0.39 0.00 C 4350 352 73 1186 80 -45 1 PatternFill +% End plot #3 +% Begin plot #4 +1.000 UL +LT3 +0.94 0.50 0.50 C LCb setrgbcolor +1761 2945 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites / 32 nodes)] +] -43.3 MRshow +LT3 +0.94 0.50 0.50 C 1.000 1827 2918 327 55 BoxColFill +0.94 0.50 0.50 C 1.000 1165 352 73 651 BoxColFill +0.94 0.50 0.50 C 1.000 1711 352 73 1432 BoxColFill +0.94 0.50 0.50 C 1.000 2257 352 73 2069 BoxColFill +0.94 0.50 0.50 C 1.000 2803 352 73 625 BoxColFill +0.94 0.50 0.50 C 1.000 3349 352 73 741 BoxColFill +0.94 0.50 0.50 C 1.000 3895 352 73 2471 BoxColFill +0.94 0.50 0.50 C 1.000 4441 352 73 741 BoxColFill +% End plot #4 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/eng_s_mc.eps b/mpi-energy2-extension/fig/eng_s_mc.eps new file mode 100644 index 0000000..c3c9e84 --- /dev/null +++ b/mpi-energy2-extension/fig/eng_s_mc.eps @@ -0,0 +1,923 @@ +%!PS-Adobe-2.0 +%%Creator: gnuplot 4.6 patchlevel 6 +%%CreationDate: Fri Sep 11 15:29:31 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 410 +%%Orientation: Portrait +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.6 (September 2012) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse + clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 15:29:31 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 430 M +31 0 V +4337 0 R +-31 0 V +473 508 M +31 0 V +4337 0 R +-31 0 V +473 586 M +31 0 V +4337 0 R +-31 0 V +473 664 M +31 0 V +4337 0 R +-31 0 V +473 742 M +63 0 V +4305 0 R +-63 0 V +stroke +407 742 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 5)] +] -40.0 MRshow +1.000 UL +LTb +473 819 M +31 0 V +4337 0 R +-31 0 V +473 897 M +31 0 V +4337 0 R +-31 0 V +473 975 M +31 0 V +4337 0 R +-31 0 V +473 1053 M +31 0 V +4337 0 R +-31 0 V +473 1131 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1131 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 10)] +] -40.0 MRshow +1.000 UL +LTb +473 1209 M +31 0 V +4337 0 R +-31 0 V +473 1287 M +31 0 V +4337 0 R +-31 0 V +473 1365 M +31 0 V +4337 0 R +-31 0 V +473 1443 M +31 0 V +4337 0 R +-31 0 V +473 1521 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1521 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +473 1598 M +31 0 V +4337 0 R +-31 0 V +473 1676 M +31 0 V +4337 0 R +-31 0 V +473 1754 M +31 0 V +4337 0 R +-31 0 V +473 1832 M +31 0 V +4337 0 R +-31 0 V +473 1910 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1910 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 20)] +] -40.0 MRshow +1.000 UL +LTb +473 1988 M +31 0 V +4337 0 R +-31 0 V +473 2066 M +31 0 V +4337 0 R +-31 0 V +473 2144 M +31 0 V +4337 0 R +-31 0 V +473 2222 M +31 0 V +4337 0 R +-31 0 V +473 2300 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2300 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 25)] +] -40.0 MRshow +1.000 UL +LTb +473 2377 M +31 0 V +4337 0 R +-31 0 V +473 2455 M +31 0 V +4337 0 R +-31 0 V +473 2533 M +31 0 V +4337 0 R +-31 0 V +473 2611 M +31 0 V +4337 0 R +-31 0 V +473 2689 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2689 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 30)] +] -40.0 MRshow +1.000 UL +LTb +473 2767 M +31 0 V +4337 0 R +-31 0 V +473 2845 M +31 0 V +4337 0 R +-31 0 V +473 2923 M +31 0 V +4337 0 R +-31 0 V +473 3001 M +31 0 V +4337 0 R +-31 0 V +473 3079 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3079 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 35)] +] -40.0 MRshow +1.000 UL +LTb +473 3156 M +31 0 V +4337 0 R +-31 0 V +473 3234 M +31 0 V +4337 0 R +-31 0 V +473 3312 M +31 0 V +4337 0 R +-31 0 V +473 3390 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 40)] +] -40.0 MRshow +1.000 UL +LTb +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Energy saving)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3257 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites/ one core)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1827 3230 327 55 40 45 2 PatternFill +0.10 0.10 0.44 C 892 352 73 732 40 45 2 PatternFill +0.10 0.10 0.44 C 1438 352 73 1611 40 45 2 PatternFill +0.10 0.10 0.44 C 1984 352 73 2328 40 45 2 PatternFill +0.10 0.10 0.44 C 2530 352 73 703 40 45 2 PatternFill +0.10 0.10 0.44 C 3076 352 73 833 40 45 2 PatternFill +0.10 0.10 0.44 C 3622 352 73 2780 40 45 2 PatternFill +0.10 0.10 0.44 C 4168 352 73 833 40 45 2 PatternFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3147 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites/ multicores)] +] -43.3 MRshow +LT1 +0.10 0.10 0.44 C 1.000 1827 3120 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 983 352 73 1595 BoxColFill +0.10 0.10 0.44 C 1.000 1529 352 73 1967 BoxColFill +0.10 0.10 0.44 C 1.000 2075 352 73 2282 BoxColFill +0.10 0.10 0.44 C 1.000 2621 352 73 1846 BoxColFill +0.10 0.10 0.44 C 1.000 3167 352 73 1682 BoxColFill +0.10 0.10 0.44 C 1.000 3713 352 73 1808 BoxColFill +0.10 0.10 0.44 C 1.000 4259 352 73 1054 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +0.00 0.39 0.00 C LCb setrgbcolor +1761 3037 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site/ one core)] +] -43.3 MRshow +LT0 +0.00 0.39 0.00 C 1827 3010 327 55 80 -45 1 PatternFill +0.00 0.39 0.00 C 1074 352 73 1656 80 -45 1 PatternFill +0.00 0.39 0.00 C 1620 352 73 1506 80 -45 1 PatternFill +0.00 0.39 0.00 C 2166 352 73 2190 80 -45 1 PatternFill +0.00 0.39 0.00 C 2712 352 73 2159 80 -45 1 PatternFill +0.00 0.39 0.00 C 3258 352 73 2231 80 -45 1 PatternFill +0.00 0.39 0.00 C 3804 352 73 2962 80 -45 1 PatternFill +0.00 0.39 0.00 C 4350 352 73 1469 80 -45 1 PatternFill +% End plot #3 +% Begin plot #4 +1.000 UL +LT3 +0.94 0.50 0.50 C LCb setrgbcolor +1761 2927 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site/ multicores)] +] -43.3 MRshow +LT3 +0.94 0.50 0.50 C 1.000 1827 2900 327 55 BoxColFill +0.94 0.50 0.50 C 1.000 1165 352 73 1453 BoxColFill +0.94 0.50 0.50 C 1.000 1711 352 73 1873 BoxColFill +0.94 0.50 0.50 C 1.000 2257 352 73 2153 BoxColFill +0.94 0.50 0.50 C 1.000 2803 352 73 2263 BoxColFill +0.94 0.50 0.50 C 1.000 3349 352 73 1512 BoxColFill +0.94 0.50 0.50 C 1.000 3895 352 73 2584 BoxColFill +0.94 0.50 0.50 C 1.000 4441 352 73 1864 BoxColFill +% End plot #4 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/grid5000.pdf b/mpi-energy2-extension/fig/grid5000.pdf new file mode 100644 index 0000000000000000000000000000000000000000..76478ae4ace07085490769d0a3c58bfdb19f0050 GIT binary patch literal 29146 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 BYbgK# literal 0 HcmV?d00001 diff --git a/mpi-energy2-extension/fig/heter-eps-converted-to.pdf b/mpi-energy2-extension/fig/heter-eps-converted-to.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1d953ebb86e049cb14a4adc8d2b322975213868f GIT binary patch literal 7119 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 literal 0 HcmV?d00001 diff --git a/mpi-energy2-extension/fig/heter.eps b/mpi-energy2-extension/fig/heter.eps new file mode 100644 index 0000000..e012be1 --- /dev/null +++ b/mpi-energy2-extension/fig/heter.eps @@ -0,0 +1,689 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: heter2.eps +%%Creator: gnuplot 4.6 patchlevel 0 +%%CreationDate: Fri May 15 14:32:08 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 320 239 +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -46 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 320 50 lineto 320 239 lineto 50 239 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.4 (August 2010) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + gsave 1 setgray fill grestore clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title (heter2.eps) + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 0) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri May 15 14:32:08 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.050 0.050 scale +0 setgray +newpath +(Helvetica) findfont 140 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {BackgroundColor C 1.000 0 0 5400.00 3780.00 BoxColFill} if +1.000 UL +LTb +686 737 M +63 0 V +4398 0 R +-63 0 V +/Helvetica findfont 220 scalefont setfont +602 737 M +( 0.4) Rshow +/Helvetica findfont 140 scalefont setfont +1.000 UL +LTb +686 1456 M +63 0 V +4398 0 R +-63 0 V +/Helvetica findfont 220 scalefont setfont +-4482 0 R +( 0.6) Rshow +/Helvetica findfont 140 scalefont setfont +1.000 UL +LTb +686 2174 M +63 0 V +4398 0 R +-63 0 V +/Helvetica findfont 220 scalefont setfont +-4482 0 R +( 0.8) Rshow +/Helvetica findfont 140 scalefont setfont +1.000 UL +LTb +686 2893 M +63 0 V +4398 0 R +-63 0 V +/Helvetica findfont 220 scalefont setfont +-4482 0 R +( 1) Rshow +/Helvetica findfont 140 scalefont setfont +1.000 UL +LTb +686 3611 M +63 0 V +4398 0 R +-63 0 V +/Helvetica findfont 220 scalefont setfont +-4482 0 R +( 1.2) Rshow +/Helvetica findfont 140 scalefont setfont +1.000 UL +LTb +1.000 UL +LTb +686 3611 N +686 378 L +4461 0 V +0 3233 V +-4461 0 V +Z stroke +LCb setrgbcolor +/Helvetica findfont 220 scalefont setfont +112 1994 M +currentpoint gsave translate -270 rotate 0 0 M +(Normalized energy and performance) Cshow +grestore +/Helvetica findfont 140 scalefont setfont +LTb +LCb setrgbcolor +/Helvetica findfont 220 scalefont setfont +3016 98 M +(Vectors of frequency scaling factors) Cshow +/Helvetica findfont 140 scalefont setfont +LTb +1.000 UP +/Helvetica findfont 220 scalefont setfont +1435 558 M +(Optimal vector of scaling factors) Lshow +/Helvetica findfont 140 scalefont setfont +/Helvetica findfont 220 scalefont setfont +4255 1497 M +() Lshow +/Helvetica findfont 140 scalefont setfont +/Helvetica findfont 190 scalefont setfont +793 3277 M +( Upper bound) Lshow +/Helvetica findfont 140 scalefont setfont +/Helvetica findfont 190 scalefont setfont +3541 1887 M +( Lower bound) Lshow +/Helvetica findfont 140 scalefont setfont +1384 2246 M +( Max.) Lshow +1384 2102 M +( distance) Lshow +1.000 UL +LTb +1378 2821 M +0 -1153 V +stroke +LT2 +1346 517 M +32 -121 V +32 121 V +-32 2304 R +0 -2425 V +stroke +gsave [] 0 setdash +1346 517 M +32 -121 V +32 121 V +stroke +grestore +1.000 UL +LT2 +1217 2976 M +22 -83 V +22 83 V +-22 204 R +0 -287 V +stroke +gsave [] 0 setdash +1217 2976 M +22 -83 V +22 83 V +stroke +grestore +1.000 UL +LT2 +4011 1534 M +30 -114 V +30 114 V +-30 281 R +0 -395 V +stroke +gsave [] 0 setdash +4011 1534 M +30 -114 V +30 114 V +stroke +grestore +1.000 UL +LT0 +1311 2821 M +142 0 V +1311 1668 M +142 0 V +stroke +LTb +% Begin plot #1 +1.000 UL +LT2 +LC2 setrgbcolor +LCb setrgbcolor +/Helvetica findfont 220 scalefont setfont +4496 3443 M +(Normalized performance) Rshow +/Helvetica findfont 140 scalefont setfont +LT2 +LC2 setrgbcolor +4580 3443 M +399 0 V +686 2893 M +74 0 V +81 0 V +88 0 V +97 0 V +106 0 V +117 0 V +131 -72 V +146 -142 V +164 -135 V +186 -171 V +212 -164 V +245 -148 V +286 -164 V +338 -170 V +406 -135 V +495 -135 V +620 -135 V +312 -63 V +% End plot #1 +% Begin plot #2 +stroke +2.000 UL +LT0 +1.00 0.00 0.00 C LCb setrgbcolor +/Helvetica findfont 220 scalefont setfont +4496 3233 M +(Normalized energy) Rshow +/Helvetica findfont 140 scalefont setfont +LT0 +1.00 0.00 0.00 C 4580 3233 M +399 0 V +686 2893 M +74 -248 V +81 -193 V +88 -182 V +97 -170 V +106 -156 V +117 -144 V +131 -129 V +146 -115 V +164 -100 V +186 -82 V +212 -64 V +245 -43 V +286 -20 V +338 7 V +406 39 V +495 80 V +620 131 V +312 59 V +% End plot #2 +% Begin plot #3 +stroke +1.000 UL +LT0 +1.00 1.00 1.00 C 5147 641 M +% End plot #3 +stroke +LTb +686 3611 N +686 378 L +4461 0 V +0 3233 V +-4461 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Trailer +%%DocumentFonts: Helvetica diff --git a/mpi-energy2-extension/fig/homo.pdf b/mpi-energy2-extension/fig/homo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2d4cb51c2213e8f66c25e56daa59b0a3e872fae5 GIT binary patch literal 6975 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 A{{R30 literal 0 HcmV?d00001 diff --git a/mpi-energy2-extension/fig/init_freq.pdf b/mpi-energy2-extension/fig/init_freq.pdf new file mode 100644 index 0000000000000000000000000000000000000000..20ec64e149bf5c9f43eab7f93198e435a2cc8dc3 GIT binary patch literal 71016 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 matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 14:27:16 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 441 M +31 0 V +4337 0 R +-31 0 V +473 530 M +31 0 V +4337 0 R +-31 0 V +473 619 M +31 0 V +4337 0 R +-31 0 V +473 708 M +31 0 V +4337 0 R +-31 0 V +473 797 M +63 0 V +4305 0 R +-63 0 V +stroke +407 797 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 5)] +] -40.0 MRshow +1.000 UL +LTb +473 886 M +31 0 V +4337 0 R +-31 0 V +473 975 M +31 0 V +4337 0 R +-31 0 V +473 1064 M +31 0 V +4337 0 R +-31 0 V +473 1153 M +31 0 V +4337 0 R +-31 0 V +473 1242 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1242 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 10)] +] -40.0 MRshow +1.000 UL +LTb +473 1331 M +31 0 V +4337 0 R +-31 0 V +473 1420 M +31 0 V +4337 0 R +-31 0 V +473 1509 M +31 0 V +4337 0 R +-31 0 V +473 1598 M +31 0 V +4337 0 R +-31 0 V +473 1687 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1687 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +473 1776 M +31 0 V +4337 0 R +-31 0 V +473 1865 M +31 0 V +4337 0 R +-31 0 V +473 1955 M +31 0 V +4337 0 R +-31 0 V +473 2044 M +31 0 V +4337 0 R +-31 0 V +473 2133 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2133 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 20)] +] -40.0 MRshow +1.000 UL +LTb +473 2222 M +31 0 V +4337 0 R +-31 0 V +473 2311 M +31 0 V +4337 0 R +-31 0 V +473 2400 M +31 0 V +4337 0 R +-31 0 V +473 2489 M +31 0 V +4337 0 R +-31 0 V +473 2578 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2578 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 25)] +] -40.0 MRshow +1.000 UL +LTb +473 2667 M +31 0 V +4337 0 R +-31 0 V +473 2756 M +31 0 V +4337 0 R +-31 0 V +473 2845 M +31 0 V +4337 0 R +-31 0 V +473 2934 M +31 0 V +4337 0 R +-31 0 V +473 3023 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3023 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 30)] +] -40.0 MRshow +1.000 UL +LTb +473 3112 M +31 0 V +4337 0 R +-31 0 V +473 3201 M +31 0 V +4337 0 R +-31 0 V +473 3290 M +31 0 V +4337 0 R +-31 0 V +473 3379 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 35)] +] -40.0 MRshow +1.000 UL +LTb +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Performance degradation)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3235 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site / 16 nodes)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1827 3208 327 55 40 45 2 PatternFill +0.10 0.10 0.44 C 892 352 73 575 40 45 2 PatternFill +0.10 0.10 0.44 C 1438 352 73 496 40 45 2 PatternFill +0.10 0.10 0.44 C 1984 352 73 135 40 45 2 PatternFill +0.10 0.10 0.44 C 2530 352 73 310 40 45 2 PatternFill +0.10 0.10 0.44 C 3076 352 73 253 40 45 2 PatternFill +0.10 0.10 0.44 C 3622 352 73 160 40 45 2 PatternFill +0.10 0.10 0.44 C 4168 352 73 88 40 45 2 PatternFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3125 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site / 32 nodes)] +] -43.3 MRshow +LT1 +0.10 0.10 0.44 C 1.000 1827 3098 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 983 352 73 1243 BoxColFill +0.10 0.10 0.44 C 1.000 1529 352 73 671 BoxColFill +0.10 0.10 0.44 C 1.000 2075 352 73 1640 BoxColFill +0.10 0.10 0.44 C 1.000 2621 352 73 1115 BoxColFill +0.10 0.10 0.44 C 1.000 3167 352 73 1369 BoxColFill +0.10 0.10 0.44 C 1.000 3713 352 73 28 BoxColFill +0.10 0.10 0.44 C 1.000 4259 352 73 585 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +0.00 0.39 0.00 C LCb setrgbcolor +1761 3015 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites / 16 nodes)] +] -43.3 MRshow +LT0 +0.00 0.39 0.00 C 1827 2988 327 55 80 -45 1 PatternFill +0.00 0.39 0.00 C 1074 352 73 374 80 -45 1 PatternFill +0.00 0.39 0.00 C 1620 352 73 1197 80 -45 1 PatternFill +0.00 0.39 0.00 C 2166 352 73 2409 80 -45 1 PatternFill +0.00 0.39 0.00 C 2712 352 73 37 80 -45 1 PatternFill +0.00 0.39 0.00 C 3258 352 73 538 80 -45 1 PatternFill +0.00 0.39 0.00 C 3804 352 73 574 80 -45 1 PatternFill +0.00 0.39 0.00 C 4350 352 73 71 80 -45 1 PatternFill +% End plot #3 +% Begin plot #4 +1.000 UL +LT3 +0.94 0.50 0.50 C LCb setrgbcolor +1761 2905 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites / 32 nodes)] +] -43.3 MRshow +LT3 +0.94 0.50 0.50 C 1.000 1827 2878 327 55 BoxColFill +0.94 0.50 0.50 C 1.000 1165 352 73 227 BoxColFill +0.94 0.50 0.50 C 1.000 1711 352 73 28 BoxColFill +0.94 0.50 0.50 C 1.000 2257 352 73 2212 BoxColFill +0.94 0.50 0.50 C 1.000 2803 352 73 54 BoxColFill +0.94 0.50 0.50 C 1.000 3349 352 73 250 BoxColFill +0.94 0.50 0.50 C 1.000 3895 352 73 54 BoxColFill +0.94 0.50 0.50 C 1.000 4441 352 73 100 BoxColFill +% End plot #4 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/per_d_mc.eps b/mpi-energy2-extension/fig/per_d_mc.eps new file mode 100644 index 0000000..8e789e2 --- /dev/null +++ b/mpi-energy2-extension/fig/per_d_mc.eps @@ -0,0 +1,879 @@ +%!PS-Adobe-2.0 +%%Creator: gnuplot 4.6 patchlevel 6 +%%CreationDate: Fri Sep 11 16:07:53 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 410 +%%Orientation: Portrait +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.6 (September 2012) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse + clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 16:07:53 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 449 M +31 0 V +4337 0 R +-31 0 V +473 547 M +31 0 V +4337 0 R +-31 0 V +473 644 M +31 0 V +4337 0 R +-31 0 V +473 742 M +31 0 V +4337 0 R +-31 0 V +473 839 M +63 0 V +4305 0 R +-63 0 V +stroke +407 839 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 5)] +] -40.0 MRshow +1.000 UL +LTb +473 936 M +31 0 V +4337 0 R +-31 0 V +473 1034 M +31 0 V +4337 0 R +-31 0 V +473 1131 M +31 0 V +4337 0 R +-31 0 V +473 1228 M +31 0 V +4337 0 R +-31 0 V +473 1326 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1326 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 10)] +] -40.0 MRshow +1.000 UL +LTb +473 1423 M +31 0 V +4337 0 R +-31 0 V +473 1521 M +31 0 V +4337 0 R +-31 0 V +473 1618 M +31 0 V +4337 0 R +-31 0 V +473 1715 M +31 0 V +4337 0 R +-31 0 V +473 1813 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1813 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +473 1910 M +31 0 V +4337 0 R +-31 0 V +473 2007 M +31 0 V +4337 0 R +-31 0 V +473 2105 M +31 0 V +4337 0 R +-31 0 V +473 2202 M +31 0 V +4337 0 R +-31 0 V +473 2300 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2300 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 20)] +] -40.0 MRshow +1.000 UL +LTb +473 2397 M +31 0 V +4337 0 R +-31 0 V +473 2494 M +31 0 V +4337 0 R +-31 0 V +473 2592 M +31 0 V +4337 0 R +-31 0 V +473 2689 M +31 0 V +4337 0 R +-31 0 V +473 2786 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2786 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 25)] +] -40.0 MRshow +1.000 UL +LTb +473 2884 M +31 0 V +4337 0 R +-31 0 V +473 2981 M +31 0 V +4337 0 R +-31 0 V +473 3079 M +31 0 V +4337 0 R +-31 0 V +473 3176 M +31 0 V +4337 0 R +-31 0 V +473 3273 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3273 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 30)] +] -40.0 MRshow +1.000 UL +LTb +473 3371 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +31 0 V +4337 0 R +-31 0 V +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Performance degradation)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3316 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites/ one core)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1827 3289 327 55 40 45 2 PatternFill +0.10 0.10 0.44 C 892 352 73 248 40 45 2 PatternFill +0.10 0.10 0.44 C 1438 352 73 40 40 45 2 PatternFill +0.10 0.10 0.44 C 1984 352 73 2420 40 45 2 PatternFill +0.10 0.10 0.44 C 2530 352 73 59 40 45 2 PatternFill +0.10 0.10 0.44 C 3076 352 73 274 40 45 2 PatternFill +0.10 0.10 0.44 C 3622 352 73 58 40 45 2 PatternFill +0.10 0.10 0.44 C 4168 352 73 109 40 45 2 PatternFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.10 0.10 0.44 C LCb setrgbcolor +1761 3206 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites/ multicores)] +] -43.3 MRshow +LT1 +0.10 0.10 0.44 C 1.000 1827 3179 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 983 352 73 812 BoxColFill +0.10 0.10 0.44 C 1.000 1529 352 73 1302 BoxColFill +0.10 0.10 0.44 C 1.000 2075 352 73 2222 BoxColFill +0.10 0.10 0.44 C 1.000 2621 352 73 547 BoxColFill +0.10 0.10 0.44 C 1.000 3167 352 73 85 BoxColFill +0.10 0.10 0.44 C 1.000 3713 352 73 129 BoxColFill +0.10 0.10 0.44 C 1.000 4259 352 73 124 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +0.00 0.39 0.00 C LCb setrgbcolor +1761 3096 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site/ one core)] +] -43.3 MRshow +LT0 +0.00 0.39 0.00 C 1827 3069 327 55 80 -45 1 PatternFill +0.00 0.39 0.00 C 1074 352 73 1359 80 -45 1 PatternFill +0.00 0.39 0.00 C 1620 352 73 734 80 -45 1 PatternFill +0.00 0.39 0.00 C 2166 352 73 1794 80 -45 1 PatternFill +0.00 0.39 0.00 C 2712 352 73 1219 80 -45 1 PatternFill +0.00 0.39 0.00 C 3258 352 73 1498 80 -45 1 PatternFill +0.00 0.39 0.00 C 3804 352 73 30 80 -45 1 PatternFill +0.00 0.39 0.00 C 4350 352 73 640 80 -45 1 PatternFill +% End plot #3 +% Begin plot #4 +1.000 UL +LT3 +0.94 0.50 0.50 C LCb setrgbcolor +1761 2986 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site/ multicores)] +] -43.3 MRshow +LT3 +0.94 0.50 0.50 C 1.000 1827 2959 327 55 BoxColFill +0.94 0.50 0.50 C 1.000 1165 352 73 434 BoxColFill +0.94 0.50 0.50 C 1.000 1711 352 73 771 BoxColFill +0.94 0.50 0.50 C 1.000 2257 352 73 2586 BoxColFill +0.94 0.50 0.50 C 1.000 2803 352 73 636 BoxColFill +0.94 0.50 0.50 C 1.000 3349 352 73 258 BoxColFill +0.94 0.50 0.50 C 1.000 3895 352 73 20 BoxColFill +0.94 0.50 0.50 C 1.000 4441 352 73 406 BoxColFill +% End plot #4 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/per_pow.eps b/mpi-energy2-extension/fig/per_pow.eps new file mode 100644 index 0000000..b16b17a --- /dev/null +++ b/mpi-energy2-extension/fig/per_pow.eps @@ -0,0 +1,828 @@ +%!PS-Adobe-2.0 +%%Creator: gnuplot 4.6 patchlevel 6 +%%CreationDate: Fri Sep 11 14:25:30 2015 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 410 +%%Orientation: Portrait +%%Pages: (atend) +%%EndComments +%%BeginProlog +/gnudict 256 dict def +gnudict begin +% +% The following true/false flags may be edited by hand if desired. +% The unit line width and grayscale image gamma correction may also be changed. +% +/Color false def +/Blacktext false def +/Solid false def +/Dashlength 1 def +/Landscape false def +/Level1 false def +/Rounded false def +/ClipToBoundingBox false def +/SuppressPDFMark false def +/TransparentPatterns false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/Gamma 1.0 def +/BackgroundColor {-1.000 -1.000 -1.000} def +% +/vshift -36 def +/dl1 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if +} def +/dl2 { + 10.0 Dashlength mul mul + Rounded { currentlinewidth 0.75 mul add } if +} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/doclip { + ClipToBoundingBox { + newpath 50 50 moveto 554 50 lineto 554 410 lineto 50 410 lineto closepath + clip + } if +} def +% +% Gnuplot Prolog Version 4.6 (September 2012) +% +%/SuppressPDFMark true def +% +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/Z {closepath} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/g {setgray} bind def +/Gshow {show} def % May be redefined later in the file to support UTF-8 +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow {currentpoint stroke M 0 vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def +/BL {stroke userlinewidth 2 mul setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/AL {stroke userlinewidth 2 div setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +/UL {dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def} def +/PL {stroke userlinewidth setlinewidth + Rounded {1 setlinejoin 1 setlinecap} if} def +3.8 setmiterlimit +% Default Line colors +/LCw {1 1 1} def +/LCb {0 0 0} def +/LCa {0 0 0} def +/LC0 {1 0 0} def +/LC1 {0 1 0} def +/LC2 {0 0 1} def +/LC3 {1 0 1} def +/LC4 {0 1 1} def +/LC5 {1 1 0} def +/LC6 {0 0 0} def +/LC7 {1 0.3 0} def +/LC8 {0.5 0.5 0.5} def +% Default Line Types +/LTw {PL [] 1 setgray} def +/LTb {BL [] LCb DL} def +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def +/LT0 {PL [] LC0 DL} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def +/Dia {stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt} def +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt} def +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke} def +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt} def +/Star {2 copy Pls Crs} def +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill} def +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill} def +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt} def +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill} def +/Pent {stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt} def +/PentF {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore} def +/Circle {stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt} def +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def +/C1 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath} bind def +/C2 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C3 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C4 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C5 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc} bind def +/C6 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C7 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath} bind def +/C8 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C9 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath} bind def +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath} bind def +/C11 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C12 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C13 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/C14 {BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc} bind def +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath} bind def +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath} bind def +/Square {dup Rec} bind def +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare} bind def +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare} bind def +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare} bind def +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def +/DiaE {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke} def +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke} def +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke} def +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke} def +/PentE {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore} def +/CircE {stroke [] 0 setdash + hpt 0 360 arc stroke} def +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def +/DiaW {stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke} def +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke} def +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke} def +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke} def +/PentW {stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore} def +/CircW {stroke [] 0 setdash + hpt 0 360 arc Opaque stroke} def +/BoxFill {gsave Rec 1 setgray fill grestore} def +/Density { + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor} def +/BoxColFill {gsave Rec PolyFill} def +/PolyFill {gsave Density fill grestore grestore} def +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def +% +% PostScript Level 1 Pattern Fill routine for rectangles +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill {gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse + clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 M 0 PFs V} for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for + } if + stroke grestore} def +% +/languagelevel where + {pop languagelevel} {1} ifelse + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} + ifelse +% +% PostScript level 2 pattern fill definitions +% +/Level2PatternFill { +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} + bind def +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} +>> matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 14:25:30 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +473 352 M +63 0 V +4305 0 R +-63 0 V +stroke +407 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +473 477 M +31 0 V +4337 0 R +-31 0 V +473 601 M +31 0 V +4337 0 R +-31 0 V +473 726 M +31 0 V +4337 0 R +-31 0 V +473 851 M +31 0 V +4337 0 R +-31 0 V +473 975 M +63 0 V +4305 0 R +-63 0 V +stroke +407 975 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 3)] +] -40.0 MRshow +1.000 UL +LTb +473 1100 M +31 0 V +4337 0 R +-31 0 V +473 1224 M +31 0 V +4337 0 R +-31 0 V +473 1349 M +31 0 V +4337 0 R +-31 0 V +473 1474 M +31 0 V +4337 0 R +-31 0 V +473 1598 M +63 0 V +4305 0 R +-63 0 V +stroke +407 1598 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 6)] +] -40.0 MRshow +1.000 UL +LTb +473 1723 M +31 0 V +4337 0 R +-31 0 V +473 1848 M +31 0 V +4337 0 R +-31 0 V +473 1972 M +31 0 V +4337 0 R +-31 0 V +473 2097 M +31 0 V +4337 0 R +-31 0 V +473 2222 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2222 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 9)] +] -40.0 MRshow +1.000 UL +LTb +473 2346 M +31 0 V +4337 0 R +-31 0 V +473 2471 M +31 0 V +4337 0 R +-31 0 V +473 2596 M +31 0 V +4337 0 R +-31 0 V +473 2720 M +31 0 V +4337 0 R +-31 0 V +473 2845 M +63 0 V +4305 0 R +-63 0 V +stroke +407 2845 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 12)] +] -40.0 MRshow +1.000 UL +LTb +473 2969 M +31 0 V +4337 0 R +-31 0 V +473 3094 M +31 0 V +4337 0 R +-31 0 V +473 3219 M +31 0 V +4337 0 R +-31 0 V +473 3343 M +31 0 V +4337 0 R +-31 0 V +473 3468 M +63 0 V +4305 0 R +-63 0 V +stroke +407 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 15)] +] -40.0 MRshow +1.000 UL +LTb +1019 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1019 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1565 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1565 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2111 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2111 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2657 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2657 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3203 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3203 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +3749 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3749 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4295 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4295 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Performance degradation)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2657 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1652 3205 M +[ [(Helvetica) 130.0 0.0 true true 0 (10% static power)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 1.000 1718 3178 327 55 BoxColFill +0.10 0.10 0.44 C 1.000 921 352 88 1999 BoxColFill +0.10 0.10 0.44 C 1.000 1467 352 88 2321 BoxColFill +0.10 0.10 0.44 C 1.000 2013 352 88 302 BoxColFill +0.10 0.10 0.44 C 1.000 2559 352 88 705 BoxColFill +0.10 0.10 0.44 C 1.000 3105 352 88 1100 BoxColFill +0.10 0.10 0.44 C 1.000 3651 352 88 936 BoxColFill +0.10 0.10 0.44 C 1.000 4197 352 88 942 BoxColFill +% End plot #1 +% Begin plot #2 +1.000 UL +LT1 +0.24 0.70 0.44 C LCb setrgbcolor +1652 3095 M +[ [(Helvetica) 130.0 0.0 true true 0 (20% static power)] +] -43.3 MRshow +LT1 +0.24 0.70 0.44 C 1.000 1718 3068 327 55 BoxColFill +0.24 0.70 0.44 C 1.000 1030 352 88 1341 BoxColFill +0.24 0.70 0.44 C 1.000 1576 352 88 1156 BoxColFill +0.24 0.70 0.44 C 1.000 2122 352 88 315 BoxColFill +0.24 0.70 0.44 C 1.000 2668 352 88 707 BoxColFill +0.24 0.70 0.44 C 1.000 3214 352 88 589 BoxColFill +0.24 0.70 0.44 C 1.000 3760 352 88 373 BoxColFill +0.24 0.70 0.44 C 1.000 4306 352 88 205 BoxColFill +% End plot #2 +% Begin plot #3 +1.000 UL +LT0 +1.00 0.71 0.76 C LCb setrgbcolor +1652 2985 M +[ [(Helvetica) 130.0 0.0 true true 0 (30% static power)] +] -43.3 MRshow +LT0 +1.00 0.71 0.76 C 1.000 1718 2958 327 55 BoxColFill +1.00 0.71 0.76 C 1.000 1139 352 88 1301 BoxColFill +1.00 0.71 0.76 C 1.000 1685 352 88 109 BoxColFill +1.00 0.71 0.76 C 1.000 2231 352 88 321 BoxColFill +1.00 0.71 0.76 C 1.000 2777 352 88 22 BoxColFill +1.00 0.71 0.76 C 1.000 3323 352 88 485 BoxColFill +1.00 0.71 0.76 C 1.000 3869 352 88 250 BoxColFill +1.00 0.71 0.76 C 1.000 4415 352 88 188 BoxColFill +% End plot #3 +1.000 UL +LTb +473 3468 N +473 352 L +4368 0 V +0 3116 V +-4368 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/fig/power_consumption.pdf b/mpi-energy2-extension/fig/power_consumption.pdf new file mode 100644 index 0000000000000000000000000000000000000000..aea4b864f4fd2f933d7036b45428521c461eaa4f GIT binary patch literal 32395 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 literal 0 HcmV?d00001 diff --git a/mpi-energy2-extension/fig/three_scenarios.pdf b/mpi-energy2-extension/fig/three_scenarios.pdf new file mode 100644 index 0000000000000000000000000000000000000000..21b0524f5dcaf59d86ae5f7db33416a72ca6a455 GIT binary patch literal 14475 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 matrix makepattern +/Pat1 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} +>> matrix makepattern +/Pat2 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill} +>> matrix makepattern +/Pat3 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L + 0 12 M 12 0 L stroke} +>> matrix makepattern +/Pat4 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L + 0 -4 M 12 8 L stroke} +>> matrix makepattern +/Pat5 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} +>> matrix makepattern +/Pat6 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} +>> matrix makepattern +/Pat7 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke} +>> matrix makepattern +/Pat8 exch def +<< Tile8x8 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke} +>> matrix makepattern +/Pat9 exch def +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def +} def +% +% +%End of PostScript Level 2 code +% +/PatternBgnd { + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse +} def +% +% Substitute for Level 2 pattern fill codes with +% grayscale if Level 2 support is not selected. +% +/Level1PatternFill { +/Pattern1 {0.250 Density} bind def +/Pattern2 {0.500 Density} bind def +/Pattern3 {0.750 Density} bind def +/Pattern4 {0.125 Density} bind def +/Pattern5 {0.375 Density} bind def +/Pattern6 {0.625 Density} bind def +/Pattern7 {0.875 Density} bind def +} def +% +% Now test for support of Level 2 code +% +Level1 {Level1PatternFill} {Level2PatternFill} ifelse +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +% +% Encoding for ISO-8859-1 (also called Latin1) +% +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +currentdict /CharStrings known { + CharStrings /Idieresis known { + /Encoding ISOLatin1Encoding def } if +} if +currentdict end definefont +} def +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/MFshow { + { dup 5 get 3 ge + { 5 get 3 eq {gsave} {grestore} ifelse } + {dup dup 0 get findfont exch 1 get scalefont setfont + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop + pop aload pop M} ifelse }ifelse }ifelse } + ifelse } + forall} def +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def +/MLshow { currentpoint stroke M + 0 exch R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MRshow { currentpoint stroke M + exch dup MFwidth neg 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/MCshow { currentpoint stroke M + exch dup MFwidth -2 div 3 -1 roll R + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def +/XYsave { [( ) 1 2 true false 3 ()] } bind def +/XYrestore { [( ) 1 2 true false 4 ()] } bind def +/Helvetica reencodeISO def +Level1 SuppressPDFMark or +{} { +/SDict 10 dict def +systemdict /pdfmark known not { + userdict /pdfmark systemdict /cleartomark get put +} if +SDict begin [ + /Title () + /Subject (gnuplot plot) + /Creator (gnuplot 4.6 patchlevel 6) + /Author (afanfakh) +% /Producer (gnuplot) +% /Keywords () + /CreationDate (Fri Sep 11 14:28:07 2015) + /DOCINFO pdfmark +end +} ifelse +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +doclip +50 50 translate +0.100 0.100 scale +0 setgray +newpath +(Helvetica) findfont 110 scalefont setfont +BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {gsave BackgroundColor C clippath fill grestore} if +1.000 UL +LTb +605 352 M +63 0 V +4173 0 R +-63 0 V +stroke +539 352 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 0)] +] -40.0 MRshow +1.000 UL +LTb +605 421 M +31 0 V +4205 0 R +-31 0 V +605 490 M +31 0 V +4205 0 R +-31 0 V +605 560 M +31 0 V +4205 0 R +-31 0 V +605 629 M +31 0 V +4205 0 R +-31 0 V +605 698 M +63 0 V +4173 0 R +-63 0 V +stroke +539 698 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 500)] +] -40.0 MRshow +1.000 UL +LTb +605 767 M +31 0 V +4205 0 R +-31 0 V +605 837 M +31 0 V +4205 0 R +-31 0 V +605 906 M +31 0 V +4205 0 R +-31 0 V +605 975 M +31 0 V +4205 0 R +-31 0 V +605 1044 M +63 0 V +4173 0 R +-63 0 V +stroke +539 1044 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 1000)] +] -40.0 MRshow +1.000 UL +LTb +605 1114 M +31 0 V +4205 0 R +-31 0 V +605 1183 M +31 0 V +4205 0 R +-31 0 V +605 1252 M +31 0 V +4205 0 R +-31 0 V +605 1321 M +31 0 V +4205 0 R +-31 0 V +605 1391 M +63 0 V +4173 0 R +-63 0 V +stroke +539 1391 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 1500)] +] -40.0 MRshow +1.000 UL +LTb +605 1460 M +31 0 V +4205 0 R +-31 0 V +605 1529 M +31 0 V +4205 0 R +-31 0 V +605 1598 M +31 0 V +4205 0 R +-31 0 V +605 1668 M +31 0 V +4205 0 R +-31 0 V +605 1737 M +63 0 V +4173 0 R +-63 0 V +stroke +539 1737 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 2000)] +] -40.0 MRshow +1.000 UL +LTb +605 1806 M +31 0 V +4205 0 R +-31 0 V +605 1875 M +31 0 V +4205 0 R +-31 0 V +605 1945 M +31 0 V +4205 0 R +-31 0 V +605 2014 M +31 0 V +4205 0 R +-31 0 V +605 2083 M +63 0 V +4173 0 R +-63 0 V +stroke +539 2083 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 2500)] +] -40.0 MRshow +1.000 UL +LTb +605 2152 M +31 0 V +4205 0 R +-31 0 V +605 2222 M +31 0 V +4205 0 R +-31 0 V +605 2291 M +31 0 V +4205 0 R +-31 0 V +605 2360 M +31 0 V +4205 0 R +-31 0 V +605 2429 M +63 0 V +4173 0 R +-63 0 V +stroke +539 2429 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 3000)] +] -40.0 MRshow +1.000 UL +LTb +605 2499 M +31 0 V +4205 0 R +-31 0 V +605 2568 M +31 0 V +4205 0 R +-31 0 V +605 2637 M +31 0 V +4205 0 R +-31 0 V +605 2706 M +31 0 V +4205 0 R +-31 0 V +605 2776 M +63 0 V +4173 0 R +-63 0 V +stroke +539 2776 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 3500)] +] -40.0 MRshow +1.000 UL +LTb +605 2845 M +31 0 V +4205 0 R +-31 0 V +605 2914 M +31 0 V +4205 0 R +-31 0 V +605 2983 M +31 0 V +4205 0 R +-31 0 V +605 3053 M +31 0 V +4205 0 R +-31 0 V +605 3122 M +63 0 V +4173 0 R +-63 0 V +stroke +539 3122 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 4000)] +] -40.0 MRshow +1.000 UL +LTb +605 3191 M +31 0 V +4205 0 R +-31 0 V +605 3260 M +31 0 V +4205 0 R +-31 0 V +605 3330 M +31 0 V +4205 0 R +-31 0 V +605 3399 M +31 0 V +4205 0 R +-31 0 V +605 3468 M +63 0 V +4173 0 R +-63 0 V +stroke +539 3468 M +[ [(Helvetica) 120.0 0.0 true true 0 ( 4500)] +] -40.0 MRshow +1.000 UL +LTb +605 352 M +0 63 V +0 3053 R +0 -63 V +stroke +605 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (CG)] +] -40.0 MCshow +1.000 UL +LTb +1311 352 M +0 63 V +0 3053 R +0 -63 V +stroke +1311 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (MG)] +] -40.0 MCshow +1.000 UL +LTb +2017 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2017 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (EP)] +] -40.0 MCshow +1.000 UL +LTb +2723 352 M +0 63 V +0 3053 R +0 -63 V +stroke +2723 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (LU)] +] -40.0 MCshow +1.000 UL +LTb +3429 352 M +0 63 V +0 3053 R +0 -63 V +stroke +3429 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (BT)] +] -40.0 MCshow +1.000 UL +LTb +4135 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4135 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (SP)] +] -40.0 MCshow +1.000 UL +LTb +4841 352 M +0 63 V +0 3053 R +0 -63 V +stroke +4841 242 M +[ [(Helvetica) 120.0 0.0 true true 0 (FT)] +] -40.0 MCshow +1.000 UL +LTb +1.000 UL +LTb +605 3468 N +605 352 L +4236 0 V +0 3116 V +-4236 0 V +Z stroke +LCb setrgbcolor +88 1910 M +currentpoint gsave translate -270 rotate 0 0 moveto +[ [(Helvetica) 160.0 0.0 true true 0 (Execution time)] +] -53.3 MCshow +grestore +LTb +LCb setrgbcolor +2723 77 M +[ [(Helvetica) 160.0 0.0 true true 0 (NAS parallel benchmarks)] +] -53.3 MCshow +LTb +1.000 UP +1.000 UL +LTb +% Begin plot #1 +1.000 UP +1.000 UL +LT0 +0.10 0.10 0.44 C LCb setrgbcolor +1982 3275 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site/ one core)] +] -43.3 MRshow +LT0 +0.10 0.10 0.44 C 2048 3275 M +327 0 V +605 1208 M +1311 445 L +706 78 V +706 595 V +3429 907 L +706 930 V +706 52 V +605 1208 Pls +1311 445 Pls +2017 523 Pls +2723 1118 Pls +3429 907 Pls +4135 1837 Pls +4841 1889 Pls +2211 3275 Pls +% End plot #1 +% Begin plot #2 +1.000 UP +1.000 UL +LT1 +1.00 0.00 0.00 C LCb setrgbcolor +1982 3165 M +[ [(Helvetica) 130.0 0.0 true true 0 (One site/ multicores)] +] -43.3 MRshow +LT1 +1.00 0.00 0.00 C 2048 3165 M +327 0 V +605 2089 M +1311 592 L +706 187 V +706 794 V +706 -482 V +706 1385 V +706 -120 V +605 2089 Crs +1311 592 Crs +2017 779 Crs +2723 1573 Crs +3429 1091 Crs +4135 2476 Crs +4841 2356 Crs +2211 3165 Crs +% End plot #2 +% Begin plot #3 +1.000 UP +1.000 UL +LT2 +0.00 0.39 0.00 C LCb setrgbcolor +1982 3055 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites/ one core)] +] -43.3 MRshow +LT2 +0.00 0.39 0.00 C 2048 3055 M +327 0 V +605 3231 M +1311 602 L +706 -65 V +706 896 V +706 607 V +706 697 V +706 250 V +605 3231 Star +1311 602 Star +2017 537 Star +2723 1433 Star +3429 2040 Star +4135 2737 Star +4841 2987 Star +2211 3055 Star +% End plot #3 +% Begin plot #4 +1.000 UP +1.000 UL +LT3 +0.85 0.65 0.13 C LCb setrgbcolor +1982 2945 M +[ [(Helvetica) 130.0 0.0 true true 0 (Two sites/ multicores)] +] -43.3 MRshow +LT3 +0.85 0.65 0.13 C 2048 2945 M +327 0 V +605 1685 M +1311 551 L +706 -14 V +706 1009 V +706 -155 V +706 1323 V +706 -153 V +605 1685 Box +1311 551 Box +2017 537 Box +2723 1546 Box +3429 1391 Box +4135 2714 Box +4841 2561 Box +2211 2945 Box +% End plot #4 +1.000 UL +LTb +605 3468 N +605 352 L +4236 0 V +0 3116 V +-4236 0 V +Z stroke +1.000 UP +1.000 UL +LTb +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Helvetica +%%Pages: 1 diff --git a/mpi-energy2-extension/my_reference.bib b/mpi-energy2-extension/my_reference.bib new file mode 100644 index 0000000..de5f548 --- /dev/null +++ b/mpi-energy2-extension/my_reference.bib @@ -0,0 +1,830 @@ +@inproceedings{1, + author = {Lim, Min Yeol and Freeh, Vincent W. and Lowenthal, David K.}, + title = {Adaptive, Transparent Frequency and Voltage Scaling of Communication Phases in {MPI} Programs}, + booktitle = {Proceedings of the 2006 ACM/IEEE Conference on Supercomputing}, + series = {SC '06}, + year = {2006}, + isbn = {0-7695-2700-0}, + location = {Tampa, Florida}, + articleno = {107}, + doi = {10.1145/1188455.1188567}, + acmid = {1188567}, + publisher = {ACM}, + address = {New York, NY, USA} +} + +@article{2, + author = {Peraza , J. and Tiwari , A. and Laurenzano , M. and Carrington L. and Snavely}, + title = {{PMaC}'s green queue: a framework for selecting energy optimal {DVFS} configurations in large scale {MPI} applications}, + journal = {Concurrency Computat.: Pract. Exper.DOI: 10.1002/cpe}, + pages = {1-20}, + year = {2012} + + } + + +@inproceedings{Rauber_Analytical.Modeling.for.Energy, + author = {Rauber, Thomas and R\"{u}nger, Gudula}, + title = {Analytical Modeling and Simulation of the Energy Consumption of Independent Tasks}, + booktitle = {Proceedings of the Winter Simulation Conference}, + series = {WSC '12}, + year = {2012}, + location = {Berlin, Germany}, + pages = {245:1--245:13}, + articleno = {245}, + numpages = {13}, + acmid = {2430090}, + publisher = {Winter Simulation Conference} +} + +@inproceedings{4, + author = {Jejurikar, Ravindra and Pereira, Cristiano and Gupta, Rajesh}, + title = {Leakage Aware Dynamic Voltage Scaling for Real-time Embedded Systems}, + booktitle = {Proceedings of the 41 st Annual Design Automation Conference}, + series = {DAC '04}, + year = {2004}, + isbn = {1-58113-828-8}, + location = {San Diego, CA, USA}, + pages = {275--280}, + numpages = {6}, + doi = {10.1145/996566.996650}, + acmid = {996650}, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {EDF scheduling, critical speed, leakage power, low power scheduling, procrastication, real-time systems} +} + + + +@MISC{5, + author = {Vishal Gupta and Hyesoon Kim and Karsten Schwan and Memory B}, + title = {A Power-Performance Analysis of Memory-intensive Parallel Applications on a Manycore Platform}, +year = {2013} +} + +@article{6, + author = {Nikzad Babaii Rizvandi and + Albert Y. Zomaya}, + title = {A Primarily Survey on Energy Efficiency in Cloud and Distributed + Computing Systems}, + journal = {CoRR}, + volume = {abs/1210.4690}, + year = {2012} +} + +@techreport{7, + author = "Jee Whan Choi and Richard Vuduc", + title = "A roofline model of energy", + institution = "Georgia Institute of Technology", + TTtype = "", + TTnumber = "", + TTaddress = "", + year = {2012} + +} + +@INPROCEEDINGS{Rountree_Bounding.energy.consumption.in.MPI, +author={Rountree, B. and Lowenthal, D.K. and Funk, S. and Freeh, Vincent W. and De Supinski, B.R. and Schulz, M.}, +booktitle={Supercomputing, 2007. SC '07. Proceedings of the 2007 ACM/IEEE Conference on}, +title={Bounding energy consumption in large-scale {MPI} programs}, +year={2007}, +month=nov, +pages={1-9}, +keywords={Clustering algorithms;Delay effects;Dynamic voltage scaling;Energy consumption;Frequency;Government;Laboratories;Large-scale systems;Linear programming;Processor scheduling}, +doi={10.1145/1362622.1362688} +} + +@phdthesis {Malkowski_energy.efficient.high.performance.computing, + author = "Malkowski, Konrad", + title = "Co-adapting scientific applications and architectures toward energy-efficient high performance computing", + school = "The Pennsylvania State University", + address = "USA", + year = "2009", + pages = "227", + + +} + +@INPROCEEDINGS{10, +author={Kessler, C.W. and Melot, N. and Eitschberger, P. and Keller, J.}, +booktitle={Power and Timing Modeling, Optimization and Simulation (PATMOS), 2013 23rd International Workshop on}, +title={Crown scheduling: Energy-efficient resource allocation, mapping and discrete frequency scaling for collections of malleable streaming tasks}, +year={2013}, +month=sep, +pages={215-222}, +keywords={cores;microprocessor chips;optimisation;power consumption;resource allocation;scaling circuits;scheduling;ILP;crown scheduling;data flows;discrete voltage-frequency scaling;dynamic discrete frequency scaling;dynamic rescaling;energy-efficient resource allocation;energy-optimal code;integer linear programming;malleable streaming tasks;many-core processor;mapping;optimization;pipelined task graph;power consumption;processor cores;streaming task collections;Dynamic scheduling;Optimization;Processor scheduling;Radio spectrum management;Resource management;Schedules}, +doi={10.1109/PATMOS.2013.6662176} +} + +@INPROCEEDINGS{11, +author={Kimura, H. and Sato, M. and Hotta, Y. and Boku, T. and Takahashi, D.}, +booktitle={IEEE Cluster Computing, 2006}, +title={Emprical study on Reducing Energy of Parallel Programs using Slack Reclamation by {DVFS} in a Power-scalable High Performance Cluster}, +year={2006}, +month=sep, +pages={1-10}, +keywords={directed graphs;parallel programming;power aware computing;AMD Turion;PC clusters;PowerWatch;Transmeta Crusoe;control library;directed acyclic task graph;dynamic voltage scaling;energy consumption;energy reduction;frequency scaling;high performance computing;microprocessors;parallel programs;power consumption;power monitoring tools;slack reclamation;Clustering algorithms;Concurrent computing;Dynamic voltage scaling;Energy consumption;Energy efficiency;Frequency synchronization;Gears;Libraries;Microprocessors;Monitoring}, +doi={10.1109/CLUSTR.2006.311839}, +ISSN={1552-5244} +} + +@article{12, + author = {Lively, Charles and Xingfu Wu and Taylor, Valerie and Moore, Shirley and Chang, Hung-Ching and Cameron, Kirk}, + title = {Energy and Performance Characteristics of Different Parallel Implementations of Scientific Applications on Multicore Systems}, + journal = {Int. J. High Perform. Comput. Appl.}, + issue_date = {August 2011}, + volume = {25}, + number = {3}, + month = aug, + year = {2011}, + issn = {1094-3420}, + pages = {342--350}, + numpages = {9}, + doi = {10.1177/1094342011414749}, + acmid = {2020813}, + publisher = {Sage Publications, Inc.}, + address = {Thousand Oaks, CA, USA}, + keywords = {MPI, energy consumption, frequency scaling, hybrid MPI/OpenMP, multicore system, performance characteristics, scientific applications} +} + +@ARTICLE{13, + author = {Lizhe Wang a,b, Samee U. Khan c , Dan Chen a , Joanna Kołodziej d , Rajiv Ranjan e , Cheng-zhong Xu f ,Albert Zomaya}, + title = {Energy-aware parallel task scheduling in a cluster}, + journal = {Future Generation Computer Systems}, + volume = {29}, + number = {7}, + pages = {1661–1670}, + year = {2013} + + } + +@INPROCEEDINGS{14, +author={Huang, S. and Feng, W.}, +booktitle={Cluster Computing and the Grid, 2009. CCGRID '09. 9th IEEE/ACM International Symposium on}, +title={Energy-Efficient Cluster Computing via Accurate Workload Characterization}, +year={2009}, +month=may, +pages={68-75}, +keywords={parallel processing;power aware computing;workstation clusters;cluster computer;eco-friendly daemon;energy consumption reduction;energy-efficient cluster computing;power consumption reduction;processor stall cycles;workload characterization;Application software;Clustering algorithms;Energy consumption;Energy efficiency;Frequency;Grid computing;Hardware;High performance computing;Runtime;Voltage}, +doi={10.1109/CCGRID.2009.88} +} + +@article{Zhuo_Energy.efficient.Dynamic.Task.Scheduling, + author = {Zhuo, Jianli and Chakrabarti, Chaitali}, + title = {Energy-efficient Dynamic Task Scheduling Algorithms for DVS Systems}, + journal = {ACM Trans. Embed. Comput. Syst.}, + issue_date = {February 2008}, + volume = {7}, + number = {2}, + month = jan, + year = {2008}, + issn = {1539-9087}, + pages = {17:1--17:25}, + articleno = {17}, + numpages = {25}, + doi = {10.1145/1331331.1331341}, + acmid = {1331341}, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {DVS system, Dynamic task scheduling, energy minimization, optimal scaling factor, real time} +} + +@inproceedings{16, + author = {Zong, Ziliang and Qin, Xiao and Ruan, Xiaojun and Bellam, Kiranmai and Nijim, Mais and Alghamdi, Mohamed}, + title = {Energy-Efficient Scheduling for Parallel Applications Running on Heterogeneous Clusters}, + booktitle = {Proceedings of the 2007 International Conference on Parallel Processing}, + series = {ICPP '07}, + year = {2007}, + isbn = {0-7695-2933-X}, + pages = {19--}, + doi = {10.1109/ICPP.2007.39}, + acmid = {1306033}, + publisher = {IEEE Computer Society}, + address = {Washington, DC, USA} +} + +@inproceedings{Freeh_Exploring.the.Energy.Time.Tradeoff, + author = {Freeh, Vincent W. and Pan, Feng and Kappiah, Nandini and Lowenthal, David K. and Springer, Rob}, + title = {Exploring the Energy-Time Tradeoff in {MPI} Programs on a Power-Scalable Cluster}, + booktitle = {Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers - Volume 01}, + series = {IPDPS '05}, + year = {2005}, + isbn = {0-7695-2312-9}, + pages = {4a-4a}, + doi = {10.1109/IPDPS.2005.214}, + acmid = {1054466}, + publisher = {IEEE Computer Society}, + address = {Washington, DC, USA} +} + +@INPROCEEDINGS{18, +author={Dong Li and De Supinski, B.R. and Schulz, M. and Cameron, K. and Nikolopoulos, D.S.}, +booktitle={Parallel Distributed Processing (IPDPS), 2010 IEEE International Symposium on}, +title={Hybrid MPI/OpenMP power-aware computing}, +year={2010}, +month=apr, +pages={1-12}, +keywords={message passing;parallel algorithms;power aware computing;HPC environment;dynamic concurrency throttling;dynamic voltage-and-frequency scaling;high performance computing;hybrid MPI-OpenMP computing;hybrid programming models;large-scale distributed systems;message passing interface;parallel programs;power-aware computing;power-aware performance prediction model;Concurrent computing;Discrete cosine transforms;Dynamic programming;Dynamic voltage scaling;Frequency;Heuristic algorithms;Large-scale systems;Multicore processing;Power system modeling;Predictive models;MPI;OpenMP;performance modeling;power-aware high -performance computing}, +doi={10.1109/IPDPS.2010.5470463}, +ISSN={1530-2075} +} + + +@inproceedings{Hao_Learning.based.DVFS, + author = {Hao Shen and + Jun Lu and + Qinru Qiu}, + title = {Learning based {DVFS} for simultaneous temperature, performance + and energy management}, + booktitle = {ISQED}, + year = {2012}, + pages = {747-754}, + ee = {http://dx.doi.org/10.1109/ISQED.2012.6187575}, + CCcrossref = {DBLP:conf/isqed/2012}, + CCbibsource = {DBLP, http://dblp.uni-trier.de} +} + + +@inproceedings{20, + author = {Springer, Robert and Lowenthal, David K. and Rountree, Barry and Freeh, Vincent W.}, + title = {Minimizing Execution Time in {MPI} Programs on an Energy-constrained, Power-scalable Cluster}, + booktitle = {Proceedings of the Eleventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming}, + series = {PPoPP '06}, + year = {2006}, + isbn = {1-59593-189-9}, + location = {New York, New York, USA}, + pages = {230--238}, + numpages = {9}, + doi = {10.1145/1122971.1123006}, + acmid = {1123006}, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {MPI, energy, modeling, power, prediction} +} + +@inproceedings{21, + added-at = {2011-12-01T00:00:00.000+0100}, + author = {Rauber, and Rünger, Gudula}, + booktitle = {SpringSim (CNS)}, + crossref = {conf/springsim/2011-3}, + editor = {Abhari, Abdolreza}, + ee = {http://dl.acm.org/citation.cfm?id=2048418}, + interhash = {6276d16bd7969248c4e77f8f64830d50}, + intrahash = {1cd7e6aa9e6f55f1185c3157b9cde5c1}, + keywords = {dblp}, + pages = {11-18}, + publisher = {SCS/ACM}, + timestamp = {2011-12-01T00:00:00.000+0100}, + title = {Modeling the energy consumption for concurrent executions of parallel tasks.}, + year = {2011} +} + +@inproceedings{22, + author = {Ge, Rong and Feng, Xizhou and Cameron, Kirk W.}, + title = {Performance-constrained Distributed DVS Scheduling for Scientific Applications on Power-aware Clusters}, + booktitle = {Proceedings of the 2005 ACM/IEEE Conference on Supercomputing}, + series = {SC '05}, + year = {2005}, + isbn = {1-59593-061-2}, + pages = {34--}, + doi = {10.1109/SC.2005.57}, + acmid = {1105799}, + publisher = {IEEE Computer Society}, + address = {Washington, DC, USA} +} + + +@inproceedings{23, + author = {Feng, Xizhou and Ge, Rong and Cameron, Kirk W.}, + title = {Power and Energy Profiling of Scientific Applications on Distributed Systems}, + booktitle = {Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers - Volume 01}, + series = {IPDPS '05}, + year = {2005}, + isbn = {0-7695-2312-9}, + pages = {34--}, + doi = {10.1109/IPDPS.2005.346}, + acmid = {1054376}, + publisher = {IEEE Computer Society}, + address = {Washington, DC, USA} +} + +@inproceedings{24, + added-at = {2009-11-27T00:00:00.000+0100}, + author = {Chen, Yen-Jun and Hsu, Ching-Hsien and Li, Kuan-Ching and Chang, Hsi-Ya and Wang, Shuen-Tai}, + booktitle = {Infoscale}, + crossref = {conf/infoscale/2009}, + date = {2009-11-27}, + description = {dblp}, + editor = {Mueller, Peter and Cao, Jian-Nong and Wang, Cho-Li}, + ee = {http://dx.doi.org/10.1007/978-3-642-10485-5_8}, + interhash = {d191ac30e6c4bd27288ffdf9e6d0e815}, + intrahash = {4601b8a777bdf956bb48fa611b7556f5}, + isbn = {978-3-642-10484-8}, + keywords = {dblp}, + pages = {108-120}, + publisher = {Springer}, + series = {Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering}, + timestamp = {2009-11-27T00:00:00.000+0100}, + title = {Power Consumption Optimization of {MPI} Programs on Multi-core Clusters.}, + volume = {18}, + year = {2009} +} + +@inproceedings{25, + author = {Laurenzano, Michael A. and Meswani, Mitesh and Carrington, Laura and Snavely, Allan and Tikir, Mustafa M. and Poole, Stephen}, + title = {Reducing Energy Usage with Memory and Computation-aware Dynamic Frequency Scaling}, + booktitle = {Proceedings of the 17th International Conference on Parallel Processing - Volume Part I}, + series = {Euro-Par'11}, + year = {2011}, + isbn = {978-3-642-23399-9}, + location = {Bordeaux, France}, + pages = {79--90}, + numpages = {12}, + acmid = {2033356}, + publisher = {Springer-Verlag}, + address = {Berlin, Heidelberg}, + keywords = {benchmarking, dynamic voltage frequency scaling, energy optimization, high performance computing, memory latency} +} + +@article{Rizvandi_Some.Observations.on.Optimal.Frequency, + author = {Rizvandi, Nikzad Babaii and Taheri, Javid and Zomaya, Albert Y.}, + title = {Some Observations on Optimal Frequency Selection in {DVFS}-based Energy Consumption Minimization}, + journal = {J. Parallel Distrib. Comput.}, + issue_date = {August, 2011}, + volume = {71}, + number = {8}, + month = aug, + year = {2011}, + issn = {0743-7315}, + pages = {1154--1164}, + numpages = {11}, + doi = {10.1016/j.jpdc.2011.01.004}, + acmid = {1998949}, + publisher = {Academic Press, Inc.}, + address = {Orlando, FL, USA}, + keywords = {DVFS, Energy efficiency, HPCS, Scheduling} +} + +@article{27, + author = {Dhiman, Gaurav and Rosing, Tajana \v{S}imunic}, + title = {System-level Power Management Using Online Learning}, + journal = {Trans. Comp.-Aided Des. Integ. Cir. Sys.}, + issue_date = {May 2009}, + volume = {28}, + number = {5}, + month = may, + year = {2009}, + issn = {0278-0070}, + pages = {676--689}, + numpages = {14}, + doi = {10.1109/TCAD.2009.2015740}, + acmid = {1656937}, + publisher = {IEEE Press}, + address = {Piscataway, NJ, USA}, + keywords = {Dynamic voltage frequency scaling, dynamic voltage frequency scaling, energy-performance trade-off, online learning, power management} +} + +@INPROCEEDINGS{28, +author={Yongpan Liu and Huazhong Yang and Dick, R.P. and Hui Wang and Li Shang}, +booktitle={Quality Electronic Design, 2007. ISQED '07. 8th International Symposium on}, +title={Thermal vs Energy Optimization for {DVFS}-Enabled Processors in Embedded Systems}, +year={2007}, +month=mar, +pages={204-209}, +keywords={circuit optimisation;embedded systems;integrated circuit design;low-power electronics;microprocessor chips;nonlinear programming;thermal management (packaging);DVFS-enabled processors;application peak temperature;cooling costs;dynamic voltage voltage;embedded systems;energy consumption;frequency scaling;nonlinear programming;power optimization;run-time thermal emergencies;system thermal profile;thermal optimization;thermal-constrained energy optimization;Cooling;Cost function;Design optimization;Dynamic voltage scaling;Embedded system;Energy consumption;Frequency;Power system planning;Runtime;Temperature}, +doi={10.1109/ISQED.2007.158} +} + +@INPROCEEDINGS{29, +author={Fen Xie and Martonosi, M. and Malik, S.}, +booktitle={Low Power Electronics and Design, 2005. ISLPED '05. Proceedings of the 2005 International Symposium on}, +title={Bounds on power savings using runtime dynamic voltage scaling: an exact algorithm and a linear-time heuristic approximation}, +year={2005}, +month=aug, +pages={287-292}, +keywords={approximation theory;energy conservation;low-power electronics;power consumption;power supply circuits;DVFS policy;discrete voltage/frequency voltage level;dynamic voltage scaling;dynamic voltage/frequency scaling;energy reduction technique;exponential algorithm;linear-time heuristic approximation;power reduction technique;switching cost;Approximation algorithms;Costs;Dynamic voltage scaling;Energy consumption;Frequency;Linear approximation;Power system modeling;Runtime;Semiconductor device modeling;Upper bound}, +doi={10.1109/LPE.2005.195529} +} + +@INPROCEEDINGS{30, +author={Lizhe Wang and von Laszewski, G. and Dayal, J. and Fugang Wang}, +booktitle={Cluster, Cloud and Grid Computing (CCGrid), 2010 10th IEEE/ACM International Conference on}, +title={Towards Energy Aware Scheduling for Precedence Constrained Parallel Tasks in a Cluster with {DVFS}}, +year={2010}, +month=may, +pages={368-377}, +keywords={environmental factors;parallel processing;power aware computing;scheduling;workstation clusters;dynamic voltage frequency scaling technique;energy aware scheduling heuristics;green service level agreement;high end computing;precedence constrained parallel tasks;Computational modeling;Concurrent computing;Costs;Dynamic voltage scaling;Energy consumption;Frequency;Grid computing;High performance computing;Power engineering computing;Processor scheduling;Cluster Computing;Green Computing;Task Scheduling}, +doi={10.1109/CCGRID.2010.19} +} + +@article{31, +author = {Yu-Liang Chou and Shaoshan Liu and Eui-Young Chung and Jean-Luc Gaudiot}, +title = {An Energy and Performance Efficient {DVFS} Scheme for Irregular Parallel Divide-and-Conquer Algorithms on the {Intel SCC}}, +journal ={IEEE Computer Architecture Letters}, +volume = {99}, +number = {RapidPosts}, +issn = {1556-6056}, +year = {2013}, +pages = {1}, +doi = {http://doi.ieeecomputersociety.org/10.1109/L-CA.2013.1}, +publisher = {IEEE Computer Society}, +address = {Los Alamitos, CA, USA} +} + +@article{32, +title = "Energy-aware simulation with \{DVFS\} ", +journal = "Simulation Modelling Practice and Theory ", +volume = "39", +number = "0", +pages = "76 - 91", +year = "2013", +note = "S.I.Energy efficiency in grids and clouds ", +issn = "1569-190X", +doi = "http://dx.doi.org/10.1016/j.simpat.2013.04.007", +author = {Tom Guérout and Thierry Monteil and Georges Da Costa and Rodrigo Neves Calheiros and Rajkumar Buyya and Mihai Alexandru} + +} + +@INPROCEEDINGS{33, +author={Kappiah, N. and Freeh, Vincent W. and Lowenthal, D.K.}, +booktitle={Supercomputing, 2005. Proceedings of the ACM/IEEE SC 2005 Conference}, +title={Just In Time Dynamic Voltage Scaling: Exploiting Inter-Node Slack to Save Energy in {MPI} Programs}, +year={2005}, +month=nov, +pages={33-33}, +keywords={Computer science;Dynamic voltage scaling;Energy consumption;Energy efficiency;Frequency;Gears;Jitter;Microprocessors;Performance loss;Permission}, +doi={10.1109/SC.2005.39} +} + +@inproceedings{34, + author = {Cochran, Ryan and Hankendi, Can and Coskun, Ayse and Reda, Sherief}, + title = {Identifying the Optimal Energy-efficient Operating Points of Parallel Workloads}, + booktitle = {Proceedings of the International Conference on Computer-Aided Design}, + series = {ICCAD '11}, + year = {2011}, + isbn = {978-1-4577-1398-9}, + location = {San Jose, California}, + pages = {608--615}, + numpages = {8}, + acmid = {2132464}, + publisher = {IEEE Press}, + address = {NJ, USA} +} + +@article{35, +title = "Adaptive energy-efficient scheduling algorithm for parallel tasks on homogeneous clusters ", +journal = "Journal of Network and Computer Applications ", +volume = "", +number = "0", +pages = " - ", +year = "2013", +note = "", +issn = "1084-8045", +doi = "http://dx.doi.org/10.1016/j.jnca.2013.10.009", +author = {Wei Liu and Wei Du and Jing Chen and Wei Wang and GuoSun Zeng} + +} + +@article{Kim_Leakage.Current.Moore.Law, + author = {Kim, Nam Sung and Austin, Todd and Blaauw, David and Mudge, Trevor and Flautner, Kriszti\'{a}n and Hu, Jie S. and Irwin, Mary Jane and Kandemir, Mahmut and Narayanan, Vijaykrishnan}, + title = {Leakage Current: Moore's Law Meets Static Power}, + journal = {Computer}, + issue_date = {December 2003}, + volume = {36}, + number = {12}, + month = dec, + year = {2003}, + issn = {0018-9162}, + pages = {68--75}, + numpages = {8}, + doi = {10.1109/MC.2003.1250885}, + acmid = {957974}, + publisher = {IEEE Computer Society Press}, + address = {Los Alamitos, CA, USA} +} + +@inproceedings{Le_DVFS.Laws.of.Diminishing.Returns, + author = {Le Sueur, Etienne and Gernot Heiser}, + month = oct, + year = {2010}, + title = {Dynamic Voltage and Frequency Scaling: The Laws of Diminishing Returns}, + booktitle = {Proceedings of the 2010 Workshop on Power Aware Computing and Systems (HotPower'10)}, + NOaddress = {Vancouver, Canada} + } + +@inproceedings{Cochran_Pack_and_Cap_Adaptive_DVFS, + author = {Cochran, Ryan and Hankendi, Can and Coskun, Ayse K. and Reda, Sherief}, + title = {Pack \& Cap: Adaptive {DVFS} and Thread Packing Under Power Caps}, + booktitle = {Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture}, + series = {MICRO-44}, + year = {2011}, + isbn = {978-1-4503-1053-6}, + location = {Porto Alegre, Brazil}, + pages = {175--185}, + numpages = {11}, + doi = {10.1145/2155620.2155641}, + acmid = {2155641}, + publisher = {ACM}, + address = {NY, USA} +} + +@INPROCEEDINGS{39, +author={Dhiman, G. and Rosing, T.S.}, +booktitle={Low Power Electronics and Design (ISLPED), 2007 ACM/IEEE International Symposium on}, +title={Dynamic voltage frequency scaling for multi-tasking systems using online learning}, +year={2007}, +month=aug, +pages={207-212}, +keywords={Linux;computer aided instruction;multiprogramming;power aware computing;program compilers;system monitoring;Intel PXA27x;Linux 2.6.9;dynamic voltage frequency scaling;multitasking systems;online learning;processors runtime statistics;Batteries;Computer applications;Delay;Dynamic voltage scaling;Embedded system;Energy consumption;Frequency estimation;Linux;Power engineering computing;Statistics;dynamic voltage frequency scaling;online learning}, +doi={10.1145/1283780.1283825} +} + +@inproceedings{40, + author = {Azevedo, A. and Issenin, I. and Cornea, R. and Gupta, R. and Dutt, N. and Veidenbaum, A. and Nicolau, A.}, + title = {Profile-Based Dynamic Voltage Scheduling Using Program Checkpoints}, + booktitle = {Proceedings of the Conference on Design, Automation and Test in Europe}, + series = {DATE '02}, + year = {2002}, + isbn = {0-7695-1471-5}, + pages = {168-175}, + acmid = {874373}, + publisher = {IEEE Computer Society}, + address = {Washington, DC, USA} +} + +@inproceedings{41, + author = {Miftakhutdinov, Rustam and Ebrahimi, Eiman and Patt, Yale N.}, + title = {Predicting Performance Impact of {DVFS} for Realistic Memory Systems}, + booktitle = {Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture}, + series = {MICRO-45}, + year = {2012}, + isbn = {978-0-7695-4924-8}, + location = {Vancouver, B.C., CANADA}, + pages = {155--165}, + numpages = {11}, + doi = {10.1109/MICRO.2012.23}, + acmid = {2457493}, + publisher = {IEEE Computer Society}, + address = {Washington, DC, USA} +} + +@ARTICLE{Dhiman_Online.Learning.Power.Management, +author={Dhiman, G. and Rosing, T.S.}, +journal={Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on}, +title={System-Level Power Management Using Online Learning}, +year={2009}, +month=may, +volume={28}, +number={5}, +pages={676-689}, +keywords={power aware computing;DPM policies;Intel PXA27x core;device leakage characteristics;dynamic power management;dynamic voltage-frequency scaling problems;hard disk drive;online learning;system-level power management;workload characterization;Dynamic voltage frequency scaling;energy-performance trade-off;online learning;power management}, +doi={10.1109/TCAD.2009.2015740}, +ISSN={0278-0070} +} + +@MISC{TOP500_Supercomputers_Sites, + title = {{TOP500 Supercomputers Sites}}, + url = {http://www.top500.org} +} + +@MISC{SimGrid.org, + title = {{SimGrid: Versatile Simulation of Distributed Systems}}, + url = {http://simgrid.org} +} + +@MISC{NAS.Parallel.Benchmarks, + author = {{NASA Advanced Supercomputing Division}}, + title = {{NAS} Parallel Benchmarks}, + url = {http://www.nas.nasa.gov/publications/npb.html}, + month = mar, + year = 2012, + publisher = {https://www.nas.nasa.gov/publications/npb.html} +} + + +@INPROCEEDINGS{Our_first_paper, + author = {Jean-Claude Charr and Rapha{\"e}l Couturier and + Ahmed Fanfakh and Arnaud Giersch}, + title = {Dynamic Frequency Scaling for Energy Consumption + Reduction in Distributed {MPI} Programs}, + booktitle = {{ISPA} 2014: 12th IEEE International Symposium on + Parallel and Distributed Processing with + Applications}, + year = {2014}, + month = aug, + pages = {225--230}, + publisher = {IEEE Computer Society}, + address = {Milan, Italy} +} + +@InProceedings{Casanova:2008:SGF:1397760.1398183, + author = {Casanova, Henri and Legrand, Arnaud and Quinson, + Martin}, + title = {{SimGrid}: a Generic Framework for Large-Scale + Distributed Experiments}, + booktitle = {Proceedings of the Tenth International Conference on + Computer Modeling and Simulation}, + series = {UKSIM '08}, + year = {2008}, + isbn = {978-0-7695-3114-4}, + pages = {126--131}, + numpages = {6}, + doi = {10.1109/UKSIM.2008.28}, + acmid = {1398183}, + publisher = {IEEE Computer Society}, + address = {Washington, DC, USA} +} + +@article{casanova+giersch+legrand+al.2014.versatile, + author = {Henri Casanova and Arnaud Giersch and Arnaud Legrand + and Martin Quinson and Fr{\'e}d{\'e}ric Suter}, + title = {Versatile, Scalable, and Accurate Simulation of + Distributed Applications and Platforms }, + journal = {Journal of Parallel and Distributed Computing}, + issn = {0743-7315}, + volume = 74, + number = 10, + pages = {2899--2917}, + year = 2014, + month = oct, + doi = {10.1016/j.jpdc.2014.06.008}, + pdf = {http://hal.inria.fr/docs/01/05/75/41/PDF/simgrid3-journal.pdf} +} + + +@MISC{47, + title = {Intel microprocessor export compliance metrics}, + url = {http://www.intel.com/support/processors/sb/CS-017346.htm} +} + +@techreport{48, + title = {Energy efficiency evaluation and benchmarking of {AFRL}'s Condor high performance computer}, + + urldate = {2014-10-16}, + institution = {{DTIC} Document}, + author = {Luley, Ryan and Usmail, Courtney and Barnell, Mark}, + year = {2011}, + file = {a548738.pdf:files/30/a548738.pdf:application/pdf} +} + +@INPROCEEDINGS{KaiMa_Holistic.Approach.to.Energy.Efficiency.in.GPU-CPU, +author={Kai Ma and Xue Li and Wei Chen and Chi Zhang and Xiaorui Wang}, +booktitle={Parallel Processing (ICPP), 2012 41st International Conference on}, +title={GreenGPU: A Holistic Approach to Energy Efficiency in GPU-CPU Heterogeneous Architectures}, +year={2012}, +month=sep, +pages={48-57}, +keywords={energy consumption;graphics processing units;parallel architectures;AMD Phenom II CPU;CUDA framework;GPU-CPU heterogeneous architectures;GreenGPU;Nvidia GeForce GPU;energy consumption;energy efficiency;high performance computing;holistic approach;Algorithm design and analysis;Computer architecture;Frequency conversion;Graphics processing unit;Green products;Heuristic algorithms;Time frequency analysis;GPU;dynamic frequency scaling;energy efficiency;workload division}, +doi={10.1109/ICPP.2012.31}, +ISSN={0190-3918} +} + + + +@INPROCEEDINGS{Rong_Effects.of.DVFS.on.K20.GPU, +author={Rong Ge and Vogt, R. and Majumder, J. and Alam, A. and Burtscher, M. and Ziliang Zong}, +booktitle={Parallel Processing (ICPP), 2013 42nd International Conference on}, +title={Effects of Dynamic Voltage and Frequency Scaling on a K20 GPU}, +year={2013}, +month=oct, +pages={826-833}, +keywords={energy conservation;graphics processing units;parallel processing;power aware computing;power consumption;DVFS schedulers;GPU computing;K20 GPU;Nvidia K20c Kepler GPU;application performance;compute-bound high-performance workloads;dual Intel Sandy Bridge CPU;dynamic voltage and frequency scaling;energy efficiency;high-throughput workloads;power consumption;power-aware heterogeneous system;Benchmark testing;Computer architecture;Energy consumption;Graphics processing units;Market research;Measurement;Power demand;DVFS in GPU Computing;Dynamic Voltage and Frequency Scaling;Energy-Efficient Computing}, +doi={10.1109/ICPP.2013.98}, +ISSN={0190-3918} +} + + +@techreport{Luley_Energy.efficiency.evaluation.and.benchmarking, + title = {Energy efficiency evaluation and benchmarking of {AFRL}'s Condor high performance computer}, + + urldate = {2014-10-16}, + institution = {{DTIC} Document}, + author = {Luley, Ryan and Usmail, Courtney and Barnell, Mark}, + year = {2011}, + +} + + + +@INPROCEEDINGS{Naveen_Power.Efficient.Resource.Scaling, +author = {Naveen Muralimanohar and Karthik Ramani and Rajeev Balasubramonian}, +title = {Power Efficient Resource Scaling in Partitioned Architectures through Dynamic Heterogeneity}, +booktitle = {In Proceedings of ISPASS}, +year = {2006} +} + +@article{Lizhe_Energy.aware.parallel.task.scheduling, +title = "Energy-aware parallel task scheduling in a cluster ", +journal = "Future Generation Computer Systems ", +volume = "29", +number = "7", +pages = "1661 - 1670", +year = "2013", +issn = "0167-739X", +doi = "http://dx.doi.org/10.1016/j.future.2013.02.010", +author = {Lizhe Wang and Samee U. Khan and Dan Chen and Joanna Kołodziej and Rajiv Ranjan and Cheng-zhong Xu and Albert Zomaya} + + +} + + + +@article{Joshi_Blackbox.prediction.of.impact.of.DVFS, + title = {Blackbox prediction of the impact of {DVFS} on end-to-end performance of multitier systems}, + volume = {37}, + number = {4}, + urldate = {2014-03-28}, + journal = {{ACM} {SIGMETRICS} Performance Evaluation Review}, + author = {Joshi, Kaustubh R. and Hiltunen, Matti A. and Schlichting, Richard D. and Sanders, William H.}, + year = {2010}, + pages = {59--63} +} + + +@INPROCEEDINGS{Spiliopoulos_Green.governors.Adaptive.DVFS, +author={Spiliopoulos, V. and Kaxiras, S. and Keramidas, G.}, +booktitle={International Green Computing Conference and Workshops (IGCC)}, +title={Green governors: A framework for Continuously Adaptive DVFS}, +year={2011}, +month=jul, +pages={1-8}, +doi={10.1109/IGCC.2011.6008552} +} + + +@inproceedings{Shelepov_Scheduling.on.Heterogeneous.Multicore, + author = {Shelepov, D. and Fedorova, A.}, + intrahash = {2287b0be888deceb937bace77634081a}, + booktitle = {Workshop on the Interaction between Operating Systems and Computer Architecture, in conjunction with ISCA}, + timestamp = {2008-10-07T16:32:27.000+0200}, + title = {Scheduling on Heterogeneous Multicore Processors Using Architectural Signatures}, + year = {2008} +} + + +@article{Li_Minimizing.Energy.Consumption.for.Frame.Based.Tasks, +author={Li, D. and Wu, J.}, +journal={Parallel and Distributed Systems, IEEE Transactions on}, +title={Minimizing Energy Consumption for Frame-Based Tasks on Heterogeneous Multiprocessor Platforms}, +year={2014}, +month={}, +volume={PP}, +number={99}, +pages={1-1}, +keywords={Energy consumption;Optimization;Partitioning algorithms;Processor scheduling;Program processors;Runtime;Time-frequency analysis}, +doi={10.1109/TPDS.2014.2313338}, +ISSN={1045-9219},} +} + +@article{Chen_DVFS.under.quality.of.service.requirements, + title = {Dynamic frequency scaling schemes for heterogeneous clusters under quality of service requirements}, + volume = {28}, + number = {6}, + urldate = {2014-11-07}, + journal = {Journal of Information Science and Engineering}, + author = {Chen, Jian-Jia and Huang, Kai and Thiele, Lothar}, + year = {2012}, + pages = {1073--1090} + +} + +@MISC{Green500_List, + title = {{The Green500 List of Heterogeneous Supercomputing Systems}}, + url = {http://www.green500.org} +} + +@MISC{U.S_Annual.Energy.Outlook.2014, + title = {{U.S. Energy Information Administration, Annual Energy Outlook 2014}}, + url = {http://www.eia.gov/} +} + +@inproceedings{pdsec2015, + title = {Energy Consumption Reduction with DVFS for Message Passing Iterative Applications on Heterogeneous Architectures}, + author = {Charr, Jean-Claude and Couturier, Rapha\~{A}«l and Fanfakh, Ahmed and Giersch, Arnaud}, + year = {2015}, + address = {Hyderabad, India}, + booktitle = {PDSEC 2015, 16th IEEE Int. Workshop on Parallel and Distributed Scientific and Engineering Computing (in conjuction with IPDPS 2015)}, + month = {May}, + %pages = {***--***}, + publisher = {IEEE} +} + +@article{Energy_measurement, +year={2014}, +issn={0920-8542}, +journal={The Journal of Supercomputing}, +volume={70}, +number={3}, +doi={10.1007/s11227-014-1236-4}, +title={Energy measurement, modeling, and prediction for processors with frequency scaling}, +publisher={Springer US}, +keywords={Dynamic voltage–frequency scaling; DVFS; SPEC CPU2006 benchmarks; Energy measurement; Energy models}, +author={Rauber, Thomas and Rünger, Gudula and Schwind, Michael and Xu, Haibin and Melzner, Simon}, +pages={1451-1476} +} + + +@MISC{grid5000, + title = {grid5000}, + url = {http://www.grid5000.fr/} +} \ No newline at end of file -- 2.39.5

w3bj|SBUT*eXx$o0 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%0AJqz1gH)Dm1h25sV!6CJ*1v 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