Mercurial > cgi-bin > hgwebdir.cgi > VMS > 0__Writings > kshalle
changeset 56:f0d056109bdd
VMS Full conf -- adding style files and design text files
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/helpers/plain.bst Tue Jun 19 16:25:28 2012 -0700 1.3 @@ -0,0 +1,1098 @@ 1.4 +% BibTeX standard bibliography style `plain' 1.5 + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. 1.6 + % Copyright (C) 1985, all rights reserved. 1.7 + % Copying of this file is authorized only if either 1.8 + % (1) you make absolutely no changes to your copy, including name, or 1.9 + % (2) if you do make changes, you name it something other than 1.10 + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst. 1.11 + % This restriction helps ensure that all standard styles are identical. 1.12 + % The file btxbst.doc has the documentation for this style. 1.13 + 1.14 +ENTRY 1.15 + { address 1.16 + author 1.17 + booktitle 1.18 + chapter 1.19 + edition 1.20 + editor 1.21 + howpublished 1.22 + institution 1.23 + journal 1.24 + key 1.25 + month 1.26 + note 1.27 + number 1.28 + organization 1.29 + pages 1.30 + publisher 1.31 + school 1.32 + series 1.33 + title 1.34 + type 1.35 + volume 1.36 + year 1.37 + } 1.38 + {} 1.39 + { label } 1.40 + 1.41 +INTEGERS { output.state before.all mid.sentence after.sentence after.block } 1.42 + 1.43 +FUNCTION {init.state.consts} 1.44 +{ #0 'before.all := 1.45 + #1 'mid.sentence := 1.46 + #2 'after.sentence := 1.47 + #3 'after.block := 1.48 +} 1.49 + 1.50 +STRINGS { s t } 1.51 + 1.52 +FUNCTION {output.nonnull} 1.53 +{ 's := 1.54 + output.state mid.sentence = 1.55 + { ", " * write$ } 1.56 + { output.state after.block = 1.57 + { add.period$ write$ 1.58 + newline$ 1.59 + "\newblock " write$ 1.60 + } 1.61 + { output.state before.all = 1.62 + 'write$ 1.63 + { add.period$ " " * write$ } 1.64 + if$ 1.65 + } 1.66 + if$ 1.67 + mid.sentence 'output.state := 1.68 + } 1.69 + if$ 1.70 + s 1.71 +} 1.72 + 1.73 +FUNCTION {output} 1.74 +{ duplicate$ empty$ 1.75 + 'pop$ 1.76 + 'output.nonnull 1.77 + if$ 1.78 +} 1.79 + 1.80 +FUNCTION {output.check} 1.81 +{ 't := 1.82 + duplicate$ empty$ 1.83 + { pop$ "empty " t * " in " * cite$ * warning$ } 1.84 + 'output.nonnull 1.85 + if$ 1.86 +} 1.87 + 1.88 +FUNCTION {output.bibitem} 1.89 +{ newline$ 1.90 + "\bibitem{" write$ 1.91 + cite$ write$ 1.92 + "}" write$ 1.93 + newline$ 1.94 + "" 1.95 + before.all 'output.state := 1.96 +} 1.97 + 1.98 +FUNCTION {fin.entry} 1.99 +{ add.period$ 1.100 + write$ 1.101 + newline$ 1.102 +} 1.103 + 1.104 +FUNCTION {new.block} 1.105 +{ output.state before.all = 1.106 + 'skip$ 1.107 + { after.block 'output.state := } 1.108 + if$ 1.109 +} 1.110 + 1.111 +FUNCTION {new.sentence} 1.112 +{ output.state after.block = 1.113 + 'skip$ 1.114 + { output.state before.all = 1.115 + 'skip$ 1.116 + { after.sentence 'output.state := } 1.117 + if$ 1.118 + } 1.119 + if$ 1.120 +} 1.121 + 1.122 +FUNCTION {not} 1.123 +{ { #0 } 1.124 + { #1 } 1.125 + if$ 1.126 +} 1.127 + 1.128 +FUNCTION {and} 1.129 +{ 'skip$ 1.130 + { pop$ #0 } 1.131 + if$ 1.132 +} 1.133 + 1.134 +FUNCTION {or} 1.135 +{ { pop$ #1 } 1.136 + 'skip$ 1.137 + if$ 1.138 +} 1.139 + 1.140 +FUNCTION {new.block.checka} 1.141 +{ empty$ 1.142 + 'skip$ 1.143 + 'new.block 1.144 + if$ 1.145 +} 1.146 + 1.147 +FUNCTION {new.block.checkb} 1.148 +{ empty$ 1.149 + swap$ empty$ 1.150 + and 1.151 + 'skip$ 1.152 + 'new.block 1.153 + if$ 1.154 +} 1.155 + 1.156 +FUNCTION {new.sentence.checka} 1.157 +{ empty$ 1.158 + 'skip$ 1.159 + 'new.sentence 1.160 + if$ 1.161 +} 1.162 + 1.163 +FUNCTION {new.sentence.checkb} 1.164 +{ empty$ 1.165 + swap$ empty$ 1.166 + and 1.167 + 'skip$ 1.168 + 'new.sentence 1.169 + if$ 1.170 +} 1.171 + 1.172 +FUNCTION {field.or.null} 1.173 +{ duplicate$ empty$ 1.174 + { pop$ "" } 1.175 + 'skip$ 1.176 + if$ 1.177 +} 1.178 + 1.179 +FUNCTION {emphasize} 1.180 +{ duplicate$ empty$ 1.181 + { pop$ "" } 1.182 + { "{\em " swap$ * "}" * } 1.183 + if$ 1.184 +} 1.185 + 1.186 +INTEGERS { nameptr namesleft numnames } 1.187 + 1.188 +FUNCTION {format.names} 1.189 +{ 's := 1.190 + #1 'nameptr := 1.191 + s num.names$ 'numnames := 1.192 + numnames 'namesleft := 1.193 + { namesleft #0 > } 1.194 + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := 1.195 + nameptr #1 > 1.196 + { namesleft #1 > 1.197 + { ", " * t * } 1.198 + { numnames #2 > 1.199 + { "," * } 1.200 + 'skip$ 1.201 + if$ 1.202 + t "others" = 1.203 + { " et~al." * } 1.204 + { " and " * t * } 1.205 + if$ 1.206 + } 1.207 + if$ 1.208 + } 1.209 + 't 1.210 + if$ 1.211 + nameptr #1 + 'nameptr := 1.212 + namesleft #1 - 'namesleft := 1.213 + } 1.214 + while$ 1.215 +} 1.216 + 1.217 +FUNCTION {format.authors} 1.218 +{ author empty$ 1.219 + { "" } 1.220 + { author format.names } 1.221 + if$ 1.222 +} 1.223 + 1.224 +FUNCTION {format.editors} 1.225 +{ editor empty$ 1.226 + { "" } 1.227 + { editor format.names 1.228 + editor num.names$ #1 > 1.229 + { ", editors" * } 1.230 + { ", editor" * } 1.231 + if$ 1.232 + } 1.233 + if$ 1.234 +} 1.235 + 1.236 +FUNCTION {format.title} 1.237 +{ title empty$ 1.238 + { "" } 1.239 + { title "t" change.case$ } 1.240 + if$ 1.241 +} 1.242 + 1.243 +FUNCTION {n.dashify} 1.244 +{ 't := 1.245 + "" 1.246 + { t empty$ not } 1.247 + { t #1 #1 substring$ "-" = 1.248 + { t #1 #2 substring$ "--" = not 1.249 + { "--" * 1.250 + t #2 global.max$ substring$ 't := 1.251 + } 1.252 + { { t #1 #1 substring$ "-" = } 1.253 + { "-" * 1.254 + t #2 global.max$ substring$ 't := 1.255 + } 1.256 + while$ 1.257 + } 1.258 + if$ 1.259 + } 1.260 + { t #1 #1 substring$ * 1.261 + t #2 global.max$ substring$ 't := 1.262 + } 1.263 + if$ 1.264 + } 1.265 + while$ 1.266 +} 1.267 + 1.268 +FUNCTION {format.date} 1.269 +{ year empty$ 1.270 + { month empty$ 1.271 + { "" } 1.272 + { "there's a month but no year in " cite$ * warning$ 1.273 + month 1.274 + } 1.275 + if$ 1.276 + } 1.277 + { month empty$ 1.278 + 'year 1.279 + { month " " * year * } 1.280 + if$ 1.281 + } 1.282 + if$ 1.283 +} 1.284 + 1.285 +FUNCTION {format.btitle} 1.286 +{ title emphasize 1.287 +} 1.288 + 1.289 +FUNCTION {tie.or.space.connect} 1.290 +{ duplicate$ text.length$ #3 < 1.291 + { "~" } 1.292 + { " " } 1.293 + if$ 1.294 + swap$ * * 1.295 +} 1.296 + 1.297 +FUNCTION {either.or.check} 1.298 +{ empty$ 1.299 + 'pop$ 1.300 + { "can't use both " swap$ * " fields in " * cite$ * warning$ } 1.301 + if$ 1.302 +} 1.303 + 1.304 +FUNCTION {format.bvolume} 1.305 +{ volume empty$ 1.306 + { "" } 1.307 + { "volume" volume tie.or.space.connect 1.308 + series empty$ 1.309 + 'skip$ 1.310 + { " of " * series emphasize * } 1.311 + if$ 1.312 + "volume and number" number either.or.check 1.313 + } 1.314 + if$ 1.315 +} 1.316 + 1.317 +FUNCTION {format.number.series} 1.318 +{ volume empty$ 1.319 + { number empty$ 1.320 + { series field.or.null } 1.321 + { output.state mid.sentence = 1.322 + { "number" } 1.323 + { "Number" } 1.324 + if$ 1.325 + number tie.or.space.connect 1.326 + series empty$ 1.327 + { "there's a number but no series in " cite$ * warning$ } 1.328 + { " in " * series * } 1.329 + if$ 1.330 + } 1.331 + if$ 1.332 + } 1.333 + { "" } 1.334 + if$ 1.335 +} 1.336 + 1.337 +FUNCTION {format.edition} 1.338 +{ edition empty$ 1.339 + { "" } 1.340 + { output.state mid.sentence = 1.341 + { edition "l" change.case$ " edition" * } 1.342 + { edition "t" change.case$ " edition" * } 1.343 + if$ 1.344 + } 1.345 + if$ 1.346 +} 1.347 + 1.348 +INTEGERS { multiresult } 1.349 + 1.350 +FUNCTION {multi.page.check} 1.351 +{ 't := 1.352 + #0 'multiresult := 1.353 + { multiresult not 1.354 + t empty$ not 1.355 + and 1.356 + } 1.357 + { t #1 #1 substring$ 1.358 + duplicate$ "-" = 1.359 + swap$ duplicate$ "," = 1.360 + swap$ "+" = 1.361 + or or 1.362 + { #1 'multiresult := } 1.363 + { t #2 global.max$ substring$ 't := } 1.364 + if$ 1.365 + } 1.366 + while$ 1.367 + multiresult 1.368 +} 1.369 + 1.370 +FUNCTION {format.pages} 1.371 +{ pages empty$ 1.372 + { "" } 1.373 + { pages multi.page.check 1.374 + { "pages" pages n.dashify tie.or.space.connect } 1.375 + { "page" pages tie.or.space.connect } 1.376 + if$ 1.377 + } 1.378 + if$ 1.379 +} 1.380 + 1.381 +FUNCTION {format.vol.num.pages} 1.382 +{ volume field.or.null 1.383 + number empty$ 1.384 + 'skip$ 1.385 + { "(" number * ")" * * 1.386 + volume empty$ 1.387 + { "there's a number but no volume in " cite$ * warning$ } 1.388 + 'skip$ 1.389 + if$ 1.390 + } 1.391 + if$ 1.392 + pages empty$ 1.393 + 'skip$ 1.394 + { duplicate$ empty$ 1.395 + { pop$ format.pages } 1.396 + { ":" * pages n.dashify * } 1.397 + if$ 1.398 + } 1.399 + if$ 1.400 +} 1.401 + 1.402 +FUNCTION {format.chapter.pages} 1.403 +{ chapter empty$ 1.404 + 'format.pages 1.405 + { type empty$ 1.406 + { "chapter" } 1.407 + { type "l" change.case$ } 1.408 + if$ 1.409 + chapter tie.or.space.connect 1.410 + pages empty$ 1.411 + 'skip$ 1.412 + { ", " * format.pages * } 1.413 + if$ 1.414 + } 1.415 + if$ 1.416 +} 1.417 + 1.418 +FUNCTION {format.in.ed.booktitle} 1.419 +{ booktitle empty$ 1.420 + { "" } 1.421 + { editor empty$ 1.422 + { "In " booktitle emphasize * } 1.423 + { "In " format.editors * ", " * booktitle emphasize * } 1.424 + if$ 1.425 + } 1.426 + if$ 1.427 +} 1.428 + 1.429 +FUNCTION {empty.misc.check} 1.430 +{ author empty$ title empty$ howpublished empty$ 1.431 + month empty$ year empty$ note empty$ 1.432 + and and and and and 1.433 + key empty$ not and 1.434 + { "all relevant fields are empty in " cite$ * warning$ } 1.435 + 'skip$ 1.436 + if$ 1.437 +} 1.438 + 1.439 +FUNCTION {format.thesis.type} 1.440 +{ type empty$ 1.441 + 'skip$ 1.442 + { pop$ 1.443 + type "t" change.case$ 1.444 + } 1.445 + if$ 1.446 +} 1.447 + 1.448 +FUNCTION {format.tr.number} 1.449 +{ type empty$ 1.450 + { "Technical Report" } 1.451 + 'type 1.452 + if$ 1.453 + number empty$ 1.454 + { "t" change.case$ } 1.455 + { number tie.or.space.connect } 1.456 + if$ 1.457 +} 1.458 + 1.459 +FUNCTION {format.article.crossref} 1.460 +{ key empty$ 1.461 + { journal empty$ 1.462 + { "need key or journal for " cite$ * " to crossref " * crossref * 1.463 + warning$ 1.464 + "" 1.465 + } 1.466 + { "In {\em " journal * "\/}" * } 1.467 + if$ 1.468 + } 1.469 + { "In " key * } 1.470 + if$ 1.471 + " \cite{" * crossref * "}" * 1.472 +} 1.473 + 1.474 +FUNCTION {format.crossref.editor} 1.475 +{ editor #1 "{vv~}{ll}" format.name$ 1.476 + editor num.names$ duplicate$ 1.477 + #2 > 1.478 + { pop$ " et~al." * } 1.479 + { #2 < 1.480 + 'skip$ 1.481 + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 1.482 + { " et~al." * } 1.483 + { " and " * editor #2 "{vv~}{ll}" format.name$ * } 1.484 + if$ 1.485 + } 1.486 + if$ 1.487 + } 1.488 + if$ 1.489 +} 1.490 + 1.491 +FUNCTION {format.book.crossref} 1.492 +{ volume empty$ 1.493 + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 1.494 + "In " 1.495 + } 1.496 + { "Volume" volume tie.or.space.connect 1.497 + " of " * 1.498 + } 1.499 + if$ 1.500 + editor empty$ 1.501 + editor field.or.null author field.or.null = 1.502 + or 1.503 + { key empty$ 1.504 + { series empty$ 1.505 + { "need editor, key, or series for " cite$ * " to crossref " * 1.506 + crossref * warning$ 1.507 + "" * 1.508 + } 1.509 + { "{\em " * series * "\/}" * } 1.510 + if$ 1.511 + } 1.512 + { key * } 1.513 + if$ 1.514 + } 1.515 + { format.crossref.editor * } 1.516 + if$ 1.517 + " \cite{" * crossref * "}" * 1.518 +} 1.519 + 1.520 +FUNCTION {format.incoll.inproc.crossref} 1.521 +{ editor empty$ 1.522 + editor field.or.null author field.or.null = 1.523 + or 1.524 + { key empty$ 1.525 + { booktitle empty$ 1.526 + { "need editor, key, or booktitle for " cite$ * " to crossref " * 1.527 + crossref * warning$ 1.528 + "" 1.529 + } 1.530 + { "In {\em " booktitle * "\/}" * } 1.531 + if$ 1.532 + } 1.533 + { "In " key * } 1.534 + if$ 1.535 + } 1.536 + { "In " format.crossref.editor * } 1.537 + if$ 1.538 + " \cite{" * crossref * "}" * 1.539 +} 1.540 + 1.541 +FUNCTION {article} 1.542 +{ output.bibitem 1.543 + format.authors "author" output.check 1.544 + new.block 1.545 + format.title "title" output.check 1.546 + new.block 1.547 + crossref missing$ 1.548 + { journal emphasize "journal" output.check 1.549 + format.vol.num.pages output 1.550 + format.date "year" output.check 1.551 + } 1.552 + { format.article.crossref output.nonnull 1.553 + format.pages output 1.554 + } 1.555 + if$ 1.556 + new.block 1.557 + note output 1.558 + fin.entry 1.559 +} 1.560 + 1.561 +FUNCTION {book} 1.562 +{ output.bibitem 1.563 + author empty$ 1.564 + { format.editors "author and editor" output.check } 1.565 + { format.authors output.nonnull 1.566 + crossref missing$ 1.567 + { "author and editor" editor either.or.check } 1.568 + 'skip$ 1.569 + if$ 1.570 + } 1.571 + if$ 1.572 + new.block 1.573 + format.btitle "title" output.check 1.574 + crossref missing$ 1.575 + { format.bvolume output 1.576 + new.block 1.577 + format.number.series output 1.578 + new.sentence 1.579 + publisher "publisher" output.check 1.580 + address output 1.581 + } 1.582 + { new.block 1.583 + format.book.crossref output.nonnull 1.584 + } 1.585 + if$ 1.586 + format.edition output 1.587 + format.date "year" output.check 1.588 + new.block 1.589 + note output 1.590 + fin.entry 1.591 +} 1.592 + 1.593 +FUNCTION {booklet} 1.594 +{ output.bibitem 1.595 + format.authors output 1.596 + new.block 1.597 + format.title "title" output.check 1.598 + howpublished address new.block.checkb 1.599 + howpublished output 1.600 + address output 1.601 + format.date output 1.602 + new.block 1.603 + note output 1.604 + fin.entry 1.605 +} 1.606 + 1.607 +FUNCTION {inbook} 1.608 +{ output.bibitem 1.609 + author empty$ 1.610 + { format.editors "author and editor" output.check } 1.611 + { format.authors output.nonnull 1.612 + crossref missing$ 1.613 + { "author and editor" editor either.or.check } 1.614 + 'skip$ 1.615 + if$ 1.616 + } 1.617 + if$ 1.618 + new.block 1.619 + format.btitle "title" output.check 1.620 + crossref missing$ 1.621 + { format.bvolume output 1.622 + format.chapter.pages "chapter and pages" output.check 1.623 + new.block 1.624 + format.number.series output 1.625 + new.sentence 1.626 + publisher "publisher" output.check 1.627 + address output 1.628 + } 1.629 + { format.chapter.pages "chapter and pages" output.check 1.630 + new.block 1.631 + format.book.crossref output.nonnull 1.632 + } 1.633 + if$ 1.634 + format.edition output 1.635 + format.date "year" output.check 1.636 + new.block 1.637 + note output 1.638 + fin.entry 1.639 +} 1.640 + 1.641 +FUNCTION {incollection} 1.642 +{ output.bibitem 1.643 + format.authors "author" output.check 1.644 + new.block 1.645 + format.title "title" output.check 1.646 + new.block 1.647 + crossref missing$ 1.648 + { format.in.ed.booktitle "booktitle" output.check 1.649 + format.bvolume output 1.650 + format.number.series output 1.651 + format.chapter.pages output 1.652 + new.sentence 1.653 + publisher "publisher" output.check 1.654 + address output 1.655 + format.edition output 1.656 + format.date "year" output.check 1.657 + } 1.658 + { format.incoll.inproc.crossref output.nonnull 1.659 + format.chapter.pages output 1.660 + } 1.661 + if$ 1.662 + new.block 1.663 + note output 1.664 + fin.entry 1.665 +} 1.666 + 1.667 +FUNCTION {inproceedings} 1.668 +{ output.bibitem 1.669 + format.authors "author" output.check 1.670 + new.block 1.671 + format.title "title" output.check 1.672 + new.block 1.673 + crossref missing$ 1.674 + { format.in.ed.booktitle "booktitle" output.check 1.675 + format.bvolume output 1.676 + format.number.series output 1.677 + format.pages output 1.678 + address empty$ 1.679 + { organization publisher new.sentence.checkb 1.680 + organization output 1.681 + publisher output 1.682 + format.date "year" output.check 1.683 + } 1.684 + { address output.nonnull 1.685 + format.date "year" output.check 1.686 + new.sentence 1.687 + organization output 1.688 + publisher output 1.689 + } 1.690 + if$ 1.691 + } 1.692 + { format.incoll.inproc.crossref output.nonnull 1.693 + format.pages output 1.694 + } 1.695 + if$ 1.696 + new.block 1.697 + note output 1.698 + fin.entry 1.699 +} 1.700 + 1.701 +FUNCTION {conference} { inproceedings } 1.702 + 1.703 +FUNCTION {manual} 1.704 +{ output.bibitem 1.705 + author empty$ 1.706 + { organization empty$ 1.707 + 'skip$ 1.708 + { organization output.nonnull 1.709 + address output 1.710 + } 1.711 + if$ 1.712 + } 1.713 + { format.authors output.nonnull } 1.714 + if$ 1.715 + new.block 1.716 + format.btitle "title" output.check 1.717 + author empty$ 1.718 + { organization empty$ 1.719 + { address new.block.checka 1.720 + address output 1.721 + } 1.722 + 'skip$ 1.723 + if$ 1.724 + } 1.725 + { organization address new.block.checkb 1.726 + organization output 1.727 + address output 1.728 + } 1.729 + if$ 1.730 + format.edition output 1.731 + format.date output 1.732 + new.block 1.733 + note output 1.734 + fin.entry 1.735 +} 1.736 + 1.737 +FUNCTION {mastersthesis} 1.738 +{ output.bibitem 1.739 + format.authors "author" output.check 1.740 + new.block 1.741 + format.title "title" output.check 1.742 + new.block 1.743 + "Master's thesis" format.thesis.type output.nonnull 1.744 + school "school" output.check 1.745 + address output 1.746 + format.date "year" output.check 1.747 + new.block 1.748 + note output 1.749 + fin.entry 1.750 +} 1.751 + 1.752 +FUNCTION {misc} 1.753 +{ output.bibitem 1.754 + format.authors output 1.755 + title howpublished new.block.checkb 1.756 + format.title output 1.757 + howpublished new.block.checka 1.758 + howpublished output 1.759 + format.date output 1.760 + new.block 1.761 + note output 1.762 + fin.entry 1.763 + empty.misc.check 1.764 +} 1.765 + 1.766 +FUNCTION {phdthesis} 1.767 +{ output.bibitem 1.768 + format.authors "author" output.check 1.769 + new.block 1.770 + format.btitle "title" output.check 1.771 + new.block 1.772 + "PhD thesis" format.thesis.type output.nonnull 1.773 + school "school" output.check 1.774 + address output 1.775 + format.date "year" output.check 1.776 + new.block 1.777 + note output 1.778 + fin.entry 1.779 +} 1.780 + 1.781 +FUNCTION {proceedings} 1.782 +{ output.bibitem 1.783 + editor empty$ 1.784 + { organization output } 1.785 + { format.editors output.nonnull } 1.786 + if$ 1.787 + new.block 1.788 + format.btitle "title" output.check 1.789 + format.bvolume output 1.790 + format.number.series output 1.791 + address empty$ 1.792 + { editor empty$ 1.793 + { publisher new.sentence.checka } 1.794 + { organization publisher new.sentence.checkb 1.795 + organization output 1.796 + } 1.797 + if$ 1.798 + publisher output 1.799 + format.date "year" output.check 1.800 + } 1.801 + { address output.nonnull 1.802 + format.date "year" output.check 1.803 + new.sentence 1.804 + editor empty$ 1.805 + 'skip$ 1.806 + { organization output } 1.807 + if$ 1.808 + publisher output 1.809 + } 1.810 + if$ 1.811 + new.block 1.812 + note output 1.813 + fin.entry 1.814 +} 1.815 + 1.816 +FUNCTION {techreport} 1.817 +{ output.bibitem 1.818 + format.authors "author" output.check 1.819 + new.block 1.820 + format.title "title" output.check 1.821 + new.block 1.822 + format.tr.number output.nonnull 1.823 + institution "institution" output.check 1.824 + address output 1.825 + format.date "year" output.check 1.826 + new.block 1.827 + note output 1.828 + fin.entry 1.829 +} 1.830 + 1.831 +FUNCTION {unpublished} 1.832 +{ output.bibitem 1.833 + format.authors "author" output.check 1.834 + new.block 1.835 + format.title "title" output.check 1.836 + new.block 1.837 + note "note" output.check 1.838 + format.date output 1.839 + fin.entry 1.840 +} 1.841 + 1.842 +FUNCTION {default.type} { misc } 1.843 + 1.844 +MACRO {jan} {"January"} 1.845 + 1.846 +MACRO {feb} {"February"} 1.847 + 1.848 +MACRO {mar} {"March"} 1.849 + 1.850 +MACRO {apr} {"April"} 1.851 + 1.852 +MACRO {may} {"May"} 1.853 + 1.854 +MACRO {jun} {"June"} 1.855 + 1.856 +MACRO {jul} {"July"} 1.857 + 1.858 +MACRO {aug} {"August"} 1.859 + 1.860 +MACRO {sep} {"September"} 1.861 + 1.862 +MACRO {oct} {"October"} 1.863 + 1.864 +MACRO {nov} {"November"} 1.865 + 1.866 +MACRO {dec} {"December"} 1.867 + 1.868 +MACRO {acmcs} {"ACM Computing Surveys"} 1.869 + 1.870 +MACRO {acta} {"Acta Informatica"} 1.871 + 1.872 +MACRO {cacm} {"Communications of the ACM"} 1.873 + 1.874 +MACRO {ibmjrd} {"IBM Journal of Research and Development"} 1.875 + 1.876 +MACRO {ibmsj} {"IBM Systems Journal"} 1.877 + 1.878 +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 1.879 + 1.880 +MACRO {ieeetc} {"IEEE Transactions on Computers"} 1.881 + 1.882 +MACRO {ieeetcad} 1.883 + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 1.884 + 1.885 +MACRO {ipl} {"Information Processing Letters"} 1.886 + 1.887 +MACRO {jacm} {"Journal of the ACM"} 1.888 + 1.889 +MACRO {jcss} {"Journal of Computer and System Sciences"} 1.890 + 1.891 +MACRO {scp} {"Science of Computer Programming"} 1.892 + 1.893 +MACRO {sicomp} {"SIAM Journal on Computing"} 1.894 + 1.895 +MACRO {tocs} {"ACM Transactions on Computer Systems"} 1.896 + 1.897 +MACRO {tods} {"ACM Transactions on Database Systems"} 1.898 + 1.899 +MACRO {tog} {"ACM Transactions on Graphics"} 1.900 + 1.901 +MACRO {toms} {"ACM Transactions on Mathematical Software"} 1.902 + 1.903 +MACRO {toois} {"ACM Transactions on Office Information Systems"} 1.904 + 1.905 +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 1.906 + 1.907 +MACRO {tcs} {"Theoretical Computer Science"} 1.908 + 1.909 +READ 1.910 + 1.911 +FUNCTION {sortify} 1.912 +{ purify$ 1.913 + "l" change.case$ 1.914 +} 1.915 + 1.916 +INTEGERS { len } 1.917 + 1.918 +FUNCTION {chop.word} 1.919 +{ 's := 1.920 + 'len := 1.921 + s #1 len substring$ = 1.922 + { s len #1 + global.max$ substring$ } 1.923 + 's 1.924 + if$ 1.925 +} 1.926 + 1.927 +FUNCTION {sort.format.names} 1.928 +{ 's := 1.929 + #1 'nameptr := 1.930 + "" 1.931 + s num.names$ 'numnames := 1.932 + numnames 'namesleft := 1.933 + { namesleft #0 > } 1.934 + { nameptr #1 > 1.935 + { " " * } 1.936 + 'skip$ 1.937 + if$ 1.938 + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := 1.939 + nameptr numnames = t "others" = and 1.940 + { "et al" * } 1.941 + { t sortify * } 1.942 + if$ 1.943 + nameptr #1 + 'nameptr := 1.944 + namesleft #1 - 'namesleft := 1.945 + } 1.946 + while$ 1.947 +} 1.948 + 1.949 +FUNCTION {sort.format.title} 1.950 +{ 't := 1.951 + "A " #2 1.952 + "An " #3 1.953 + "The " #4 t chop.word 1.954 + chop.word 1.955 + chop.word 1.956 + sortify 1.957 + #1 global.max$ substring$ 1.958 +} 1.959 + 1.960 +FUNCTION {author.sort} 1.961 +{ author empty$ 1.962 + { key empty$ 1.963 + { "to sort, need author or key in " cite$ * warning$ 1.964 + "" 1.965 + } 1.966 + { key sortify } 1.967 + if$ 1.968 + } 1.969 + { author sort.format.names } 1.970 + if$ 1.971 +} 1.972 + 1.973 +FUNCTION {author.editor.sort} 1.974 +{ author empty$ 1.975 + { editor empty$ 1.976 + { key empty$ 1.977 + { "to sort, need author, editor, or key in " cite$ * warning$ 1.978 + "" 1.979 + } 1.980 + { key sortify } 1.981 + if$ 1.982 + } 1.983 + { editor sort.format.names } 1.984 + if$ 1.985 + } 1.986 + { author sort.format.names } 1.987 + if$ 1.988 +} 1.989 + 1.990 +FUNCTION {author.organization.sort} 1.991 +{ author empty$ 1.992 + { organization empty$ 1.993 + { key empty$ 1.994 + { "to sort, need author, organization, or key in " cite$ * warning$ 1.995 + "" 1.996 + } 1.997 + { key sortify } 1.998 + if$ 1.999 + } 1.1000 + { "The " #4 organization chop.word sortify } 1.1001 + if$ 1.1002 + } 1.1003 + { author sort.format.names } 1.1004 + if$ 1.1005 +} 1.1006 + 1.1007 +FUNCTION {editor.organization.sort} 1.1008 +{ editor empty$ 1.1009 + { organization empty$ 1.1010 + { key empty$ 1.1011 + { "to sort, need editor, organization, or key in " cite$ * warning$ 1.1012 + "" 1.1013 + } 1.1014 + { key sortify } 1.1015 + if$ 1.1016 + } 1.1017 + { "The " #4 organization chop.word sortify } 1.1018 + if$ 1.1019 + } 1.1020 + { editor sort.format.names } 1.1021 + if$ 1.1022 +} 1.1023 + 1.1024 +FUNCTION {presort} 1.1025 +{ type$ "book" = 1.1026 + type$ "inbook" = 1.1027 + or 1.1028 + 'author.editor.sort 1.1029 + { type$ "proceedings" = 1.1030 + 'editor.organization.sort 1.1031 + { type$ "manual" = 1.1032 + 'author.organization.sort 1.1033 + 'author.sort 1.1034 + if$ 1.1035 + } 1.1036 + if$ 1.1037 + } 1.1038 + if$ 1.1039 + " " 1.1040 + * 1.1041 + year field.or.null sortify 1.1042 + * 1.1043 + " " 1.1044 + * 1.1045 + title field.or.null 1.1046 + sort.format.title 1.1047 + * 1.1048 + #1 entry.max$ substring$ 1.1049 + 'sort.key$ := 1.1050 +} 1.1051 + 1.1052 +ITERATE {presort} 1.1053 + 1.1054 +SORT 1.1055 + 1.1056 +STRINGS { longest.label } 1.1057 + 1.1058 +INTEGERS { number.label longest.label.width } 1.1059 + 1.1060 +FUNCTION {initialize.longest.label} 1.1061 +{ "" 'longest.label := 1.1062 + #1 'number.label := 1.1063 + #0 'longest.label.width := 1.1064 +} 1.1065 + 1.1066 +FUNCTION {longest.label.pass} 1.1067 +{ number.label int.to.str$ 'label := 1.1068 + number.label #1 + 'number.label := 1.1069 + label width$ longest.label.width > 1.1070 + { label 'longest.label := 1.1071 + label width$ 'longest.label.width := 1.1072 + } 1.1073 + 'skip$ 1.1074 + if$ 1.1075 +} 1.1076 + 1.1077 +EXECUTE {initialize.longest.label} 1.1078 + 1.1079 +ITERATE {longest.label.pass} 1.1080 + 1.1081 +FUNCTION {begin.bib} 1.1082 +{ preamble$ empty$ 1.1083 + 'skip$ 1.1084 + { preamble$ write$ newline$ } 1.1085 + if$ 1.1086 + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ 1.1087 +} 1.1088 + 1.1089 +EXECUTE {begin.bib} 1.1090 + 1.1091 +EXECUTE {init.state.consts} 1.1092 + 1.1093 +ITERATE {call.type$} 1.1094 + 1.1095 +FUNCTION {end.bib} 1.1096 +{ newline$ 1.1097 + "\end{thebibliography}" write$ newline$ 1.1098 +} 1.1099 + 1.1100 +EXECUTE {end.bib} 1.1101 +
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/helpers/url.sty Tue Jun 19 16:25:28 2012 -0700 2.3 @@ -0,0 +1,325 @@ 2.4 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@triumf.ca 2.5 +% Copyright 1996-1999 Donald Arseneau, Vancouver, Canada. 2.6 +% This program can be used, distributed, and modified under the terms 2.7 +% of the LaTeX Project Public License. 2.8 +% 2.9 +% A form of \verb that allows linebreaks at certain characters or 2.10 +% combinations of characters, accepts reconfiguration, and can usually 2.11 +% be used in the argument to another command. It is intended for email 2.12 +% addresses, hypertext links, directories/paths, etc., which normally 2.13 +% have no spaces. The font may be selected using the \urlstyle command, 2.14 +% and new url-like commands can be defined using \urldef. 2.15 +% 2.16 +% Usage: Conditions: 2.17 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 2.18 +% "\", it can't be used in the argument to another command. 2.19 +% The argument must not contain unbalanced braces. 2.20 +% \url| | ...where "|" is any character not used in the argument and not 2.21 +% "{" or a space. The same restrictions as above except that the 2.22 +% argument may contain unbalanced braces. 2.23 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 2.24 +% what characters it contains. 2.25 +% 2.26 +% See further instructions after "\endinput" 2.27 +% 2.28 +\def\Url@ttdo{% style assignments for tt fonts or T1 encoding 2.29 +\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]% 2.30 + \do\)\do\,\do\?\do\'\do\+\do\=}% 2.31 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 2.32 +\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary) 2.33 +\def\UrlSpecials{\do\ {\ }}% 2.34 +\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually 2.35 +} 2.36 +\def\Url@do{% style assignments for OT1 fonts except tt 2.37 +\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}% 2.38 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 2.39 +\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character 2.40 +\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_% 2.41 + \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do 2.42 + \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do 2.43 + \ {\ }}% 2.44 +\def\UrlOrds{\do\'\do\"\do\-}% 2.45 +} 2.46 +\def\url@ttstyle{% 2.47 +\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo 2.48 +} 2.49 +\def\url@rmstyle{% 2.50 +\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do 2.51 +} 2.52 +\def\url@sfstyle{% 2.53 +\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do 2.54 +} 2.55 +\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else 2.56 + \url@rmstyle \fi \def\UrlFont{}} 2.57 + 2.58 +\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{} 2.59 +\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{} 2.60 + 2.61 +\def\Url{% 2.62 + \begingroup \let\url@moving\relax\relax \endgroup 2.63 + \ifmmode\@nomatherr$\fi 2.64 + \UrlFont $\fam\z@ \textfont\z@\font 2.65 + \let\do\@makeother \dospecials % verbatim catcodes 2.66 + \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces 2.67 + \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip 2.68 + \@tempcnta\fam\multiply\@tempcnta\@cclvi 2.69 + \let\do\set@mathcode \UrlOrds % ordinary characters that were special 2.70 + \advance\@tempcnta 8192 \UrlBreaks % bin 2.71 + \advance\@tempcnta 4096 \UrlBigBreaks % rel 2.72 + \advance\@tempcnta 4096 \UrlNoBreaks % open 2.73 + \let\do\set@mathact \UrlSpecials % active 2.74 + \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures 2.75 + \@ifnextchar\bgroup\Url@z\Url@y} 2.76 + 2.77 +\def\Url@y#1{\catcode`{11 \catcode`}11 2.78 + \def\@tempa##1#1{\Url@z{##1}}\@tempa} 2.79 +\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook 2.80 + \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup} 2.81 +\def\Url@Hook{\UrlLeft} 2.82 +\let\UrlRight\@empty 2.83 +\let\UrlLeft\@empty 2.84 + 2.85 +\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@} 2.86 +\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}} 2.87 +\def\set@mathnolig#1{\ifnum\mathcode`#1<32768 2.88 + \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}% 2.89 + \mathcode`#132768 \fi} 2.90 + 2.91 +\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup 2.92 + \def\Url@z{\Url@def{#1}{#2}}#2} 2.93 +\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax 2.94 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 2.95 + \def#1{#2{#3}}} 2.96 +\else 2.97 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 2.98 + \DeclareRobustCommand{#1}{#2{#3}}} 2.99 +\fi 2.100 + 2.101 +\def\urlstyle#1{\csname url@#1style\endcsname} 2.102 + 2.103 +% Sample (and default) configuration: 2.104 +% 2.105 +\newcommand\url{\begingroup \Url} 2.106 +% 2.107 +% picTeX defines \path, so declare it optionally: 2.108 +\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{} 2.109 +% 2.110 +% too many styles define \email like \address, so I will not define it. 2.111 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 2.112 + 2.113 +% Process LaTeX \package options 2.114 +% 2.115 +\urlstyle{tt} 2.116 +\let\Url@sppen\@M 2.117 +\def\do@url@hyp{}% by default, no breaks after hyphens 2.118 + 2.119 +\@ifundefined{ProvidesPackage}{}{ 2.120 + \ProvidesPackage{url}[1999/03/02 \space ver 1.4 \space 2.121 + Verb mode for urls, email addresses, and file names] 2.122 + \DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens 2.123 + \DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later 2.124 + \DeclareOption{spaces}{\let\Url@sppen\relpenalty} 2.125 + \DeclareOption{T1}{\let\Url@do\Url@ttdo} 2.126 + \ProcessOptions 2.127 +\ifx\Url@Hook\relax % [obeyspaces] was declared 2.128 + \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft 2.129 + \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th} 2.130 + \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain} 2.131 + \def\Url@nosp\,#1\Url@retain{} 2.132 +\fi 2.133 +} 2.134 + 2.135 +\edef\url@moving{\csname Url Error\endcsname} 2.136 +\expandafter\edef\url@moving 2.137 + {\csname url used in a moving argument.\endcsname} 2.138 +\expandafter\expandafter\expandafter \let \url@moving\undefined 2.139 + 2.140 +\endinput 2.141 +% 2.142 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@reg.triumf.ca 2.143 +% 2.144 +% This package defines "\url", a form of "\verb" that allows linebreaks, 2.145 +% and can often be used in the argument to another command. It can be 2.146 +% configured to print in different formats, and is particularly useful for 2.147 +% hypertext links, email addresses, directories/paths, etc. The font may 2.148 +% be selected using the "\urlstyle" command and pre-defined text can be 2.149 +% stored with the "\urldef" command. New url-like commands can be defined, 2.150 +% and a "\path" command is provided this way. 2.151 +% 2.152 +% Usage: Conditions: 2.153 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 2.154 +% "\", it can't be used in the argument to another command. 2.155 +% The argument must not contain unbalanced braces. 2.156 +% \url| | ...where "|" is any character not used in the argument and not 2.157 +% "{" or a space. The same restrictions as above except that the 2.158 +% argument may contain unbalanced braces. 2.159 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 2.160 +% what characters it contains. 2.161 +% 2.162 +% The "\url" command is fragile, and its argument is likely to be very 2.163 +% fragile, but a defined-url is robust. 2.164 +% 2.165 +% Package Option: obeyspaces 2.166 +% Ordinarily, all spaces are ignored in the url-text. The "[obeyspaces]" 2.167 +% option allows spaces, but may introduce spurious spaces when a url 2.168 +% containing "\" characters is given in the argument to another command. 2.169 +% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}", 2.170 +% and if you need both spaces and backslashes, use a `defined-url' for 2.171 +% anything with "\". 2.172 +% 2.173 +% Package Option: hyphens 2.174 +% Ordinarily, breaks are not allowed after "-" characters because this 2.175 +% leads to confusion. (Is the "-" part of the address or just a hyphen?) 2.176 +% The package option "[hyphens]" allows breaks after explicit hyphen 2.177 +% characters. The "\url" command will *never ever* hyphenate words. 2.178 +% 2.179 +% Package Option: spaces 2.180 +% Likewise, breaks are not usually allowed after spaces under the 2.181 +% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]" 2.182 +% will allow breaks at those spaces. 2.183 +% 2.184 +% Package Option: T1 2.185 +% This signifies that you will be using T1-encoded fonts which contain 2.186 +% some characters missing from most older (OT1) encoded TeX fonts. This 2.187 +% changes the default definition for "\urlstyle{rm}". 2.188 +% 2.189 +% Defining a defined-url: 2.190 +% Take for example the email address "myself%node@gateway.net" which could 2.191 +% not be given (using "\url" or "\verb") in a caption or parbox due to the 2.192 +% percent sign. This address can be predefined with 2.193 +% \urldef{\myself}\url{myself%node@gateway.net} or 2.194 +% \urldef{\myself}\url|myself%node@gateway.net| 2.195 +% and then you may use "\myself" instead of "\url{myself%node@gateway.net}" 2.196 +% in an argument, and even in a moving argument like a caption because a 2.197 +% defined-url is robust. 2.198 +% 2.199 +% Style: 2.200 +% You can switch the style of printing using "\urlstyle{tt}", where "tt" 2.201 +% can be any defined style. The pre-defined styles are "tt", "rm", "sf", 2.202 +% and "same" which all allow the same linebreaks but different fonts -- 2.203 +% the first three select a specific font and the "same" style uses the 2.204 +% current text font. You can define your own styles with different fonts 2.205 +% and/or line-breaking by following the explanations below. The "\url" 2.206 +% command follows whatever the currently-set style dictates. 2.207 +% 2.208 +% Alternate commands: 2.209 +% It may be desireable to have different things treated differently, each 2.210 +% in a predefined style; e.g., if you want directory paths to always be 2.211 +% in tt and email addresses to be rm, then you would define new url-like 2.212 +% commands as follows: 2.213 +% 2.214 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 2.215 +% \newcommand\directory{\begingroup \urlstyle{tt}\Url} 2.216 +% 2.217 +% You must follow this format closely, and NOTE that the final command is 2.218 +% "\Url", not "\url". In fact, the "\directory" example is exactly the 2.219 +% "\path" definition which is pre-defined in the package. If you look 2.220 +% above, you will see that "\url" is defined with 2.221 +% \newcommand\url{\begingroup \Url} 2.222 +% I.e., using whatever url-style has been selected. 2.223 +% 2.224 +% You can make a defined-url for these other styles, using the usual 2.225 +% "\urldef" command as in this example: 2.226 +% 2.227 +% \urldef{\myself}{\email}{myself%node.domain@gateway.net} 2.228 +% 2.229 +% which makes "\myself" act like "\email{myself%node.domain@gateway.net}", 2.230 +% if the "\email" command is defined as above. The "\myself" command 2.231 +% would then be robust. 2.232 +% 2.233 +% Defining styles: 2.234 +% Before describing how to customize the printing style, it is best to 2.235 +% mention something about the unusual implementation of "\url". Although 2.236 +% the material is textual in nature, and the font specification required 2.237 +% is a text-font command, the text is actually typeset in *math* mode. 2.238 +% This allows the context-sensitive linebreaking, but also accounts for 2.239 +% the default behavior of ignoring spaces. Now on to defining styles. 2.240 +% 2.241 +% To change the font or the list of characters that allow linebreaks, you 2.242 +% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc. 2.243 +% directly in the document, but it is better to define a new `url-style' 2.244 +% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines 2.245 +% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and 2.246 +% "\UrlFont". 2.247 +% 2.248 +% Changing font: 2.249 +% The "\UrlFont" command selects the font. The definition of "\UrlFont" 2.250 +% done by the pre-defined styles varies to cope with a variety of LaTeX 2.251 +% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}". 2.252 +% Depending on the font selected, some characters may need to be defined 2.253 +% in the "\UrlSpecials" list because many fonts don't contain all the 2.254 +% standard input characters. 2.255 +% 2.256 +% Changing linebreaks: 2.257 +% The list of characters that allow line-breaks is given by "\UrlBreaks" 2.258 +% and "\UrlBigBreaks", which have the format "\do\c" for character "c". 2.259 +% The differences are that `BigBreaks' have a lower penalty and have 2.260 +% different breakpoints when in sequence (as in "http://"): `BigBreaks' 2.261 +% are treated as mathrels while `Breaks' are mathbins (see The TeXbook, 2.262 +% p.170). In particular, a series of `BigBreak' characters will break at 2.263 +% the end and only at the end; a series of `Break' characters will break 2.264 +% after the first and after every following *pair*; there will be no 2.265 +% break after a `Break' character if a `BigBreak' follows. In the case 2.266 +% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' -- 2.267 +% the breaks are the same in either case; but for DECnet nodes with "::" 2.268 +% it is important to prevent breaks *between* the colons, and that is why 2.269 +% colons are `BigBreaks'. 2.270 +% 2.271 +% It is possible for characters to prevent breaks after the next following 2.272 +% character (I use this for parentheses). Specify these in "\UrlNoBreaks". 2.273 +% 2.274 +% You can do arbitrarily complex things with characters by making them 2.275 +% active in math mode (mathcode hex-8000) and specifying the definition(s) 2.276 +% in "\UrlSpecials". This is used in the rm and sf styles for OT1 font 2.277 +% encoding to handle several characters that are not present in those 2.278 +% computer-modern style fonts. See the definition of "\Url@do", which 2.279 +% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing 2.280 +% characters via "\UrlSpecials". The nominal format for setting each 2.281 +% special character "c" is: "\do\c{<definition>}", but you can include 2.282 +% other definitions too. 2.283 +% 2.284 +% 2.285 +% If all this sounds confusing ... well, it is! But I hope you won't need 2.286 +% to redefine breakpoints -- the default assignments seem to work well for 2.287 +% a wide variety of applications. If you do need to make changes, you can 2.288 +% test for breakpoints using regular math mode and the characters "+=(a". 2.289 +% 2.290 +% Yet more flexibility: 2.291 +% You can also customize the verbatim text by defining "\UrlRight" and/or 2.292 +% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "< >", define 2.293 +% 2.294 +% \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}% 2.295 +% \urlstyle{tt}\Url} 2.296 +% 2.297 +% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim. 2.298 +% This lets you use formatting commands there, but you must be careful not 2.299 +% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly. 2.300 +% You can also define "\UrlLeft" to reprocess the verbatim text, but the 2.301 +% format of the definition is special: 2.302 +% 2.303 +% \def\UrlLeft#1\UrlRight{ ... do things with #1 ... } 2.304 +% 2.305 +% Yes, that is "#1" followed by "\UrlRight" then the definition. For 2.306 +% example, to put a hyperTeX hypertext link in the DVI file: 2.307 +% 2.308 +% \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}} 2.309 +% 2.310 +% Using this technique, url.sty can provide a convenient interface for 2.311 +% performing various operations on verbatim text. You don't even need 2.312 +% to print out the argument! For greatest efficiency in such obscure 2.313 +% applications, you can define a null url-style where all the lists like 2.314 +% "\UrlBreaks" are empty. 2.315 +% 2.316 +% Revision History: 2.317 +% ver 1.1 6-Feb-1996: 2.318 +% Fix hyphens that wouldn't break and ligatures that weren't suppressed. 2.319 +% ver 1.2 19-Oct-1996: 2.320 +% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight". 2.321 +% ver 1.3 21-Jul-1997: 2.322 +% Prohibit spaces as delimiter characters; change ascii tilde in OT1. 2.323 +% ver 1.4 02-Mar-1999 2.324 +% LaTeX license; moving-argument-error 2.325 +% The End 2.326 + 2.327 +Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 2.328 +:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/helpers/usetex-v1-anon.cls Tue Jun 19 16:25:28 2012 -0700 3.3 @@ -0,0 +1,363 @@ 3.4 +\NeedsTeXFormat{LaTeX2e} 3.5 +\ProvidesClass{usetex-v1-anon}[2002/10/31 v1.2 usetex Usenix article class] 3.6 + 3.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 3.8 +% 3.9 +% To use this style file, do this: 3.10 +% 3.11 +% \documentclass{usetex-v1} 3.12 +% 3.13 +% The following definitions are modifications of standard article.cls 3.14 +% definitions, arranged to do a better job of matching the Usenix 3.15 +% guidelines. and make for convenient Usenix paper writing 3.16 +% 3.17 +% Choose the appropriate option: 3.18 +% 3.19 +% 1. workingdraft: 3.20 +% 3.21 +% For initial submission and shepherding. Features prominent 3.22 +% date, notice of draft status, page numbers, and annotation 3.23 +% facilities. 3.24 +% 3.25 +% 2. proof: 3.26 +% 3.27 +% A galley proof identical to the final copy except for page 3.28 +% numbering and proof date on the bottom. Annotations are 3.29 +% removed. 3.30 +% 3.31 +% 3. webversion: 3.32 +% 3.33 +% A web-publishable version, uses \docstatus{} to indicate 3.34 +% publication information (where and when paper was published), 3.35 +% and page numbers. 3.36 +% 3.37 +% 4. finalversion: 3.38 +% 3.39 +% The final camera-ready-copy (CRC) version of the paper. 3.40 +% Published in conference proceedings. This doesn't include 3.41 +% page numbers, annotations, or draft status (Usenix adds 3.42 +% headers, footers, and page numbers onto the CRC). 3.43 +% 3.44 +% If several are used, the last one in this list wins 3.45 +% 3.46 + 3.47 +% 3.48 +% In addition, the option "endnotes" permits the use of the 3.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 3.50 +% documents. In this case, be sure to include a 3.51 +% \makeendnotes command at the end of your document or 3.52 +% the endnotes will not actually appear. 3.53 +% 3.54 + 3.55 +\newif\if@draftcopy \newif\ifworkingdraft 3.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 3.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 3.58 +\newif\ifwebversion 3.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 3.60 +\DeclareOption{finalversion}{} 3.61 +\newif\ifhasendnotes 3.62 +\DeclareOption{endnotes}{\hasendnotestrue} 3.63 + 3.64 +% pass all other options to the article class 3.65 +\DeclareOption*{% 3.66 + \PassOptionsToClass{\CurrentOption}{article}% 3.67 +} 3.68 + 3.69 +% actually process the options 3.70 +\ProcessOptions 3.71 + 3.72 +% usetex is based on article 3.73 +\LoadClass[twocolumn]{article} 3.74 + 3.75 +% Footnotes are not currently allowed, but 3.76 +% endnotes (while a bad idea) are. 3.77 +\ifhasendnotes 3.78 + \RequirePackage{endnotes} 3.79 +\fi 3.80 + 3.81 +% save any provided document status information 3.82 +\def\@docstatus{} 3.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 3.84 + 3.85 +\ifworkingdraft 3.86 + 3.87 + % formatting helper for draft notes 3.88 + \newcommand{\@noteleader[1]}{% 3.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 3.90 + \bfseries\itshape 3.91 + } 3.92 + 3.93 + % put a small anonymous editing note in the draft copy 3.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 3.95 + 3.96 + % put a small attributed editing note in the draft copy 3.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 3.98 + 3.99 + % put an attributed editing note paragraph in the draft copy 3.100 + \newenvironment{ednote}[1] 3.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 3.102 + 3.103 + % mark a spot where work has been left off for later 3.104 + \newcommand{\HERE}{% 3.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 3.106 + 3.107 +\else 3.108 + 3.109 + % dummy versions of editing commands to produce warnings 3.110 + 3.111 + \newcommand{\edannote}[1]{\@latex@warning 3.112 + {Leftover edannote command in final version ignored}} 3.113 + 3.114 + \newcommand{\edatnote}[1]{\@latex@warning 3.115 + {Leftover edatnote command in final version ignored}} 3.116 + 3.117 + \newsavebox{\@discard} 3.118 + \newenvironment{ednote}[1]{\@latex@warning 3.119 + {Leftover ednote environment in final version ignored}% 3.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 3.121 + 3.122 + \newcommand{\HERE}{\@latex@warning 3.123 + {Leftover HERE command in final version ignored}} 3.124 + 3.125 +\fi 3.126 + 3.127 +% set up the footers appropriately 3.128 +\def\@setfoot{% 3.129 + \ifwebversion 3.130 + % webversions get whatever status the author says 3.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 3.132 + \else 3.133 + % all other drafts get the standard draft footer 3.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 3.135 + \fi 3.136 + \gdef\@oddfoot{\@evenfoot}% 3.137 +} 3.138 + 3.139 +% 3.140 +% Usenix wants no page numbers for submitted papers, so that 3.141 +% they can number them themselves. Drafts should have 3.142 +% numbered pages, so they can be edited. 3.143 +% 3.144 +\if@draftcopy 3.145 + % Compute a date and time for the draft for use 3.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 3.147 + % 3.148 + % Time code adapted from custom-bib/makebst.tex 3.149 + % Copyright 1993-1999 Patrick W Daly 3.150 + % Max-Planck-Institut f\"ur Aeronomie 3.151 + % E-mail: daly@linmp.mpg.de 3.152 + \newcount\hour 3.153 + \hour=\time 3.154 + \divide\hour by 60 3.155 + \newcount\minute 3.156 + \minute=\hour 3.157 + \multiply\minute by 60 3.158 + \advance\minute by -\time 3.159 + \multiply\minute by -1 3.160 + \newcommand{\@draftdate} 3.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 3.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 3.163 + \pagestyle{plain} 3.164 + \@setfoot 3.165 +\else 3.166 + \pagestyle{empty} 3.167 +\fi 3.168 + 3.169 +% Times-Roman font is nice if you can get it (requires NFSS, 3.170 +% which is in latex2e). 3.171 +\usepackage{times} 3.172 + 3.173 +% endnote support, as described at 3.174 +% http://www.lyx.org/help/footnotes.php 3.175 +\ifhasendnotes 3.176 + \typeout 3.177 + {Warning: endnotes support is deprecated (see documentation for details)} 3.178 + \let\footnote=\endnote 3.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 3.180 + \parindent=0pt\parskip=\baselineskip 3.181 + \@theenmark. } 3.182 + \newcommand{\makeendnotes}{ 3.183 + \begingroup 3.184 + \def\enotesize{\normalsize} 3.185 + \theendnotes 3.186 + \endgroup 3.187 + } 3.188 +\else 3.189 + \long\gdef\footnote{\@latex@error 3.190 + {Deprecated footnote command (see documentation for details)}} 3.191 + \long\gdef\endnote{\@latex@error 3.192 + {Deprecated endnote command (see documentation for details)}} 3.193 +\fi 3.194 + 3.195 +% 3.196 +% Usenix margins 3.197 +% Gives active areas of 6.45" x 9.0" 3.198 +% 3.199 +\setlength{\textheight}{9.0in} 3.200 +\setlength{\columnsep}{0.25in} 3.201 +\setlength{\textwidth}{6.45in} 3.202 +%\setlength{\footskip}{0.0in} 3.203 +%\setlength{\footheight}{0.0in} 3.204 +\setlength{\topmargin}{0.0in} 3.205 +\setlength{\headheight}{0.0in} 3.206 +\setlength{\headsep}{0.0in} 3.207 +\setlength{\evensidemargin}{0.0in} 3.208 +\setlength{\oddsidemargin}{0.0in} 3.209 +\setlength{\marginparsep}{1.5em} 3.210 +\setlength{\marginparwidth}{0.35in} 3.211 + 3.212 +% The standard maketitle insists on 3.213 +% messing with the style of the first page. 3.214 +% Thus, we will wrap maketitle with code to put 3.215 +% things right again. 3.216 +\let \save@maketitle=\maketitle 3.217 +\def\maketitle{ 3.218 + \save@maketitle 3.219 + \if@draftcopy 3.220 + \@specialpagefalse 3.221 + \else 3.222 + \thispagestyle{empty} 3.223 + \fi 3.224 +} 3.225 + 3.226 +% 3.227 +% Usenix titles are in 14-point bold type, with no date, and with no 3.228 +% change in the empty page headers. The author section is 3.229 +% 12 point roman and italic: see below. 3.230 +% 3.231 +\def\@maketitle{% 3.232 + \newpage 3.233 + \null 3.234 +% \vskip 3ex% 3.235 + \begin{center}% 3.236 +% \let \footnote \thanks 3.237 + {\Large \bf \@title \par}% % use 14 pt bold 3.238 +% \vskip 2ex% 3.239 + {\large 3.240 +% \lineskip .5ex% 3.241 +% \begin{tabular}[t]{c}% 3.242 +% \@author 3.243 +% \end{tabular}\par 3.244 + }% 3.245 + \ifworkingdraft 3.246 + \vskip 0.5ex 3.247 + \textbf{Draft of \@draftdate} 3.248 + \vskip 0.5ex 3.249 + \fi 3.250 + \ifwebversion 3.251 + \vskip 0.5ex 3.252 + \textit{Authors and affiliation elided for review.} 3.253 + \vskip 0.5ex 3.254 + \fi 3.255 + \end{center}% 3.256 + \par 3.257 +% \vskip 2ex 3.258 +} 3.259 + 3.260 +% 3.261 +% The author section 3.262 +% should have names in Roman, address in 3.263 +% italic, e-mail/http in typewriter. 3.264 +% This is enforced by use of these macros 3.265 +% 3.266 +\def\authname#1{{#1}\\} 3.267 +\def\authaddr#1{\itshape{#1}\\} 3.268 +\def\authurl#1{{\normalsize #1}\\} 3.269 + 3.270 +% 3.271 +% The abstract is preceded by a 12-pt bold centered heading 3.272 +% 3.273 +\def\abstract{\begin{center}% 3.274 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 3.275 + \end{center}} 3.276 +\def\endabstract{} 3.277 + 3.278 +% 3.279 +% Main section titles are 12-pt bold. Lower divisions can 3.280 +% be same size or smaller: we choose same. 3.281 +% Main section leading is tight. Subsection leading is even 3.282 +% slightly tighter. All lower divisions are formatted like subsections. 3.283 +% 3.284 +\newcommand\@sectionfont{\reset@font\large\bf} 3.285 +\newlength\@sectionaboveskip 3.286 +\setlength\@sectionaboveskip{-0.7\baselineskip 3.287 + plus -0.1\baselineskip 3.288 + minus -0.1\baselineskip} 3.289 +\newlength\@sectionbelowskip 3.290 +\setlength\@sectionbelowskip{0.3\baselineskip 3.291 + plus 0.1\baselineskip} 3.292 +\newlength\@subsectionaboveskip 3.293 +\setlength\@subsectionaboveskip{-0.5\baselineskip 3.294 + plus -0.1\baselineskip} 3.295 +\renewcommand\section{\@startsection {section}{1}{\z@}% 3.296 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 3.297 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 3.298 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 3.299 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 3.300 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 3.301 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 3.302 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 3.303 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 3.304 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 3.305 + {-1.0em}% 3.306 + {\normalfont\normalsize\bfseries}} 3.307 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 3.308 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 3.309 + {-1.0em}% 3.310 + {\normalfont\normalsize\bfseries}} 3.311 + 3.312 +% List items need to be tightened up. 3.313 +% There must be a better way than copying 3.314 +% the definitions to modify the list environment... 3.315 +\def\@itemspacings{\listparindent=\parindent 3.316 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 3.317 +% now make envs use itemspacings 3.318 +\def\itemize{% 3.319 + \ifnum \@itemdepth >\thr@@\@toodeep\else 3.320 + \advance\@itemdepth\@ne 3.321 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 3.322 + \expandafter 3.323 + \list 3.324 + \csname\@itemitem\endcsname 3.325 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 3.326 + \fi} 3.327 +\def\enumerate{% 3.328 + \ifnum \@enumdepth >\thr@@\@toodeep\else 3.329 + \advance\@enumdepth\@ne 3.330 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 3.331 + \expandafter 3.332 + \list 3.333 + \csname label\@enumctr\endcsname 3.334 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 3.335 + \fi} 3.336 +\def\description{% 3.337 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 3.338 + \@itemspacings\let\makelabel\descriptionlabel}} 3.339 + 3.340 +% Bibliography items need to be tightened up. 3.341 +% Again, there must be a better way than copying 3.342 +% the definitions to modify the list environment... 3.343 +\def\thebibliography#1% 3.344 + {\section*{\refname}% 3.345 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 3.346 + \list{\@biblabel{\@arabic\c@enumiv}}% 3.347 + {\settowidth\labelwidth{\@biblabel{#1}}% 3.348 + \leftmargin\labelwidth 3.349 + \advance\leftmargin\labelsep 3.350 + \@openbib@code 3.351 + \usecounter{enumiv}% 3.352 + \let\p@enumiv\@empty 3.353 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 3.354 + \parsep=0pt}% pack entries 3.355 + \sloppy 3.356 + \hbadness=8000% mostly don't whine about bibliography fmt 3.357 + \clubpenalty=4000% 3.358 + \@clubpenalty=\clubpenalty 3.359 + \widowpenalty=4000% 3.360 + \sfcode`\.\@m} 3.361 + 3.362 +% Floating bodies need to be tightened up. 3.363 +\setlength\textfloatsep{14pt plus 2pt} 3.364 +\setlength\dbltextfloatsep{\textfloatsep} 3.365 +\setlength\intextsep{0.8\textfloatsep} 3.366 +\setlength\abovecaptionskip{8pt minus 2pt}
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/helpers/usetex-v1.cls Tue Jun 19 16:25:28 2012 -0700 4.3 @@ -0,0 +1,357 @@ 4.4 +\NeedsTeXFormat{LaTeX2e} 4.5 +\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] 4.6 + 4.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 4.8 +% 4.9 +% To use this style file, do this: 4.10 +% 4.11 +% \documentclass{usetex-v1} 4.12 +% 4.13 +% The following definitions are modifications of standard article.cls 4.14 +% definitions, arranged to do a better job of matching the Usenix 4.15 +% guidelines. and make for convenient Usenix paper writing 4.16 +% 4.17 +% Choose the appropriate option: 4.18 +% 4.19 +% 1. workingdraft: 4.20 +% 4.21 +% For initial submission and shepherding. Features prominent 4.22 +% date, notice of draft status, page numbers, and annotation 4.23 +% facilities. 4.24 +% 4.25 +% 2. proof: 4.26 +% 4.27 +% A galley proof identical to the final copy except for page 4.28 +% numbering and proof date on the bottom. Annotations are 4.29 +% removed. 4.30 +% 4.31 +% 3. webversion: 4.32 +% 4.33 +% A web-publishable version, uses \docstatus{} to indicate 4.34 +% publication information (where and when paper was published), 4.35 +% and page numbers. 4.36 +% 4.37 +% 4. finalversion: 4.38 +% 4.39 +% The final camera-ready-copy (CRC) version of the paper. 4.40 +% Published in conference proceedings. This doesn't include 4.41 +% page numbers, annotations, or draft status (Usenix adds 4.42 +% headers, footers, and page numbers onto the CRC). 4.43 +% 4.44 +% If several are used, the last one in this list wins 4.45 +% 4.46 + 4.47 +% 4.48 +% In addition, the option "endnotes" permits the use of the 4.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 4.50 +% documents. In this case, be sure to include a 4.51 +% \makeendnotes command at the end of your document or 4.52 +% the endnotes will not actually appear. 4.53 +% 4.54 + 4.55 +\newif\if@draftcopy \newif\ifworkingdraft 4.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 4.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 4.58 +\newif\ifwebversion 4.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 4.60 +\DeclareOption{finalversion}{} 4.61 +\newif\ifhasendnotes 4.62 +\DeclareOption{endnotes}{\hasendnotestrue} 4.63 + 4.64 +% pass all other options to the article class 4.65 +\DeclareOption*{% 4.66 + \PassOptionsToClass{\CurrentOption}{article}% 4.67 +} 4.68 + 4.69 +% actually process the options 4.70 +\ProcessOptions 4.71 + 4.72 +% usetex is based on article 4.73 +\LoadClass[twocolumn]{article} 4.74 + 4.75 +% Footnotes are not currently allowed, but 4.76 +% endnotes (while a bad idea) are. 4.77 +\ifhasendnotes 4.78 + \RequirePackage{endnotes} 4.79 +\fi 4.80 + 4.81 +% save any provided document status information 4.82 +\def\@docstatus{} 4.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 4.84 + 4.85 +\ifworkingdraft 4.86 + 4.87 + % formatting helper for draft notes 4.88 + \newcommand{\@noteleader[1]}{% 4.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 4.90 + \bfseries\itshape 4.91 + } 4.92 + 4.93 + % put a small anonymous editing note in the draft copy 4.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 4.95 + 4.96 + % put a small attributed editing note in the draft copy 4.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 4.98 + 4.99 + % put an attributed editing note paragraph in the draft copy 4.100 + \newenvironment{ednote}[1] 4.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 4.102 + 4.103 + % mark a spot where work has been left off for later 4.104 + \newcommand{\HERE}{% 4.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 4.106 + 4.107 +\else 4.108 + 4.109 + % dummy versions of editing commands to produce warnings 4.110 + 4.111 + \newcommand{\edannote}[1]{\@latex@warning 4.112 + {Leftover edannote command in final version ignored}} 4.113 + 4.114 + \newcommand{\edatnote}[1]{\@latex@warning 4.115 + {Leftover edatnote command in final version ignored}} 4.116 + 4.117 + \newsavebox{\@discard} 4.118 + \newenvironment{ednote}[1]{\@latex@warning 4.119 + {Leftover ednote environment in final version ignored}% 4.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 4.121 + 4.122 + \newcommand{\HERE}{\@latex@warning 4.123 + {Leftover HERE command in final version ignored}} 4.124 + 4.125 +\fi 4.126 + 4.127 +% set up the footers appropriately 4.128 +\def\@setfoot{% 4.129 + \ifwebversion 4.130 + % webversions get whatever status the author says 4.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 4.132 + \else 4.133 + % all other drafts get the standard draft footer 4.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 4.135 + \fi 4.136 + \gdef\@oddfoot{\@evenfoot}% 4.137 +} 4.138 + 4.139 +% 4.140 +% Usenix wants no page numbers for submitted papers, so that 4.141 +% they can number them themselves. Drafts should have 4.142 +% numbered pages, so they can be edited. 4.143 +% 4.144 +\if@draftcopy 4.145 + % Compute a date and time for the draft for use 4.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 4.147 + % 4.148 + % Time code adapted from custom-bib/makebst.tex 4.149 + % Copyright 1993-1999 Patrick W Daly 4.150 + % Max-Planck-Institut f\"ur Aeronomie 4.151 + % E-mail: daly@linmp.mpg.de 4.152 + \newcount\hour 4.153 + \hour=\time 4.154 + \divide\hour by 60 4.155 + \newcount\minute 4.156 + \minute=\hour 4.157 + \multiply\minute by 60 4.158 + \advance\minute by -\time 4.159 + \multiply\minute by -1 4.160 + \newcommand{\@draftdate} 4.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 4.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 4.163 + \pagestyle{plain} 4.164 + \@setfoot 4.165 +\else 4.166 + \pagestyle{empty} 4.167 +\fi 4.168 + 4.169 +% Times-Roman font is nice if you can get it (requires NFSS, 4.170 +% which is in latex2e). 4.171 +\usepackage{times} 4.172 + 4.173 +% endnote support, as described at 4.174 +% http://www.lyx.org/help/footnotes.php 4.175 +\ifhasendnotes 4.176 + \typeout 4.177 + {Warning: endnotes support is deprecated (see documentation for details)} 4.178 + \let\footnote=\endnote 4.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 4.180 + \parindent=0pt\parskip=\baselineskip 4.181 + \@theenmark. } 4.182 + \newcommand{\makeendnotes}{ 4.183 + \begingroup 4.184 + \def\enotesize{\normalsize} 4.185 + \theendnotes 4.186 + \endgroup 4.187 + } 4.188 +\else 4.189 + \long\gdef\footnote{\@latex@error 4.190 + {Deprecated footnote command (see documentation for details)}} 4.191 + \long\gdef\endnote{\@latex@error 4.192 + {Deprecated endnote command (see documentation for details)}} 4.193 +\fi 4.194 + 4.195 +% 4.196 +% Usenix margins 4.197 +% Gives active areas of 6.45" x 9.0" 4.198 +% 4.199 +\setlength{\textheight}{9.0in} 4.200 +\setlength{\columnsep}{0.25in} 4.201 +\setlength{\textwidth}{6.45in} 4.202 +%\setlength{\footskip}{0.0in} 4.203 +%\setlength{\footheight}{0.0in} 4.204 +\setlength{\topmargin}{0.0in} 4.205 +\setlength{\headheight}{0.0in} 4.206 +\setlength{\headsep}{0.0in} 4.207 +\setlength{\evensidemargin}{0.0in} 4.208 +\setlength{\oddsidemargin}{0.0in} 4.209 +\setlength{\marginparsep}{1.5em} 4.210 +\setlength{\marginparwidth}{0.35in} 4.211 + 4.212 +% The standard maketitle insists on 4.213 +% messing with the style of the first page. 4.214 +% Thus, we will wrap maketitle with code to put 4.215 +% things right again. 4.216 +\let \save@maketitle=\maketitle 4.217 +\def\maketitle{ 4.218 + \save@maketitle 4.219 + \if@draftcopy 4.220 + \@specialpagefalse 4.221 + \else 4.222 + \thispagestyle{empty} 4.223 + \fi 4.224 +} 4.225 + 4.226 +% 4.227 +% Usenix titles are in 14-point bold type, with no date, and with no 4.228 +% change in the empty page headers. The author section is 4.229 +% 12 point roman and italic: see below. 4.230 +% 4.231 +\def\@maketitle{% 4.232 + \newpage 4.233 + \null 4.234 + \vskip 3ex% 4.235 + \begin{center}% 4.236 + \let \footnote \thanks 4.237 + {\Large \bf \@title \par}% % use 14 pt bold 4.238 + \vskip 2ex% 4.239 + {\large 4.240 + \lineskip .5ex% 4.241 + \begin{tabular}[t]{c}% 4.242 + \@author 4.243 + \end{tabular}\par}% 4.244 + \ifworkingdraft 4.245 + \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex 4.246 + \fi 4.247 + \ifwebversion 4.248 + \vskip 3ex \textbf{\@docstatus} \vskip 3ex 4.249 + \fi 4.250 + \end{center}% 4.251 + \par 4.252 + \vskip 2ex} 4.253 + 4.254 +% 4.255 +% The author section 4.256 +% should have names in Roman, address in 4.257 +% italic, e-mail/http in typewriter. 4.258 +% This is enforced by use of these macros 4.259 +% 4.260 +\def\authname#1{{#1}\\} 4.261 +\def\authaddr#1{\itshape{#1}\\} 4.262 +\def\authurl#1{{\normalsize #1}\\} 4.263 + 4.264 +% 4.265 +% The abstract is preceded by a 12-pt bold centered heading 4.266 +% 4.267 +\def\abstract{\begin{center}% 4.268 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 4.269 + \end{center}} 4.270 +\def\endabstract{} 4.271 + 4.272 +% 4.273 +% Main section titles are 12-pt bold. Lower divisions can 4.274 +% be same size or smaller: we choose same. 4.275 +% Main section leading is tight. Subsection leading is even 4.276 +% slightly tighter. All lower divisions are formatted like subsections. 4.277 +% 4.278 +\newcommand\@sectionfont{\reset@font\large\bf} 4.279 +\newlength\@sectionaboveskip 4.280 +\setlength\@sectionaboveskip{-0.7\baselineskip 4.281 + plus -0.1\baselineskip 4.282 + minus -0.1\baselineskip} 4.283 +\newlength\@sectionbelowskip 4.284 +\setlength\@sectionbelowskip{0.3\baselineskip 4.285 + plus 0.1\baselineskip} 4.286 +\newlength\@subsectionaboveskip 4.287 +\setlength\@subsectionaboveskip{-0.5\baselineskip 4.288 + plus -0.1\baselineskip} 4.289 +\renewcommand\section{\@startsection {section}{1}{\z@}% 4.290 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 4.291 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 4.292 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 4.293 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 4.294 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 4.295 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 4.296 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 4.297 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 4.298 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 4.299 + {-1.0em}% 4.300 + {\normalfont\normalsize\bfseries}} 4.301 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 4.302 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 4.303 + {-1.0em}% 4.304 + {\normalfont\normalsize\bfseries}} 4.305 + 4.306 +% List items need to be tightened up. 4.307 +% There must be a better way than copying 4.308 +% the definitions to modify the list environment... 4.309 +\def\@itemspacings{\listparindent=\parindent 4.310 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 4.311 +% now make envs use itemspacings 4.312 +\def\itemize{% 4.313 + \ifnum \@itemdepth >\thr@@\@toodeep\else 4.314 + \advance\@itemdepth\@ne 4.315 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 4.316 + \expandafter 4.317 + \list 4.318 + \csname\@itemitem\endcsname 4.319 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 4.320 + \fi} 4.321 +\def\enumerate{% 4.322 + \ifnum \@enumdepth >\thr@@\@toodeep\else 4.323 + \advance\@enumdepth\@ne 4.324 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 4.325 + \expandafter 4.326 + \list 4.327 + \csname label\@enumctr\endcsname 4.328 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 4.329 + \fi} 4.330 +\def\description{% 4.331 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 4.332 + \@itemspacings\let\makelabel\descriptionlabel}} 4.333 + 4.334 +% Bibliography items need to be tightened up. 4.335 +% Again, there must be a better way than copying 4.336 +% the definitions to modify the list environment... 4.337 +\def\thebibliography#1% 4.338 + {\section*{\refname}% 4.339 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 4.340 + \list{\@biblabel{\@arabic\c@enumiv}}% 4.341 + {\settowidth\labelwidth{\@biblabel{#1}}% 4.342 + \leftmargin\labelwidth 4.343 + \advance\leftmargin\labelsep 4.344 + \@openbib@code 4.345 + \usecounter{enumiv}% 4.346 + \let\p@enumiv\@empty 4.347 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 4.348 + \parsep=0pt}% pack entries 4.349 + \sloppy 4.350 + \hbadness=8000% mostly don't whine about bibliography fmt 4.351 + \clubpenalty=4000% 4.352 + \@clubpenalty=\clubpenalty 4.353 + \widowpenalty=4000% 4.354 + \sfcode`\.\@m} 4.355 + 4.356 +% Floating bodies need to be tightened up. 4.357 +\setlength\textfloatsep{14pt plus 2pt} 4.358 +\setlength\dbltextfloatsep{\textfloatsep} 4.359 +\setlength\intextsep{0.8\textfloatsep} 4.360 +\setlength\abovecaptionskip{8pt minus 2pt}
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/Paper_Design_2.txt Tue Jun 19 16:25:28 2012 -0700 5.3 @@ -0,0 +1,32 @@ 5.4 + 5.5 +====== 5.6 + 5.7 +Details of VMS interface, details of its impl on multi-core, details of differences on different machines. 5.8 + 5.9 +wrapper-lib calls VMS-supplied primitive that suspends the virtual-processor calling the lib, and sends a request to VMS. VMS calls lang-supplied plugin to handle requests -- this is the part of the scheduler that handles constraints -- it determines which virt-processors must remain suspended, and which are free to be re-animated. 5.10 + 5.11 +The language is implemented as either a collection of wrapper-lib calls embedded into the base language, or as custom syntax that uses uses the VMS-supplied primitive to suspend virtual processors and send requests to VMS. 5.12 + 5.13 + 5.14 +VMS is invisible to the application, only language constructs are visible. From the application-programmer point of view, the embedded version looks like a function call, albeit the data-struc of the virtual-processor animating the code has to be passed as a parameter to the wrapper-lib call. 5.15 + 5.16 +Hence, VMS is invisible to the application, only language constructs are visible. 5.17 + 5.18 +The wrapper-lib call is standard library code that is loaded along with the application executable. 5.19 + 5.20 +However, VMS primitives may be hardware-implemented, or loaded as OS modules, or dynamic or static libraries. Rhey are naturally custom instructions, but may be emulated by software. 5.21 + 5.22 +The interface between application-executable and language-runtime is the VMS-primitive that sends a request to VMS. The language-runtime receives the request under control of VMS, which calls a language-supplied request-handling function and passes the request as a parameter. This passive behavior of the request handler leaves control-flow inside VMS, which is part of hiding concurrency from the language-runtime implementation. 5.23 + 5.24 +The interface between the runtime and VMS is VMS's plugin API. The runtime is implemented as two functions, whose pointers are handed to VMS. VMS then controls the flow of execution. When a request is ready for the runtime, VMS cIalls the request-handler function, and when a spot on hardware is free for work, VMS calls the scheduler-assign function. Hence, the language implements its runtime as two isolated functions. By keeping control-flow inside VMS, the language-specific portion of the runtiem is simplified. 5.25 + 5.26 +This structure is also the reason VMS encourages reuse of scheduler code. The VMS API separates out control flow from scheduling, so scheduling code is isolated, with well-defined interfaces. Scheduling is then further sub-divided into modules: constraint-management (IE enforcing dependencies); and choosing physical location to place work. Each has its own well-defined interface, and they communicate to each other via VMS-managed shared state. 5.27 + 5.28 +The greatest application performance impact due to the scheduler is communication it causes. 5.29 + 5.30 +, management of the memory hierarchy, and the match between work-characteristics and hardware-characteristics (IE, assigning to accelerator vs CPU). Hence, significant work goes into implementing strategies and mechanisms for finding the best assignment-choices. Such implementations are only loosely coupled to language, through the shared state by which the request-handler informs the assigner of what work is ready to be animated. 5.31 + 5.32 +Hence, it is straight-forward to reuse the code that assigns work to physical locations. The only language-specific influence on the assigner is the shared constraint-state. 5.33 + 5.34 + 5.35 +
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 6.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/url.sty Tue Jun 19 16:25:28 2012 -0700 6.3 @@ -0,0 +1,325 @@ 6.4 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@triumf.ca 6.5 +% Copyright 1996-1999 Donald Arseneau, Vancouver, Canada. 6.6 +% This program can be used, distributed, and modified under the terms 6.7 +% of the LaTeX Project Public License. 6.8 +% 6.9 +% A form of \verb that allows linebreaks at certain characters or 6.10 +% combinations of characters, accepts reconfiguration, and can usually 6.11 +% be used in the argument to another command. It is intended for email 6.12 +% addresses, hypertext links, directories/paths, etc., which normally 6.13 +% have no spaces. The font may be selected using the \urlstyle command, 6.14 +% and new url-like commands can be defined using \urldef. 6.15 +% 6.16 +% Usage: Conditions: 6.17 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 6.18 +% "\", it can't be used in the argument to another command. 6.19 +% The argument must not contain unbalanced braces. 6.20 +% \url| | ...where "|" is any character not used in the argument and not 6.21 +% "{" or a space. The same restrictions as above except that the 6.22 +% argument may contain unbalanced braces. 6.23 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 6.24 +% what characters it contains. 6.25 +% 6.26 +% See further instructions after "\endinput" 6.27 +% 6.28 +\def\Url@ttdo{% style assignments for tt fonts or T1 encoding 6.29 +\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]% 6.30 + \do\)\do\,\do\?\do\'\do\+\do\=}% 6.31 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 6.32 +\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary) 6.33 +\def\UrlSpecials{\do\ {\ }}% 6.34 +\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually 6.35 +} 6.36 +\def\Url@do{% style assignments for OT1 fonts except tt 6.37 +\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}% 6.38 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 6.39 +\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character 6.40 +\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_% 6.41 + \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do 6.42 + \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do 6.43 + \ {\ }}% 6.44 +\def\UrlOrds{\do\'\do\"\do\-}% 6.45 +} 6.46 +\def\url@ttstyle{% 6.47 +\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo 6.48 +} 6.49 +\def\url@rmstyle{% 6.50 +\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do 6.51 +} 6.52 +\def\url@sfstyle{% 6.53 +\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do 6.54 +} 6.55 +\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else 6.56 + \url@rmstyle \fi \def\UrlFont{}} 6.57 + 6.58 +\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{} 6.59 +\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{} 6.60 + 6.61 +\def\Url{% 6.62 + \begingroup \let\url@moving\relax\relax \endgroup 6.63 + \ifmmode\@nomatherr$\fi 6.64 + \UrlFont $\fam\z@ \textfont\z@\font 6.65 + \let\do\@makeother \dospecials % verbatim catcodes 6.66 + \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces 6.67 + \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip 6.68 + \@tempcnta\fam\multiply\@tempcnta\@cclvi 6.69 + \let\do\set@mathcode \UrlOrds % ordinary characters that were special 6.70 + \advance\@tempcnta 8192 \UrlBreaks % bin 6.71 + \advance\@tempcnta 4096 \UrlBigBreaks % rel 6.72 + \advance\@tempcnta 4096 \UrlNoBreaks % open 6.73 + \let\do\set@mathact \UrlSpecials % active 6.74 + \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures 6.75 + \@ifnextchar\bgroup\Url@z\Url@y} 6.76 + 6.77 +\def\Url@y#1{\catcode`{11 \catcode`}11 6.78 + \def\@tempa##1#1{\Url@z{##1}}\@tempa} 6.79 +\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook 6.80 + \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup} 6.81 +\def\Url@Hook{\UrlLeft} 6.82 +\let\UrlRight\@empty 6.83 +\let\UrlLeft\@empty 6.84 + 6.85 +\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@} 6.86 +\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}} 6.87 +\def\set@mathnolig#1{\ifnum\mathcode`#1<32768 6.88 + \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}% 6.89 + \mathcode`#132768 \fi} 6.90 + 6.91 +\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup 6.92 + \def\Url@z{\Url@def{#1}{#2}}#2} 6.93 +\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax 6.94 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 6.95 + \def#1{#2{#3}}} 6.96 +\else 6.97 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 6.98 + \DeclareRobustCommand{#1}{#2{#3}}} 6.99 +\fi 6.100 + 6.101 +\def\urlstyle#1{\csname url@#1style\endcsname} 6.102 + 6.103 +% Sample (and default) configuration: 6.104 +% 6.105 +\newcommand\url{\begingroup \Url} 6.106 +% 6.107 +% picTeX defines \path, so declare it optionally: 6.108 +\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{} 6.109 +% 6.110 +% too many styles define \email like \address, so I will not define it. 6.111 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 6.112 + 6.113 +% Process LaTeX \package options 6.114 +% 6.115 +\urlstyle{tt} 6.116 +\let\Url@sppen\@M 6.117 +\def\do@url@hyp{}% by default, no breaks after hyphens 6.118 + 6.119 +\@ifundefined{ProvidesPackage}{}{ 6.120 + \ProvidesPackage{url}[1999/03/02 \space ver 1.4 \space 6.121 + Verb mode for urls, email addresses, and file names] 6.122 + \DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens 6.123 + \DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later 6.124 + \DeclareOption{spaces}{\let\Url@sppen\relpenalty} 6.125 + \DeclareOption{T1}{\let\Url@do\Url@ttdo} 6.126 + \ProcessOptions 6.127 +\ifx\Url@Hook\relax % [obeyspaces] was declared 6.128 + \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft 6.129 + \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th} 6.130 + \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain} 6.131 + \def\Url@nosp\,#1\Url@retain{} 6.132 +\fi 6.133 +} 6.134 + 6.135 +\edef\url@moving{\csname Url Error\endcsname} 6.136 +\expandafter\edef\url@moving 6.137 + {\csname url used in a moving argument.\endcsname} 6.138 +\expandafter\expandafter\expandafter \let \url@moving\undefined 6.139 + 6.140 +\endinput 6.141 +% 6.142 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@reg.triumf.ca 6.143 +% 6.144 +% This package defines "\url", a form of "\verb" that allows linebreaks, 6.145 +% and can often be used in the argument to another command. It can be 6.146 +% configured to print in different formats, and is particularly useful for 6.147 +% hypertext links, email addresses, directories/paths, etc. The font may 6.148 +% be selected using the "\urlstyle" command and pre-defined text can be 6.149 +% stored with the "\urldef" command. New url-like commands can be defined, 6.150 +% and a "\path" command is provided this way. 6.151 +% 6.152 +% Usage: Conditions: 6.153 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 6.154 +% "\", it can't be used in the argument to another command. 6.155 +% The argument must not contain unbalanced braces. 6.156 +% \url| | ...where "|" is any character not used in the argument and not 6.157 +% "{" or a space. The same restrictions as above except that the 6.158 +% argument may contain unbalanced braces. 6.159 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 6.160 +% what characters it contains. 6.161 +% 6.162 +% The "\url" command is fragile, and its argument is likely to be very 6.163 +% fragile, but a defined-url is robust. 6.164 +% 6.165 +% Package Option: obeyspaces 6.166 +% Ordinarily, all spaces are ignored in the url-text. The "[obeyspaces]" 6.167 +% option allows spaces, but may introduce spurious spaces when a url 6.168 +% containing "\" characters is given in the argument to another command. 6.169 +% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}", 6.170 +% and if you need both spaces and backslashes, use a `defined-url' for 6.171 +% anything with "\". 6.172 +% 6.173 +% Package Option: hyphens 6.174 +% Ordinarily, breaks are not allowed after "-" characters because this 6.175 +% leads to confusion. (Is the "-" part of the address or just a hyphen?) 6.176 +% The package option "[hyphens]" allows breaks after explicit hyphen 6.177 +% characters. The "\url" command will *never ever* hyphenate words. 6.178 +% 6.179 +% Package Option: spaces 6.180 +% Likewise, breaks are not usually allowed after spaces under the 6.181 +% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]" 6.182 +% will allow breaks at those spaces. 6.183 +% 6.184 +% Package Option: T1 6.185 +% This signifies that you will be using T1-encoded fonts which contain 6.186 +% some characters missing from most older (OT1) encoded TeX fonts. This 6.187 +% changes the default definition for "\urlstyle{rm}". 6.188 +% 6.189 +% Defining a defined-url: 6.190 +% Take for example the email address "myself%node@gateway.net" which could 6.191 +% not be given (using "\url" or "\verb") in a caption or parbox due to the 6.192 +% percent sign. This address can be predefined with 6.193 +% \urldef{\myself}\url{myself%node@gateway.net} or 6.194 +% \urldef{\myself}\url|myself%node@gateway.net| 6.195 +% and then you may use "\myself" instead of "\url{myself%node@gateway.net}" 6.196 +% in an argument, and even in a moving argument like a caption because a 6.197 +% defined-url is robust. 6.198 +% 6.199 +% Style: 6.200 +% You can switch the style of printing using "\urlstyle{tt}", where "tt" 6.201 +% can be any defined style. The pre-defined styles are "tt", "rm", "sf", 6.202 +% and "same" which all allow the same linebreaks but different fonts -- 6.203 +% the first three select a specific font and the "same" style uses the 6.204 +% current text font. You can define your own styles with different fonts 6.205 +% and/or line-breaking by following the explanations below. The "\url" 6.206 +% command follows whatever the currently-set style dictates. 6.207 +% 6.208 +% Alternate commands: 6.209 +% It may be desireable to have different things treated differently, each 6.210 +% in a predefined style; e.g., if you want directory paths to always be 6.211 +% in tt and email addresses to be rm, then you would define new url-like 6.212 +% commands as follows: 6.213 +% 6.214 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 6.215 +% \newcommand\directory{\begingroup \urlstyle{tt}\Url} 6.216 +% 6.217 +% You must follow this format closely, and NOTE that the final command is 6.218 +% "\Url", not "\url". In fact, the "\directory" example is exactly the 6.219 +% "\path" definition which is pre-defined in the package. If you look 6.220 +% above, you will see that "\url" is defined with 6.221 +% \newcommand\url{\begingroup \Url} 6.222 +% I.e., using whatever url-style has been selected. 6.223 +% 6.224 +% You can make a defined-url for these other styles, using the usual 6.225 +% "\urldef" command as in this example: 6.226 +% 6.227 +% \urldef{\myself}{\email}{myself%node.domain@gateway.net} 6.228 +% 6.229 +% which makes "\myself" act like "\email{myself%node.domain@gateway.net}", 6.230 +% if the "\email" command is defined as above. The "\myself" command 6.231 +% would then be robust. 6.232 +% 6.233 +% Defining styles: 6.234 +% Before describing how to customize the printing style, it is best to 6.235 +% mention something about the unusual implementation of "\url". Although 6.236 +% the material is textual in nature, and the font specification required 6.237 +% is a text-font command, the text is actually typeset in *math* mode. 6.238 +% This allows the context-sensitive linebreaking, but also accounts for 6.239 +% the default behavior of ignoring spaces. Now on to defining styles. 6.240 +% 6.241 +% To change the font or the list of characters that allow linebreaks, you 6.242 +% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc. 6.243 +% directly in the document, but it is better to define a new `url-style' 6.244 +% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines 6.245 +% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and 6.246 +% "\UrlFont". 6.247 +% 6.248 +% Changing font: 6.249 +% The "\UrlFont" command selects the font. The definition of "\UrlFont" 6.250 +% done by the pre-defined styles varies to cope with a variety of LaTeX 6.251 +% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}". 6.252 +% Depending on the font selected, some characters may need to be defined 6.253 +% in the "\UrlSpecials" list because many fonts don't contain all the 6.254 +% standard input characters. 6.255 +% 6.256 +% Changing linebreaks: 6.257 +% The list of characters that allow line-breaks is given by "\UrlBreaks" 6.258 +% and "\UrlBigBreaks", which have the format "\do\c" for character "c". 6.259 +% The differences are that `BigBreaks' have a lower penalty and have 6.260 +% different breakpoints when in sequence (as in "http://"): `BigBreaks' 6.261 +% are treated as mathrels while `Breaks' are mathbins (see The TeXbook, 6.262 +% p.170). In particular, a series of `BigBreak' characters will break at 6.263 +% the end and only at the end; a series of `Break' characters will break 6.264 +% after the first and after every following *pair*; there will be no 6.265 +% break after a `Break' character if a `BigBreak' follows. In the case 6.266 +% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' -- 6.267 +% the breaks are the same in either case; but for DECnet nodes with "::" 6.268 +% it is important to prevent breaks *between* the colons, and that is why 6.269 +% colons are `BigBreaks'. 6.270 +% 6.271 +% It is possible for characters to prevent breaks after the next following 6.272 +% character (I use this for parentheses). Specify these in "\UrlNoBreaks". 6.273 +% 6.274 +% You can do arbitrarily complex things with characters by making them 6.275 +% active in math mode (mathcode hex-8000) and specifying the definition(s) 6.276 +% in "\UrlSpecials". This is used in the rm and sf styles for OT1 font 6.277 +% encoding to handle several characters that are not present in those 6.278 +% computer-modern style fonts. See the definition of "\Url@do", which 6.279 +% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing 6.280 +% characters via "\UrlSpecials". The nominal format for setting each 6.281 +% special character "c" is: "\do\c{<definition>}", but you can include 6.282 +% other definitions too. 6.283 +% 6.284 +% 6.285 +% If all this sounds confusing ... well, it is! But I hope you won't need 6.286 +% to redefine breakpoints -- the default assignments seem to work well for 6.287 +% a wide variety of applications. If you do need to make changes, you can 6.288 +% test for breakpoints using regular math mode and the characters "+=(a". 6.289 +% 6.290 +% Yet more flexibility: 6.291 +% You can also customize the verbatim text by defining "\UrlRight" and/or 6.292 +% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "< >", define 6.293 +% 6.294 +% \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}% 6.295 +% \urlstyle{tt}\Url} 6.296 +% 6.297 +% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim. 6.298 +% This lets you use formatting commands there, but you must be careful not 6.299 +% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly. 6.300 +% You can also define "\UrlLeft" to reprocess the verbatim text, but the 6.301 +% format of the definition is special: 6.302 +% 6.303 +% \def\UrlLeft#1\UrlRight{ ... do things with #1 ... } 6.304 +% 6.305 +% Yes, that is "#1" followed by "\UrlRight" then the definition. For 6.306 +% example, to put a hyperTeX hypertext link in the DVI file: 6.307 +% 6.308 +% \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}} 6.309 +% 6.310 +% Using this technique, url.sty can provide a convenient interface for 6.311 +% performing various operations on verbatim text. You don't even need 6.312 +% to print out the argument! For greatest efficiency in such obscure 6.313 +% applications, you can define a null url-style where all the lists like 6.314 +% "\UrlBreaks" are empty. 6.315 +% 6.316 +% Revision History: 6.317 +% ver 1.1 6-Feb-1996: 6.318 +% Fix hyphens that wouldn't break and ligatures that weren't suppressed. 6.319 +% ver 1.2 19-Oct-1996: 6.320 +% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight". 6.321 +% ver 1.3 21-Jul-1997: 6.322 +% Prohibit spaces as delimiter characters; change ascii tilde in OT1. 6.323 +% ver 1.4 02-Mar-1999 6.324 +% LaTeX license; moving-argument-error 6.325 +% The End 6.326 + 6.327 +Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 6.328 +:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/usetex-v1-anon.cls Tue Jun 19 16:25:28 2012 -0700 7.3 @@ -0,0 +1,363 @@ 7.4 +\NeedsTeXFormat{LaTeX2e} 7.5 +\ProvidesClass{usetex-v1-anon}[2002/10/31 v1.2 usetex Usenix article class] 7.6 + 7.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 7.8 +% 7.9 +% To use this style file, do this: 7.10 +% 7.11 +% \documentclass{usetex-v1} 7.12 +% 7.13 +% The following definitions are modifications of standard article.cls 7.14 +% definitions, arranged to do a better job of matching the Usenix 7.15 +% guidelines. and make for convenient Usenix paper writing 7.16 +% 7.17 +% Choose the appropriate option: 7.18 +% 7.19 +% 1. workingdraft: 7.20 +% 7.21 +% For initial submission and shepherding. Features prominent 7.22 +% date, notice of draft status, page numbers, and annotation 7.23 +% facilities. 7.24 +% 7.25 +% 2. proof: 7.26 +% 7.27 +% A galley proof identical to the final copy except for page 7.28 +% numbering and proof date on the bottom. Annotations are 7.29 +% removed. 7.30 +% 7.31 +% 3. webversion: 7.32 +% 7.33 +% A web-publishable version, uses \docstatus{} to indicate 7.34 +% publication information (where and when paper was published), 7.35 +% and page numbers. 7.36 +% 7.37 +% 4. finalversion: 7.38 +% 7.39 +% The final camera-ready-copy (CRC) version of the paper. 7.40 +% Published in conference proceedings. This doesn't include 7.41 +% page numbers, annotations, or draft status (Usenix adds 7.42 +% headers, footers, and page numbers onto the CRC). 7.43 +% 7.44 +% If several are used, the last one in this list wins 7.45 +% 7.46 + 7.47 +% 7.48 +% In addition, the option "endnotes" permits the use of the 7.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 7.50 +% documents. In this case, be sure to include a 7.51 +% \makeendnotes command at the end of your document or 7.52 +% the endnotes will not actually appear. 7.53 +% 7.54 + 7.55 +\newif\if@draftcopy \newif\ifworkingdraft 7.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 7.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 7.58 +\newif\ifwebversion 7.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 7.60 +\DeclareOption{finalversion}{} 7.61 +\newif\ifhasendnotes 7.62 +\DeclareOption{endnotes}{\hasendnotestrue} 7.63 + 7.64 +% pass all other options to the article class 7.65 +\DeclareOption*{% 7.66 + \PassOptionsToClass{\CurrentOption}{article}% 7.67 +} 7.68 + 7.69 +% actually process the options 7.70 +\ProcessOptions 7.71 + 7.72 +% usetex is based on article 7.73 +\LoadClass[twocolumn]{article} 7.74 + 7.75 +% Footnotes are not currently allowed, but 7.76 +% endnotes (while a bad idea) are. 7.77 +\ifhasendnotes 7.78 + \RequirePackage{endnotes} 7.79 +\fi 7.80 + 7.81 +% save any provided document status information 7.82 +\def\@docstatus{} 7.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 7.84 + 7.85 +\ifworkingdraft 7.86 + 7.87 + % formatting helper for draft notes 7.88 + \newcommand{\@noteleader[1]}{% 7.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 7.90 + \bfseries\itshape 7.91 + } 7.92 + 7.93 + % put a small anonymous editing note in the draft copy 7.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 7.95 + 7.96 + % put a small attributed editing note in the draft copy 7.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 7.98 + 7.99 + % put an attributed editing note paragraph in the draft copy 7.100 + \newenvironment{ednote}[1] 7.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 7.102 + 7.103 + % mark a spot where work has been left off for later 7.104 + \newcommand{\HERE}{% 7.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 7.106 + 7.107 +\else 7.108 + 7.109 + % dummy versions of editing commands to produce warnings 7.110 + 7.111 + \newcommand{\edannote}[1]{\@latex@warning 7.112 + {Leftover edannote command in final version ignored}} 7.113 + 7.114 + \newcommand{\edatnote}[1]{\@latex@warning 7.115 + {Leftover edatnote command in final version ignored}} 7.116 + 7.117 + \newsavebox{\@discard} 7.118 + \newenvironment{ednote}[1]{\@latex@warning 7.119 + {Leftover ednote environment in final version ignored}% 7.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 7.121 + 7.122 + \newcommand{\HERE}{\@latex@warning 7.123 + {Leftover HERE command in final version ignored}} 7.124 + 7.125 +\fi 7.126 + 7.127 +% set up the footers appropriately 7.128 +\def\@setfoot{% 7.129 + \ifwebversion 7.130 + % webversions get whatever status the author says 7.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 7.132 + \else 7.133 + % all other drafts get the standard draft footer 7.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 7.135 + \fi 7.136 + \gdef\@oddfoot{\@evenfoot}% 7.137 +} 7.138 + 7.139 +% 7.140 +% Usenix wants no page numbers for submitted papers, so that 7.141 +% they can number them themselves. Drafts should have 7.142 +% numbered pages, so they can be edited. 7.143 +% 7.144 +\if@draftcopy 7.145 + % Compute a date and time for the draft for use 7.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 7.147 + % 7.148 + % Time code adapted from custom-bib/makebst.tex 7.149 + % Copyright 1993-1999 Patrick W Daly 7.150 + % Max-Planck-Institut f\"ur Aeronomie 7.151 + % E-mail: daly@linmp.mpg.de 7.152 + \newcount\hour 7.153 + \hour=\time 7.154 + \divide\hour by 60 7.155 + \newcount\minute 7.156 + \minute=\hour 7.157 + \multiply\minute by 60 7.158 + \advance\minute by -\time 7.159 + \multiply\minute by -1 7.160 + \newcommand{\@draftdate} 7.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 7.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 7.163 + \pagestyle{plain} 7.164 + \@setfoot 7.165 +\else 7.166 + \pagestyle{empty} 7.167 +\fi 7.168 + 7.169 +% Times-Roman font is nice if you can get it (requires NFSS, 7.170 +% which is in latex2e). 7.171 +\usepackage{times} 7.172 + 7.173 +% endnote support, as described at 7.174 +% http://www.lyx.org/help/footnotes.php 7.175 +\ifhasendnotes 7.176 + \typeout 7.177 + {Warning: endnotes support is deprecated (see documentation for details)} 7.178 + \let\footnote=\endnote 7.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 7.180 + \parindent=0pt\parskip=\baselineskip 7.181 + \@theenmark. } 7.182 + \newcommand{\makeendnotes}{ 7.183 + \begingroup 7.184 + \def\enotesize{\normalsize} 7.185 + \theendnotes 7.186 + \endgroup 7.187 + } 7.188 +\else 7.189 + \long\gdef\footnote{\@latex@error 7.190 + {Deprecated footnote command (see documentation for details)}} 7.191 + \long\gdef\endnote{\@latex@error 7.192 + {Deprecated endnote command (see documentation for details)}} 7.193 +\fi 7.194 + 7.195 +% 7.196 +% Usenix margins 7.197 +% Gives active areas of 6.45" x 9.0" 7.198 +% 7.199 +\setlength{\textheight}{9.0in} 7.200 +\setlength{\columnsep}{0.25in} 7.201 +\setlength{\textwidth}{6.45in} 7.202 +%\setlength{\footskip}{0.0in} 7.203 +%\setlength{\footheight}{0.0in} 7.204 +\setlength{\topmargin}{0.0in} 7.205 +\setlength{\headheight}{0.0in} 7.206 +\setlength{\headsep}{0.0in} 7.207 +\setlength{\evensidemargin}{0.0in} 7.208 +\setlength{\oddsidemargin}{0.0in} 7.209 +\setlength{\marginparsep}{1.5em} 7.210 +\setlength{\marginparwidth}{0.35in} 7.211 + 7.212 +% The standard maketitle insists on 7.213 +% messing with the style of the first page. 7.214 +% Thus, we will wrap maketitle with code to put 7.215 +% things right again. 7.216 +\let \save@maketitle=\maketitle 7.217 +\def\maketitle{ 7.218 + \save@maketitle 7.219 + \if@draftcopy 7.220 + \@specialpagefalse 7.221 + \else 7.222 + \thispagestyle{empty} 7.223 + \fi 7.224 +} 7.225 + 7.226 +% 7.227 +% Usenix titles are in 14-point bold type, with no date, and with no 7.228 +% change in the empty page headers. The author section is 7.229 +% 12 point roman and italic: see below. 7.230 +% 7.231 +\def\@maketitle{% 7.232 + \newpage 7.233 + \null 7.234 +% \vskip 3ex% 7.235 + \begin{center}% 7.236 +% \let \footnote \thanks 7.237 + {\Large \bf \@title \par}% % use 14 pt bold 7.238 +% \vskip 2ex% 7.239 + {\large 7.240 +% \lineskip .5ex% 7.241 +% \begin{tabular}[t]{c}% 7.242 +% \@author 7.243 +% \end{tabular}\par 7.244 + }% 7.245 + \ifworkingdraft 7.246 + \vskip 0.5ex 7.247 + \textbf{Draft of \@draftdate} 7.248 + \vskip 0.5ex 7.249 + \fi 7.250 + \ifwebversion 7.251 + \vskip 0.5ex 7.252 + \textit{Authors and affiliation elided for review.} 7.253 + \vskip 0.5ex 7.254 + \fi 7.255 + \end{center}% 7.256 + \par 7.257 +% \vskip 2ex 7.258 +} 7.259 + 7.260 +% 7.261 +% The author section 7.262 +% should have names in Roman, address in 7.263 +% italic, e-mail/http in typewriter. 7.264 +% This is enforced by use of these macros 7.265 +% 7.266 +\def\authname#1{{#1}\\} 7.267 +\def\authaddr#1{\itshape{#1}\\} 7.268 +\def\authurl#1{{\normalsize #1}\\} 7.269 + 7.270 +% 7.271 +% The abstract is preceded by a 12-pt bold centered heading 7.272 +% 7.273 +\def\abstract{\begin{center}% 7.274 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 7.275 + \end{center}} 7.276 +\def\endabstract{} 7.277 + 7.278 +% 7.279 +% Main section titles are 12-pt bold. Lower divisions can 7.280 +% be same size or smaller: we choose same. 7.281 +% Main section leading is tight. Subsection leading is even 7.282 +% slightly tighter. All lower divisions are formatted like subsections. 7.283 +% 7.284 +\newcommand\@sectionfont{\reset@font\large\bf} 7.285 +\newlength\@sectionaboveskip 7.286 +\setlength\@sectionaboveskip{-0.7\baselineskip 7.287 + plus -0.1\baselineskip 7.288 + minus -0.1\baselineskip} 7.289 +\newlength\@sectionbelowskip 7.290 +\setlength\@sectionbelowskip{0.3\baselineskip 7.291 + plus 0.1\baselineskip} 7.292 +\newlength\@subsectionaboveskip 7.293 +\setlength\@subsectionaboveskip{-0.5\baselineskip 7.294 + plus -0.1\baselineskip} 7.295 +\renewcommand\section{\@startsection {section}{1}{\z@}% 7.296 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 7.297 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 7.298 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 7.299 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 7.300 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 7.301 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 7.302 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 7.303 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 7.304 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 7.305 + {-1.0em}% 7.306 + {\normalfont\normalsize\bfseries}} 7.307 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 7.308 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 7.309 + {-1.0em}% 7.310 + {\normalfont\normalsize\bfseries}} 7.311 + 7.312 +% List items need to be tightened up. 7.313 +% There must be a better way than copying 7.314 +% the definitions to modify the list environment... 7.315 +\def\@itemspacings{\listparindent=\parindent 7.316 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 7.317 +% now make envs use itemspacings 7.318 +\def\itemize{% 7.319 + \ifnum \@itemdepth >\thr@@\@toodeep\else 7.320 + \advance\@itemdepth\@ne 7.321 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 7.322 + \expandafter 7.323 + \list 7.324 + \csname\@itemitem\endcsname 7.325 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 7.326 + \fi} 7.327 +\def\enumerate{% 7.328 + \ifnum \@enumdepth >\thr@@\@toodeep\else 7.329 + \advance\@enumdepth\@ne 7.330 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 7.331 + \expandafter 7.332 + \list 7.333 + \csname label\@enumctr\endcsname 7.334 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 7.335 + \fi} 7.336 +\def\description{% 7.337 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 7.338 + \@itemspacings\let\makelabel\descriptionlabel}} 7.339 + 7.340 +% Bibliography items need to be tightened up. 7.341 +% Again, there must be a better way than copying 7.342 +% the definitions to modify the list environment... 7.343 +\def\thebibliography#1% 7.344 + {\section*{\refname}% 7.345 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 7.346 + \list{\@biblabel{\@arabic\c@enumiv}}% 7.347 + {\settowidth\labelwidth{\@biblabel{#1}}% 7.348 + \leftmargin\labelwidth 7.349 + \advance\leftmargin\labelsep 7.350 + \@openbib@code 7.351 + \usecounter{enumiv}% 7.352 + \let\p@enumiv\@empty 7.353 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 7.354 + \parsep=0pt}% pack entries 7.355 + \sloppy 7.356 + \hbadness=8000% mostly don't whine about bibliography fmt 7.357 + \clubpenalty=4000% 7.358 + \@clubpenalty=\clubpenalty 7.359 + \widowpenalty=4000% 7.360 + \sfcode`\.\@m} 7.361 + 7.362 +% Floating bodies need to be tightened up. 7.363 +\setlength\textfloatsep{14pt plus 2pt} 7.364 +\setlength\dbltextfloatsep{\textfloatsep} 7.365 +\setlength\intextsep{0.8\textfloatsep} 7.366 +\setlength\abovecaptionskip{8pt minus 2pt}
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/usetex-v1.cls Tue Jun 19 16:25:28 2012 -0700 8.3 @@ -0,0 +1,357 @@ 8.4 +\NeedsTeXFormat{LaTeX2e} 8.5 +\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] 8.6 + 8.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 8.8 +% 8.9 +% To use this style file, do this: 8.10 +% 8.11 +% \documentclass{usetex-v1} 8.12 +% 8.13 +% The following definitions are modifications of standard article.cls 8.14 +% definitions, arranged to do a better job of matching the Usenix 8.15 +% guidelines. and make for convenient Usenix paper writing 8.16 +% 8.17 +% Choose the appropriate option: 8.18 +% 8.19 +% 1. workingdraft: 8.20 +% 8.21 +% For initial submission and shepherding. Features prominent 8.22 +% date, notice of draft status, page numbers, and annotation 8.23 +% facilities. 8.24 +% 8.25 +% 2. proof: 8.26 +% 8.27 +% A galley proof identical to the final copy except for page 8.28 +% numbering and proof date on the bottom. Annotations are 8.29 +% removed. 8.30 +% 8.31 +% 3. webversion: 8.32 +% 8.33 +% A web-publishable version, uses \docstatus{} to indicate 8.34 +% publication information (where and when paper was published), 8.35 +% and page numbers. 8.36 +% 8.37 +% 4. finalversion: 8.38 +% 8.39 +% The final camera-ready-copy (CRC) version of the paper. 8.40 +% Published in conference proceedings. This doesn't include 8.41 +% page numbers, annotations, or draft status (Usenix adds 8.42 +% headers, footers, and page numbers onto the CRC). 8.43 +% 8.44 +% If several are used, the last one in this list wins 8.45 +% 8.46 + 8.47 +% 8.48 +% In addition, the option "endnotes" permits the use of the 8.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 8.50 +% documents. In this case, be sure to include a 8.51 +% \makeendnotes command at the end of your document or 8.52 +% the endnotes will not actually appear. 8.53 +% 8.54 + 8.55 +\newif\if@draftcopy \newif\ifworkingdraft 8.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 8.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 8.58 +\newif\ifwebversion 8.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 8.60 +\DeclareOption{finalversion}{} 8.61 +\newif\ifhasendnotes 8.62 +\DeclareOption{endnotes}{\hasendnotestrue} 8.63 + 8.64 +% pass all other options to the article class 8.65 +\DeclareOption*{% 8.66 + \PassOptionsToClass{\CurrentOption}{article}% 8.67 +} 8.68 + 8.69 +% actually process the options 8.70 +\ProcessOptions 8.71 + 8.72 +% usetex is based on article 8.73 +\LoadClass[twocolumn]{article} 8.74 + 8.75 +% Footnotes are not currently allowed, but 8.76 +% endnotes (while a bad idea) are. 8.77 +\ifhasendnotes 8.78 + \RequirePackage{endnotes} 8.79 +\fi 8.80 + 8.81 +% save any provided document status information 8.82 +\def\@docstatus{} 8.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 8.84 + 8.85 +\ifworkingdraft 8.86 + 8.87 + % formatting helper for draft notes 8.88 + \newcommand{\@noteleader[1]}{% 8.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 8.90 + \bfseries\itshape 8.91 + } 8.92 + 8.93 + % put a small anonymous editing note in the draft copy 8.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 8.95 + 8.96 + % put a small attributed editing note in the draft copy 8.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 8.98 + 8.99 + % put an attributed editing note paragraph in the draft copy 8.100 + \newenvironment{ednote}[1] 8.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 8.102 + 8.103 + % mark a spot where work has been left off for later 8.104 + \newcommand{\HERE}{% 8.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 8.106 + 8.107 +\else 8.108 + 8.109 + % dummy versions of editing commands to produce warnings 8.110 + 8.111 + \newcommand{\edannote}[1]{\@latex@warning 8.112 + {Leftover edannote command in final version ignored}} 8.113 + 8.114 + \newcommand{\edatnote}[1]{\@latex@warning 8.115 + {Leftover edatnote command in final version ignored}} 8.116 + 8.117 + \newsavebox{\@discard} 8.118 + \newenvironment{ednote}[1]{\@latex@warning 8.119 + {Leftover ednote environment in final version ignored}% 8.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 8.121 + 8.122 + \newcommand{\HERE}{\@latex@warning 8.123 + {Leftover HERE command in final version ignored}} 8.124 + 8.125 +\fi 8.126 + 8.127 +% set up the footers appropriately 8.128 +\def\@setfoot{% 8.129 + \ifwebversion 8.130 + % webversions get whatever status the author says 8.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 8.132 + \else 8.133 + % all other drafts get the standard draft footer 8.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 8.135 + \fi 8.136 + \gdef\@oddfoot{\@evenfoot}% 8.137 +} 8.138 + 8.139 +% 8.140 +% Usenix wants no page numbers for submitted papers, so that 8.141 +% they can number them themselves. Drafts should have 8.142 +% numbered pages, so they can be edited. 8.143 +% 8.144 +\if@draftcopy 8.145 + % Compute a date and time for the draft for use 8.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 8.147 + % 8.148 + % Time code adapted from custom-bib/makebst.tex 8.149 + % Copyright 1993-1999 Patrick W Daly 8.150 + % Max-Planck-Institut f\"ur Aeronomie 8.151 + % E-mail: daly@linmp.mpg.de 8.152 + \newcount\hour 8.153 + \hour=\time 8.154 + \divide\hour by 60 8.155 + \newcount\minute 8.156 + \minute=\hour 8.157 + \multiply\minute by 60 8.158 + \advance\minute by -\time 8.159 + \multiply\minute by -1 8.160 + \newcommand{\@draftdate} 8.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 8.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 8.163 + \pagestyle{plain} 8.164 + \@setfoot 8.165 +\else 8.166 + \pagestyle{empty} 8.167 +\fi 8.168 + 8.169 +% Times-Roman font is nice if you can get it (requires NFSS, 8.170 +% which is in latex2e). 8.171 +\usepackage{times} 8.172 + 8.173 +% endnote support, as described at 8.174 +% http://www.lyx.org/help/footnotes.php 8.175 +\ifhasendnotes 8.176 + \typeout 8.177 + {Warning: endnotes support is deprecated (see documentation for details)} 8.178 + \let\footnote=\endnote 8.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 8.180 + \parindent=0pt\parskip=\baselineskip 8.181 + \@theenmark. } 8.182 + \newcommand{\makeendnotes}{ 8.183 + \begingroup 8.184 + \def\enotesize{\normalsize} 8.185 + \theendnotes 8.186 + \endgroup 8.187 + } 8.188 +\else 8.189 + \long\gdef\footnote{\@latex@error 8.190 + {Deprecated footnote command (see documentation for details)}} 8.191 + \long\gdef\endnote{\@latex@error 8.192 + {Deprecated endnote command (see documentation for details)}} 8.193 +\fi 8.194 + 8.195 +% 8.196 +% Usenix margins 8.197 +% Gives active areas of 6.45" x 9.0" 8.198 +% 8.199 +\setlength{\textheight}{9.0in} 8.200 +\setlength{\columnsep}{0.25in} 8.201 +\setlength{\textwidth}{6.45in} 8.202 +%\setlength{\footskip}{0.0in} 8.203 +%\setlength{\footheight}{0.0in} 8.204 +\setlength{\topmargin}{0.0in} 8.205 +\setlength{\headheight}{0.0in} 8.206 +\setlength{\headsep}{0.0in} 8.207 +\setlength{\evensidemargin}{0.0in} 8.208 +\setlength{\oddsidemargin}{0.0in} 8.209 +\setlength{\marginparsep}{1.5em} 8.210 +\setlength{\marginparwidth}{0.35in} 8.211 + 8.212 +% The standard maketitle insists on 8.213 +% messing with the style of the first page. 8.214 +% Thus, we will wrap maketitle with code to put 8.215 +% things right again. 8.216 +\let \save@maketitle=\maketitle 8.217 +\def\maketitle{ 8.218 + \save@maketitle 8.219 + \if@draftcopy 8.220 + \@specialpagefalse 8.221 + \else 8.222 + \thispagestyle{empty} 8.223 + \fi 8.224 +} 8.225 + 8.226 +% 8.227 +% Usenix titles are in 14-point bold type, with no date, and with no 8.228 +% change in the empty page headers. The author section is 8.229 +% 12 point roman and italic: see below. 8.230 +% 8.231 +\def\@maketitle{% 8.232 + \newpage 8.233 + \null 8.234 + \vskip 3ex% 8.235 + \begin{center}% 8.236 + \let \footnote \thanks 8.237 + {\Large \bf \@title \par}% % use 14 pt bold 8.238 + \vskip 2ex% 8.239 + {\large 8.240 + \lineskip .5ex% 8.241 + \begin{tabular}[t]{c}% 8.242 + \@author 8.243 + \end{tabular}\par}% 8.244 + \ifworkingdraft 8.245 + \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex 8.246 + \fi 8.247 + \ifwebversion 8.248 + \vskip 3ex \textbf{\@docstatus} \vskip 3ex 8.249 + \fi 8.250 + \end{center}% 8.251 + \par 8.252 + \vskip 2ex} 8.253 + 8.254 +% 8.255 +% The author section 8.256 +% should have names in Roman, address in 8.257 +% italic, e-mail/http in typewriter. 8.258 +% This is enforced by use of these macros 8.259 +% 8.260 +\def\authname#1{{#1}\\} 8.261 +\def\authaddr#1{\itshape{#1}\\} 8.262 +\def\authurl#1{{\normalsize #1}\\} 8.263 + 8.264 +% 8.265 +% The abstract is preceded by a 12-pt bold centered heading 8.266 +% 8.267 +\def\abstract{\begin{center}% 8.268 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 8.269 + \end{center}} 8.270 +\def\endabstract{} 8.271 + 8.272 +% 8.273 +% Main section titles are 12-pt bold. Lower divisions can 8.274 +% be same size or smaller: we choose same. 8.275 +% Main section leading is tight. Subsection leading is even 8.276 +% slightly tighter. All lower divisions are formatted like subsections. 8.277 +% 8.278 +\newcommand\@sectionfont{\reset@font\large\bf} 8.279 +\newlength\@sectionaboveskip 8.280 +\setlength\@sectionaboveskip{-0.7\baselineskip 8.281 + plus -0.1\baselineskip 8.282 + minus -0.1\baselineskip} 8.283 +\newlength\@sectionbelowskip 8.284 +\setlength\@sectionbelowskip{0.3\baselineskip 8.285 + plus 0.1\baselineskip} 8.286 +\newlength\@subsectionaboveskip 8.287 +\setlength\@subsectionaboveskip{-0.5\baselineskip 8.288 + plus -0.1\baselineskip} 8.289 +\renewcommand\section{\@startsection {section}{1}{\z@}% 8.290 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 8.291 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 8.292 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 8.293 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 8.294 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 8.295 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 8.296 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 8.297 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 8.298 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 8.299 + {-1.0em}% 8.300 + {\normalfont\normalsize\bfseries}} 8.301 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 8.302 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 8.303 + {-1.0em}% 8.304 + {\normalfont\normalsize\bfseries}} 8.305 + 8.306 +% List items need to be tightened up. 8.307 +% There must be a better way than copying 8.308 +% the definitions to modify the list environment... 8.309 +\def\@itemspacings{\listparindent=\parindent 8.310 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 8.311 +% now make envs use itemspacings 8.312 +\def\itemize{% 8.313 + \ifnum \@itemdepth >\thr@@\@toodeep\else 8.314 + \advance\@itemdepth\@ne 8.315 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 8.316 + \expandafter 8.317 + \list 8.318 + \csname\@itemitem\endcsname 8.319 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 8.320 + \fi} 8.321 +\def\enumerate{% 8.322 + \ifnum \@enumdepth >\thr@@\@toodeep\else 8.323 + \advance\@enumdepth\@ne 8.324 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 8.325 + \expandafter 8.326 + \list 8.327 + \csname label\@enumctr\endcsname 8.328 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 8.329 + \fi} 8.330 +\def\description{% 8.331 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 8.332 + \@itemspacings\let\makelabel\descriptionlabel}} 8.333 + 8.334 +% Bibliography items need to be tightened up. 8.335 +% Again, there must be a better way than copying 8.336 +% the definitions to modify the list environment... 8.337 +\def\thebibliography#1% 8.338 + {\section*{\refname}% 8.339 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 8.340 + \list{\@biblabel{\@arabic\c@enumiv}}% 8.341 + {\settowidth\labelwidth{\@biblabel{#1}}% 8.342 + \leftmargin\labelwidth 8.343 + \advance\leftmargin\labelsep 8.344 + \@openbib@code 8.345 + \usecounter{enumiv}% 8.346 + \let\p@enumiv\@empty 8.347 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 8.348 + \parsep=0pt}% pack entries 8.349 + \sloppy 8.350 + \hbadness=8000% mostly don't whine about bibliography fmt 8.351 + \clubpenalty=4000% 8.352 + \@clubpenalty=\clubpenalty 8.353 + \widowpenalty=4000% 8.354 + \sfcode`\.\@m} 8.355 + 8.356 +% Floating bodies need to be tightened up. 8.357 +\setlength\textfloatsep{14pt plus 2pt} 8.358 +\setlength\dbltextfloatsep{\textfloatsep} 8.359 +\setlength\intextsep{0.8\textfloatsep} 8.360 +\setlength\abovecaptionskip{8pt minus 2pt}
