diff options
10 files changed, 7336 insertions, 61 deletions
diff --git a/Master/texmf-dist/bibtex/bib/computational-complexity/journals.bib b/Master/texmf-dist/bibtex/bib/computational-complexity/journals.bib index b844299ea1a..c3ac5fddcdc 100644 --- a/Master/texmf-dist/bibtex/bib/computational-complexity/journals.bib +++ b/Master/texmf-dist/bibtex/bib/computational-complexity/journals.bib @@ -10,6 +10,8 @@ F{\"{u}}r "urltext"-Felder hier ein paar Strings: @String{PDF = "PDF"} +@String{WEBPAGE = "Webpage"} + @String{UPBONLY = " (accessible only from uni-paderborn)"} @String{LOCALONLY = "Available only locally"} @@ -17,6 +19,8 @@ F{\"{u}}r "urltext"-Felder hier ein paar Strings: @String{OLDLITFILE = "file:/ag/aggathen/ag/litfiles/"} @String{LITFILE = "file:litfiles/"} + + @String{PUBFILE = "http://www-math.upb.de/~aggathen/Publications/"} @String{LINKSERVICE = "http://link.springer.de/link/service/"} @@ -26,6 +30,7 @@ F{\"{u}}r "urltext"-Felder hier ein paar Strings: @String{GDZURL = "http://www-gdz.sub.uni-goettingen.de/"} @String{DOI = "http://dx.doi.org/"} +@String{ARXIV = "http://arxiv.org/abs/"} @String{LNCSBIB = "http://link.springer.de/link/service/series/0558/bibs/"} @@ -39,11 +44,16 @@ F{\"{u}}r "urltext"-Felder hier ein paar Strings: Und jetzt Strings f{\"{u}}r Zeitschriften udgl. =========================================================================== +=========================================================================== + Verschiedenes... +=========================================================================== @string{ECCC = "Electronic Colloquium on Computational Complexity"} @string{FIPS = "Federal Information Processings Standards"} @string{NIST = "National Institute of Standards and Technology"} - - +@String{TCG = "The Cryptogram. The Aristocrat of Puzzles"} +=========================================================================== + Reihen (Series) +=========================================================================== @string{BSL = "The Bulletin of Symbolic Logic"} @string{CTM = "Contemporary Mathematics"} @string{CTC = "Contemporary Cryptology, The Science of Information Integrity"} @@ -63,6 +73,9 @@ Und jetzt Strings f{\"{u}}r Zeitschriften udgl. @string{UTM = "Undergraduate Texts in Mathematics"} +=========================================================================== + Proceedingstitel +=========================================================================== @string{AAECC3 = "Algebraic Algorithms and Error-Correcting Codes: AAECC-3"} @string{AAECC5 = "Applied Algebra, Algebraic Algorithms and Error-Correcting Codes: AAECC-5, {\rm Menorca, Spain}"} @string{AAECC6 = "Algebraic Algorithms and Error-Correcting Codes: AAECC-6, {\rm Rome, Italy, 1988}"} @@ -92,7 +105,7 @@ Und jetzt Strings f{\"{u}}r Zeitschriften udgl. @string{CHES99 = "Cryptographic Hardware and Embedded Systems, First International Workshop, CHES'99, {\rm Worcester,~MA}"} @string{CHES00 = "Cryptographic Hardware and Embedded Systems, Workshop, CHES'00, {\rm Worcester,~MA}"} @string{CHES01 = "Cryptographic Hardware and Embedded Systems, Workshop, CHES'01, {\rm Paris,~France}"} -@string{CHES05 = "Cryptographic Hardware and Embedded Systems, Workshop, CHES'05, {\rm Edinburg,~Scotland}"} +@string{CHES05 = "Cryptographic Hardware and Embedded Systems, Workshop, CHES'05, {\rm Edinburgh,~Scotland}"} @string{COCOON99 = "5th Annual International Computing and Combinatorics Conference (COCOON '99), {\rm Tokyo, Japan}, July 1999"} @string{COCOON00 = "6th Annual International Computing and Combinatorics Conference (COCOON 2000), {\rm Sydney, Australia}, July 2000"} @@ -118,7 +131,7 @@ Und jetzt Strings f{\"{u}}r Zeitschriften udgl. @string{CRYPTO00 = "Advances in Cryptology: Proceedings of CRYPTO~'00, {\rm Santa Barbara~CA}"} @string{CRYPTO01 = "Advances in Cryptology: Proceedings of CRYPTO~'01, {\rm Santa Barbara~CA}"} @string{CRYPTO02 = "Advances in Cryptology: Proceedings of CRYPTO~'02, {\rm Santa Barbara~CA}"} -@String{CRYPTO03 = "Advances in Cryptology: Proceedings of CRYPTO '04: {\rm Santa Barbara, CA}"} +@String{CRYPTO03 = "Advances in Cryptology: Proceedings of CRYPTO '03: {\rm Santa Barbara, CA}"} @String{CRYPTO04 = "Advances in Cryptology: Proceedings of CRYPTO '04: {\rm Santa Barbara, CA}"} @@ -191,6 +204,11 @@ Kyongju, Korea}"} @string{FOCS00 = "Proceedings of the 41st Annual IEEE Symposium on Foundations of Computer Science, {\rm Redondo Beach~CA}"} @string{FOCS01 = "Proceedings of the 42nd Annual IEEE Symposium on Foundations of Computer Science, {\rm Las Vegas~NV}"} @string{FOCS02 = "Proceedings of the 43nd Annual IEEE Symposium on Foundations of Computer Science, {\rm Vancouver, Canada}"} +@String{FOCS04 = "Proceedings of the 45th Annual IEEE Symposium on Foundations of Computer Science, {\rm Rome, Italy}"} +@String{FOCS05 = "Proceedings of the 46nd Annual IEEE Symposium on Foundations of Computer Science, {\rm Pittsburgh~PA}"} + + + @string{CCC99 = "Proceedings of the 14th IEEE Conference on Computational Complexity, {\rm Atlanta~GA}"} @@ -256,15 +274,19 @@ Kyongju, Korea}"} @string{ISSAC92 = "Proceedings of the 1992 International Symposium on Symbolic and Algebraic Computation ISSAC~'92, {\rm Berkeley~CA}"} @string{ISSAC93 = "Proceedings of the 1993 International Symposium on Symbolic and Algebraic Computation ISSAC~'93, {\rm Kiev}"} @string{ISSAC94 = "Proceedings of the 1994 International Symposium on Symbolic and Algebraic Computation ISSAC~'94, {\rm Oxford,~UK}"} -@string{ISSAC95 = "Proceedings of the 1995 International Symposium on Symbolic and Algebraic Computation ISSAC~'95"} +@string{ISSAC95 = "Proceedings of the 1995 International Symposium on Symbolic and Algebraic Computation ISSAC~'95, {\rm Montreal, Canada}"} @string{ISSAC96 = "Proceedings of the 1996 International Symposium on Symbolic and Algebraic Computation ISSAC~'96, {\rm Z{\"u}rich, Switzerland}"} @string{ISSAC97 = "Proceedings of the 1997 International Symposium on Symbolic and Algebraic Computation ISSAC~'97, {\rm Maui~HI}"} @string{ISSAC98 = "Proceedings of the 1998 International Symposium on Symbolic and Algebraic Computation ISSAC~'98, {\rm Rostock, Germany}"} @string{ISSAC99 = "Proceedings of the 1999 International Symposium on Symbolic and Algebraic Computation ISSAC~'99, {\rm Vancouver, Canada}"} @string{ISSAC00 = "Proceedings of the 2000 International Symposium on Symbolic and Algebraic Computation ISSAC2000, {\rm St. Andrews, Scotland}"} @string{ISSAC01 = "Proceedings of the 2001 International Symposium on Symbolic and Algebraic Computation ISSAC2001, {\rm London, Canada}"} -@string{ISSAC03 = "Proceedings of the 2003 International Symposium on Symbolic and Algebraic Computation ISSAC2003, {\rm Philadelphia, USA}"} +@string{ISSAC02 = "Proceedings of the 2002 International Symposium on Symbolic and Algebraic Computation ISSAC2002, {\rm Lille, France}"} +@string{ISSAC03 = "Proceedings of the 2003 International Symposium on Symbolic and Algebraic Computation ISSAC2003, {\rm Philadelphia~PA}"} @string{ISSAC04 = "Proceedings of the 2004 International Symposium on Symbolic and Algebraic Computation ISSAC2004, {\rm Santander, Spain}"} +@String{ISSAC05 = "Proceedings of the 2005 International Symposium on Symbolic and Algebraic Computation ISSAC2005, {\rm Beijing, China}"} +@String{ISSAC06 = "Proceedings of the 2006 International Symposium on Symbolic and Algebraic Computation ISSAC2006, {\rm Genova, Italy}"} +@String{ISSAC07 = "Proceedings of the 2007 International Symposium on Symbolic and Algebraic Computation ISSAC2007, {\rm Waterloo, Ontario, Canada}"} @@ -273,6 +295,8 @@ Kyongju, Korea}"} @string{LATIN98 = "Proceedings of LATIN~'98, {\rm Campinas, Brazil}"} @string{LATIN00 = "Proceedings of LATIN~2000, {\rm Punta del Este, Uruguay}"} @string{LATIN02 = "Proceedings of LATIN~2002, {\rm Cancun, Mexico}"} +@string{LATIN04 = "Proceedings of LATIN~2004, {\rm Buenos Aires, Argentina}"} +@string{LATIN08 = "Proceedings of LATIN~2008, {\rm Rio de Janeiro, Brazil}"} @string{MACSYMA77 = "Proceedings of the 1977 MACSYMA Users Conference, {\rm Berkeley~CA}"} @@ -325,11 +349,24 @@ Kyongju, Korea}"} @string{STOC00 = "Proceedings of the Thirty-second Annual ACM Symposium on the Theory of Computing, {\rm Portland~OR}"} @string{STOC01 = "Proceedings of the Thirty-third Annual ACM Symposium on the Theory of Computing, {\rm Hersonissos, Crete, Greece}"} @string{STOC05 = "Proceedings of the Thirty-seventh Annual ACM Symposium on the Theory of Computing, {\rm Baltimore, Maryland, USA}"} +@String{STOC07 = "Proceedings of the Thirty-ninth annual ACM symposium on Theory of Computing, {\rm San Diego, California, USA}"} +@String{STOC08 = "Proceedings of the Fourtieth annual ACM symposium on Theory of Computing, {\rm Victoria, BC, Canada}"} - -@string{NY = "New York"} +@String{RTO02 = "RTO HFM Symposium on ``The Role of Humans in Intelligent and Automated Systems'', {\rm Warsaw, Poland}"} + +@String{RJ = "The Rutherford Journal"} %ISSN = "1177-1380", + + +=========================================================================== + H{\"{a}}ufig vorkommende Orte ;) +=========================================================================== +@string{NY = "New York"} + +=========================================================================== + Verlage +=========================================================================== @string{AMCT = "Mathematisch Centrum, Amsterdam"} @String{AGJSC = "Arab Gulf Journal of Scientific Research"} @string{AMS = "American Mathematical Society"} @@ -360,8 +397,9 @@ Kyongju, Korea}"} @string{JRC = "Johnson Reprint Co"} @string{JUS = "Julius Springer"} % Verlag von JS @string{KAP = "Kluwer Academic Publishers"} -@string{KGW = "{K\"onigliche} Gesellschaft der Wissenschaften"} -@string{KGWG = "{K\"onigliche} Gesellschaft der Wissenschaften zu {G\"ottingen}"} +@string{KGW = "K{\"{o}}nigliche Gesellschaft der Wissenschaften"} +@string{KGWG = KGW # " zu G{\"{o}}ttingen"} +@String{KOELLEN = "K{\"{o}}llen Druck+Verlag"}% address="Bonn", @string{MD = "Marcel Dekker, Inc."} @string{MH = "McGraw-Hill"} @string{MIT = "MIT Press"} @@ -384,6 +422,10 @@ Kyongju, Korea}"} @string{WS = "John Wiley \& Sons"} +=========================================================================== + Journals (+ISSN als Kommentar) +=========================================================================== +@string{ABR = "The American Benedictine Review"} @string{AA = "Acta Arithmetica"} @string{AAECC = "Applicable Algebra in Engineering, Communication and Computing"} @string{AAM = "Advances in Applied Mathematics"} @@ -463,6 +505,7 @@ Kyongju, Korea}"} @string{CASP = "Commentarii academiae scientiarum imperalis Petropolitanae"} @string{CASPP = "Commentarii Academiae Scientiarum Petropolitanae"} @string{CC = "computational complexity"} +@String{CE = "Centaurus. International Magazine of the History of Mathematics, Science, and Technology"} @String{CG = "Computers \&{} Graphics"} @string{CHJM = "Chinese Journal of Mathematics"} @string{CJ = "The Computer Journal"} @@ -484,7 +527,7 @@ Kyongju, Korea}"} @string{CRASP = "Comptes Rendus de l'Acad{\'{e}}mie des Sciences Paris"} @string{CRASPI = "Comptes Rendus de l'Acad{\'{e}}mie des Sciences Paris, s{\'{e}}rie I"} @string{DAM = "Discrete Applied Mathematics"} -@string{DAN = "{\cyr Doklady Akademi\u\i\ Nauk SSSR}"} +@string{DAN = "{\cyr Do\-kla\-dy Aka\-de\-mii Nauk SSSR}"} @string{DANengl = "Doklady Akademii Nauk SSSR English translation: Soviet Mathematics, Doklady"} @string{DCC = "Designs, Codes and Cryptography"} @@ -525,10 +568,15 @@ Computer Science"} @string{IEEP = "IEE Proceedings---Computers and Digital Techniques"} @string{IJCM = "International Journal of Computer Mathematics"} @string{IJMMS = "International Journal of Mathematics and Mathematical Sciences"} +@String{IJQC = "International Journal of Quantum Chemistry"} +@String{IJNS = "International Journal of Network Security"} @string{IMRN = "International Mathematics Research Notices"} @string{IJM = "Illinois Journal of Mathematics"} @string{INVM = "Inventiones mathematicae"} @string{IM = "Indagationes Mathematicae"} +@String{IJHS = "Indian Journal of History of Science"} +@String{IS = "Informatik-Spektrum"} %ISSN: 0170-6012 (gedruckte Version), + %ISSN: 1432-122X (elektronische Version) @string{IPL = "Information Processing Letters"} @string{IAN = "{\cyr Izvestiya Akademi\u\i\ Nauk SSSR, Seriya Matematicheskaya}"} @string{IANE = "{\cyr Izvestiya Akademi\u\i\ Nauk SSSR, Seriya Matematicheskaya} (Izvestiya Akademi\u\i\ Nauk SSSR, Mathematical Series)"} @@ -612,6 +660,7 @@ Computer Science"} @string{MW = "Milit{\"{a}}r--Wochenblatt"} @string{MZ = "Mathematische Zeitschrift"}% ISSN = "0025-5874", @string{NA = "Neues Archiv der Gesellschaft f{\"u}r {\"a}ltere deutsche Geschichtskunde"} + @string{NAM = "Nouvelles Annales de Mathematiques"} @string{NAMS = "Notices of the American Mathematical Society"} @string{NAR = "The North American Review"} @@ -630,13 +679,14 @@ Computer Science"} @string{NM = "Numerische Mathematik"} @string{NMT = "Nordisk Matemarisk Tidskrift"} @string{NQ = "Notes and Queries"} -@string{NZMM = "New Zealand Math. Mag."} % kommt nicht in der refs.bib vor !!! +@string{NZMM = "New Zealand Math. Mag."} % kommt nicht in der refs.bib vor !!! +@String{OINN = "The Oriental Institute News and Notes"} @string{PAMS = "Proceedings of the American Mathematical Society"} @string{PAAS = "Proceedings of the American Antiquarian Society"} @string{PC = "Parallel Computing"}% ISSN = "0167-8191", @string{PCPS = "Proceedings of the Cambridge Philosophical Society"} @string{PAPS = "Proceedings of the American Philosophical Society"} -@string{PCSAL = "Progress in Computer Science and Applied Logic"}% ISSN = "0743-1597", +@string{PCS = "Progress in Computer Science and Applied Logic"}% ISSN = "0743-1597", @string{PDM = "Publications du D{\'e}partement de Math{\'e}matiques. Facult{\'e} des Sciences de Lyon"} @string{PEMS = "Proceedings of the Edinburgh Mathematical Society"} @@ -679,6 +729,7 @@ Computer Science"} @string{RES = "The Review of English Studies"} @string{RH = "Revue Hebdomadaire"} @string{RIC = "Revue Internationale de Criminalistique"} +@String{RIHM = "Revue Internationale d'Histoire Militaire"} @string{RM = "Rivista Marittima"} @string{RMC = "Revue Maritime et Coloniale"} @string{RMS = "Russian Mathematical Surveys"} @@ -686,6 +737,7 @@ Computer Science"} @string{RQH = "Revue des questions historiques"} @string{RS = "Revue Scientifique, Paris"} @String{RVB = "Rheinische Vierteljahresbl{\"{a}}tter"} +@String{RMP = "Review of Modern Physics"} @string{SA = "Scientific American"} @string{SAS = "Scientific American Supplement"} @string{SAM = "Studies in Applied Mathematics"} @@ -703,23 +755,23 @@ Computer Science"} @string{SIAMR = "SIAM Review"} @string{SIGACT = "SIGACT News"} @string{SM = "Scripta Mathematica"} +@String{MAMA = "Manuscripta Mathematica"} @string{SMD = "Soviet Mathematics, Doklady"} @string{SOE = "Sphinx-Oedipe"} @string{SPD = "Soviet Physics - Doklady"} +@String{SMGBO = "Studien und Mitteilungen zur Geschichte des Benediktiner-Ordens"} @string{STT = "Suomalaisen Tiedeakatemian Toimituksia"} @string{SW = "Spektrum der Wissenschaft"} @string{TAMS = "Transactions of the American Mathematical Society"} @string{TSBA="Transactions of the Society of Biblical Arch{\ae}ology"} @string{TCS = "Theoretical Computer Science"}% ISSN = "0304-3975", @string{TJM = "Tokyo Journal of Mathematics"} +@String{JIH = "The Journal of Intelligence History"} @string{TLS = "The Times Literary Supplement"} @string{TOPLAS = "ACM Transactions on Programming Languages and Systems"} @string{UMN = "{\cyr Uspekhi Matematicheskikh Nauk}"} -@string{UMNengl = "{\cyr Uspekhi Matematicheski Nauk} (Uspekhi Matematicheski Nauk)"} -English translation: Russian Mathematical Surveys -@string{VKCSN = "V{\v e}stn{\'i}k Kr{\'a}lovsk{\'e} {\v C}esk{\'e} - Spole{\v c}nosti Nauk, T{\v r}{\'i}da - Matematiko-P{\v r}irodov{\v e}deck{\' a}"} +@string{UMNengl = "{\cyr Uspekhi Matematicheski Nauk} (Uspekhi Matematicheski Nauk)"}% English translation: Russian Mathematical Surveys +@string{VKCSN = "V{\v e}stn{\'i}k Kr{\'a}lovsk{\'e} {\v C}esk{\'e} Spole{\v c}nosti Nauk, T{\v r}{\'i}da Matematiko-P{\v r}irodov{\v e}deck{\' a}"} @string{WW = "The World's Work"} @string{ZDA = "Zeitschrift f{\"u}r deutsches Altertum und deutsche Litteratur"} @string{ZMP = "Zeitschrift fuer Mathematik und Physik"} @@ -727,8 +779,12 @@ English translation: Russian Mathematical Surveys @string{RANMZ = "Rossi{\u{\i}}skaya Akademiya Nauk. Matematicheskie Zametki"} @string{RANMZCYR = "{\cyr Rossi{\u{\i}}skaya Akademiya Nauk. Matematicheskie Zametki}"} @string{ZVMIMF = "Zhurnal v{\={y}}chislitel'noi Matematiki i matematicheskoi Fiziki"} -@string{ZVMIMFCYR = "{\cyr Zhurnal vychislitel\cprime no\u\i\ Matematiki i matematichesko\u\i\ Fiziki}"} +@string{ZVMIMFCYR = "{\cyr Zhur\-nal vy\-chis\-li\-tel\cprime\-no\u\i\ Ma\-te\-ma\-ti\-ki i ma\-te\-ma\-ti\-ches\-ko\u\i\ Fi\-zi\-ki}"} +@String{XVII = "XVII\textsuperscript{e} Si{\`{e}}cle"} +=========================================================================== + Unsortiertes +=========================================================================== @string{JASIA = "Journal Asiatique"} @string{NORSKE = "Det Kongelige Norske Videnskabers Selskab Forhandlinger"} @string{VSFC = "Videnskabers Selskab Forhandlinger Christiana"} @@ -738,4 +794,5 @@ English translation: Russian Mathematical Surveys @string{ZEIE = "Zeitschrift f{\"u}r elektrische Informations- und Energietechnik, Leipzig"} @String{DMTCS = "Discrete Mathematics and Theoretical Computer Science"} -@String{ANACM = "Applied Numerical Analysis and Computational Mathematics"}
\ No newline at end of file +@String{ANACM = "Applied Numerical Analysis and Computational Mathematics"} + diff --git a/Master/texmf-dist/doc/latex/computational-complexity/cc-cls-inline.tex b/Master/texmf-dist/doc/latex/computational-complexity/cc-cls-inline.tex new file mode 100644 index 00000000000..da2207e666a --- /dev/null +++ b/Master/texmf-dist/doc/latex/computational-complexity/cc-cls-inline.tex @@ -0,0 +1,7173 @@ +\begin{filecontents*}{cc.cls} +%% +%% This is file `cc.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `cccls,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\providecommand\ignorespacesafterend{\@ignoretrue} +\newif\ifclass +\ifx\@currext\@clsextension\classtrue\else\classfalse\fi +\ifclass\expandafter\ProvidesClass\else\expandafter\ProvidesPackage\fi +{\ifclass cc\else cc-cls\fi} +[% CC MAIN DATE AND VERSION ON NEXT LINE +2008/03/18 v2.08a +computational complexity +\ifclass document class\else package\fi] +\RequirePackage{ccaux} +\DeclareOption{localnumbering}{\@longarticletrue} +\DeclareOption{globalnumbering}{\@longarticlefalse} +\DeclareOption{longarticle}{\@longarticletrue} +\DeclareOption{shortarticle}{\@longarticlefalse} +\DeclareOption{cclayout}{\@cclayouttrue} +\DeclareOption{nocclayout}{\@cclayoutfalse} +\DeclareOption{prefixes}{% + \PassOptionsToPackage{\CurrentOption}{relabel}} +\DeclareOption{noprefixes}{% + \ExecuteOptions{notheoremitemprefixes}% + \PassOptionsToPackage{\CurrentOption,nobare}{relabel}} +\DeclareOption{bare}{\PassOptionsToPackage{\CurrentOption}{relabel}} +\DeclareOption{nobare}{\PassOptionsToPackage{\CurrentOption}{relabel}} +\DeclareOption{multilingual}{\ExecuteOptions{T1,latin1,babel}} +\DeclareOption{nomultilingual}{\ExecuteOptions{OT1,nolatin1,nobabel}} +\DeclareOption{T1}{\@Tonetrue} +\DeclareOption{OT1}{\@Tonefalse} +\DeclareOption{latin1}{\@latintrue} +\DeclareOption{nolatin1}{\@latinfalse} +\DeclareOption{babel}{\@babeltrue} +\DeclareOption{nobabel}{\@babelfalse} +\DeclareOption{ams}{\@amstrue} +\DeclareOption{noams}{\@amsfalse} +\DeclareOption{autotitle}{\@autotitletrue} +\DeclareOption{noautotitle}{\@autotitlefalse} +\DeclareOption{ccsectioning}{\@ccsectioningtrue} +\DeclareOption{noccsectioning}{\@ccsectioningfalse} +\DeclareOption{natbib}{\@natbibtrue\@cccitefalse} +\DeclareOption{nonatbib}{\@natbibfalse\@cccitefalse} +\DeclareOption{cccite}{\@natbibfalse\@cccitetrue} +\DeclareOption{nocccite}{\@natbibfalse\@cccitefalse} +\DeclareOption{manualbibliography}{\@manualbibliographytrue} +\DeclareOption{twocolumnbibliography}{\@twocolumnbibliographytrue} +\DeclareOption{onecolumnbibliography}{\@twocolumnbibliographyfalse} +\DeclareOption{nosort}{% + \def\@natbibsort{}} +\DeclareOption{sort}{% + \def\@natbibsort{\PassOptionsToPackage{sort}{natbib}}} +\DeclareOption{sort&compress}{% + \def\@natbibsort{\PassOptionsToPackage{sort&compress}{natbib}}} +\DeclareOption{cctheorems}{\@cctheoremstrue\@standardtheoremstrue} +\DeclareOption{cctheorems+separatelycounted}{% + \@cctheoremstrue\@standardtheoremsfalse} +\DeclareOption{nocctheorems}{\@cctheoremsfalse} +\DeclareOption{separateequationcounting}{\@ccnosepeqncntfalse} +\DeclareOption{noseparateequationcounting}{\@ccnosepeqncnttrue} +\DeclareOption{ccalgorithms}{\@ccalgotrue} +\DeclareOption{noccalgorithms}{\@ccalgofalse} +\DeclareOption{theoremitemprefixes}{% + \PassOptionsToPackage{\CurrentOption}{ccthm}} +\DeclareOption{notheoremitemprefixes}{% + \PassOptionsToPackage{\CurrentOption}{ccthm}} +\DeclareOption{enhancedprefixes}{% old + \PassOptionsToPackage{theoremitemprefixes}{ccthm}} +\DeclareOption{standardprefixes}{% old + \PassOptionsToPackage{notheoremitemprefixes}{ccthm}} +\DeclareOption{ccpublish}{\@ccpublishtrue} +\DeclareOption{noccpublish}{\@ccpublishfalse} +\DeclareOption{cctextarea}{\@cctextareatrue} +\DeclareOption{nocctextarea}{\@cctextareafalse} +\DeclareOption{noothermargins}{\@marginmode\m@ne} +\DeclareOption{classicalmargins}{\@marginmode\z@} +\DeclareOption{printmargins}{\@marginmode\@ne} +\DeclareOption{balancedmargins}{\@marginmode\tw@} +\DeclareOption{10pt}{\def\@ccptsize{10}} +\DeclareOption{11pt}{\def\@ccptsize{11}} +\DeclareOption{12pt}{\def\@ccptsize{12}} +\DeclareOption{a4paper}{\@cctextareafalse% + \PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{a5paper}{\@cctextareafalse% + \PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{b5paper}{\@cctextareafalse% + \PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{letterpaper}{\@cctextareafalse% + \PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{legalpaper}{\@cctextareafalse% + \PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{executivepaper}{\@cctextareafalse% + \PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{landscape}{\@cctextareafalse% + \PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{oneside}{\@twosidefalse} +\DeclareOption{twoside}{\@twosidetrue} +\DeclareOption{leqno}{% + \PassOptionsToClass{\CurrentOption}{article}% + \PassOptionsToPackage{\CurrentOption}{amsmath}% + } +\DeclareOption{reqno}{% + \PassOptionsToClass{\CurrentOption}{article}% + \PassOptionsToPackage{\CurrentOption}{amsmath}% + } +\DeclareOption*{\OptionNotUsed + \PassOptionsToClass{\CurrentOption}{article}} +\ifclass +\ExecuteOptions{a4paper,12pt,cctextarea,balancedmargins,twoside,% + OT1,nolatin1,nobabel,% + localnumbering,bare,% + leqno,ams,ccpublish,cclayout,autotitle,ccsectioning,% + onecolumnbibliography,natbib,sort&compress,% + cctheorems,theoremitemprefixes,noseparateequationcounting,% + ccalgorithms} +\else +\ExecuteOptions{a4paper,12pt,nocctextarea,balancedmargins,twoside,% + OT1,nolatin1,nobabel,% + localnumbering,bare,% + leqno,ams,noccpublish,nocclayout,noautotitle,ccsectioning,% + onecolumnbibliography,natbib,sort&compress,% + cctheorems,theoremitemprefixes,noseparateequationcounting,% + ccalgorithms} +\fi +\ProcessOptions\relax +\PassOptionsToClass{\@ccptsize pt}{article} +\if@twoside +\PassOptionsToClass{twoside}{article} +\else +\PassOptionsToClass{oneside}{article} +\fi +\let\@ccptsize\@undefined +\@natbibsort +\let\@natbibsort\@undefined +\if@standardtheorems\else + \ClassWarning{cc}{You are using the non documented + feature\MessageBreak + cctheorems+separatelycounted.\MessageBreak + It is recommended not to use this.} +\fi +\newcommand{\cc}{\textsf{computational complexity}} +\ifclass +\LoadClass{article}[1999/01/07 v1.4a] +\fi +\if@Tone +\RequirePackage[T1]{fontenc} +\fi +%%german.sty is not allowed. Use global options: +%%multilingual,german. +\@pass@ptions\@pkgextension{}{german} +\global\expandafter\let\csname ver@german.\@pkgextension\endcsname\@empty +\if@babel +\RequirePackage{babel} +\fi +\if@latin +\RequirePackage[latin1]{inputenc}[1998/03/05 v0.97] +\fi +\if@ams +\RequirePackage{amsmath}[2000/01/15 v2.05]% 1997/03/20 v1.2d +\RequirePackage{amsfonts}[1997/09/17 v2.2e] +\RequirePackage{amssymb}[1996/11/03 v2.2b] +\else +\newcommand{\numberwithin}[3][\arabic]{% + \@ifundefined{c@#2}{\@nocounterr{#2}}{% + \@ifundefined{c@#3}{\@nocnterr{#3}}{% + \@addtoreset{#2}{#3}% + \expandafter\xdef\csname the#2\endcsname{% + \expandafter\noexpand\csname the#3\endcsname% + .\noexpand#1{#2}}}}% +} +%% \def\numberwithin#1#2{\@ifundefined{c@#1}{\@nocounterr{#1}}{% +%% \@ifundefined{c@#2}{\@nocnterr{#2}}{% +%% \@addtoreset{#1}{#2}% +%% \toks@\expandafter\expandafter\expandafter{\csname the#1\endcsname}% +%% \expandafter\xdef\csname the#1\endcsname +%% {\expandafter\noexpand\csname the#2\endcsname +%% .\the\toks@}}}} +\let\@ifempty\cc@ifempty +\let\@ifnotempty\cc@ifnotempty +\let\bigstar\bullet +\let\lozenge\circ +\def\square{{\fboxsep.3em{\vbox{\hbox{\fbox{}}\vskip0pt}}}} +\let\text\mbox% This is a poor man's version! +\fi +\RequirePackage{url}[1999/03/02 ver 1.4] +\expandafter\def\expandafter\UrlSpecials\expandafter{% + \UrlSpecials\do\%{}} +\providecommand{\email}{\begingroup\urlstyle{tt}\Url} +\providecommand{\homepage}{\begingroup\scriptsize\urlstyle{tt}\Url} +\providecommand{\ixpt}{\@setfontsize\ixpt\@ixpt{11}} +\newcommand{\xptsfbx}{% + \@setfontsize\xpt\@xpt{12}\usefont{OT1}{cmss}{bx}{n}} +\DeclareTextFontCommand{\textsfbx}{\usefont{OT1}{cmss}{bx}{n}} +\if@cclayout +\RequirePackage{cclayout} +\else +\newskip\headerindent \headerindent=10mm +\newdimen\headrulewidth \headrulewidth.4pt +\def\cctitlehead{} +\def\ccauthorhead{} +\def\ps@cc{\let\@mkboth\markboth + \def\@oddhead{\vbox{\hbox to\textwidth{\reset@font\strut + \null + \hfil + {\small\cctitlehead}% + \hbox to\headerindent{\hfil\thepage}% + }% + \if@ccpublish\else + \kern2.6\p@ + \hrule\@height\headrulewidth\kern-\headrulewidth + \kern-2.6\p@ + \fi + \vskip\z@ + }% + }% + \def\@oddfoot{} + \def\@evenhead{\vbox{\hbox to\textwidth{\reset@font\strut + \hbox to\headerindent{\thepage\hfil}% + {\small\ccauthorhead}% + \hfil + \null + }% + \if@ccpublish\else + \kern2.6\p@ + \hrule\@height\headrulewidth\kern-\headrulewidth + \kern-2.6\p@ + \fi + \vskip\z@ + }% + }% + \let\@evenfoot\@oddfoot + } +\fi%@cclayout +\if@ccsectioning +\def\@seccntformat#1{\csname the#1\endcsname.\enskip} +\renewcommand{\section}{\@startsection{section}{1}{\z@}% + {-2.9ex\@plus-.5ex\@minus-.2ex}% + {1.5ex\@plus.5ex\@minus.2ex}% + {\normalfont\large\bfseries\centering}} +\def\opt@fullstop#1{#1{\has@fullstop#1.\@@@ +\if@tempswa\else +\has@exlamationmark#1!\@@@ +\if@tempswa\else +\has@questionmark#1?\@@@ +\if@tempswa\else +.\fi +\fi +\fi}} +\def\has@fullstop#1.#2\@@@{\@ifempty{#2}{\@tempswafalse}{\@tempswatrue}} +\def\has@exlamationmark#1!#2\@@@{\@ifempty{#2}{\@tempswafalse}{\@tempswatrue}} +\def\has@questionmark#1?#2\@@@{\@ifempty{#2}{\@tempswafalse}{\@tempswatrue}} +\def\dot@sect#1#2#3#4#5#6[#7]#8{% + \let\@sect\ccorg@sect\let\@ssect\ccorg@ssect + \@sect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{\opt@fullstop{#8}}} +\def\dot@ssect#1#2#3#4#5{% + \let\@sect\ccorg@sect\let\@ssect\ccorg@ssect + \@ssect{#1}{#2}{#3}{#4}{\opt@fullstop{#5}}} +\def\add@dot{% + \let\ccorg@sect\@sect\let\ccorg@ssect\@ssect + \let\@sect\dot@sect\let\@ssect\dot@ssect} +\renewcommand{\subsection}{% + \add@dot + \@startsection{subsection}{2}{\z@}% + {2.33ex\@plus.5ex\@minus.2ex}% was 12pt +- + {-1em}% + {\normalfont\normalsize\bfseries}} +\renewcommand{\subsubsection}{% + \add@dot + \@startsection{subsubsection}{3}{\z@}% + {1.55ex\@plus.5ex\@minus.2ex}% was 8pt +- + {-1em}% + {\normalfont\normalsize\bfseries}} +\fi%@ccsectioning +\if@natbib +\RequirePackage{cc2cite} +\if@manualbibliography +\bibstyle@plain%\bibpunct{[}{]}{;}{n}{}{,} +\fi +\else%@natbib +\if@cccite +\RequirePackage{cccite} +\renewcommand{\thebibliography}[1]{% + \condbreak{8ex}% + \section*{\refname + \addcontentsline{toc}{section}{\refname}% + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% + \vskip-\lastskip + \list{[\@arabic\c@enumiv] }% + {% + \labelwidth\z@ + \labelsep\z@ + \leftmargin\z@ + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}% + }% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000 + \sfcode`\.\@m + \bibfont} +\let\bibfont\small +\CheckCommand*\@bibitem[1]{\item\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces} +\def\@bibitem#1{\item\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{[\the\value{\@listctr}]}}\fi\ignorespaces} +\else + \relax +\fi%@cccite +\fi%@natbib +\if@twocolumnbibliography +\RequirePackage{multicol} +\newenvironment{nthebibliography}{% + \footnotesize + \let\bibfont\footnotesize + \let\section\subsubsection + \begin{multicols}2 + \othebibliography} + {% + \vfill\vfill\vfill\vfill + \endothebibliography + \end{multicols}} +\AtBeginDocument{% + \let\othebibliography\thebibliography + \let\endothebibliography\endthebibliography + \let\thebibliography\nthebibliography + \let\endthebibliography\endnthebibliography} +\fi +\RequirePackage{relabel}[1998/09/07 v1.01] +\let\nref\ref +\babel\def\partname{Part}[german=Teil,french=\protect\@Fpt partie] +\defprefix{part}{\partname~} +\babel\def\chaptername{Chapter}[german=Kapitel,french=Chapitre] +\defprefix{chapter}{\chaptername~} +\babel\def\sectionname{Section}[german=Abschnitt,french=Section] +\defprefix{section}{\sectionname~} +\babel\def\subsectionname{Section}[german=Abschnitt,french=Section] +\defprefix{subsection}{\subsectionname~} +\babel\def\subsubsectionname{Section}[german=Abschnitt,french=Section] +\defprefix{subsubsection}{\subsubsectionname~} +\let\ccorg@appendix\appendix +\babel\def\appendixname{Appendix}[german=Anhang,french=Annexe] +\def\appendix{% + \defprefix{section}{\appendixname~}% + \defprefix{subsection}{\appendixname~}% + \defprefix{subsubsection}{\appendixname~}% + \ccorg@appendix} +\defprefix{equation}#1{(#1)} +\babel\def\figurename{Figure}[german=Figur,french={\scshape Figure}] +\defprefix{figure}{\figurename~} +\babel\def\tablename{Table}[german=Tafel,french={\scshape Table}] +\defprefix{table}{\tablename~} +\numberallwithin{section} +\AtBeginDocument{\@adjustnumbering} +\if@cctheorems +\RequirePackage{ccthm} +\RequirePackage{ccproof} +\fi +\if@ccalgo +\RequirePackage{ccalgo} +\fi +\babel\def\ccacknowledgementsname{Acknowledgements}[% + german=Danksagung,french=Remerciements] +\newenvironment{acknowledge}{\section*{\ccacknowledgementsname}}{} +\def\labelitemi{$\circ$} +\def\footnoterule{\kern-3\p@\hrule\@width18mm\kern 2.6\p@} +\let\ccorg@include\include +\newwarning{warn@include}{Note that \protect\include\space is equivalent + to \protect\input\space.} +\renewcommand{\include}{% + \if@ccpublish + \ccClassWarning{warn@include}% + \let\next\input + \else + \let\next\ccorg@include + \fi + \next} +\endinput +%% +%% End of file `cc.cls'. +\end{filecontents*} +\begin{filecontents*}{cc-cls.sty} +%% +%% This is file `cc-cls.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `ccsty,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\input{cc.cls} +\endinput +%% +%% End of file `cc-cls.sty'. +\end{filecontents*} +\begin{filecontents*}{cc2cite.sty} +%% +%% This is file `cc2cite.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `cc2cite,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{cc2cite}[2000/02/29 v2.05 cc2 cite helper package] +\RequirePackage{natbib} +\bibpunct{(}{)}{;}{a}{}{,} +\newcommand{\bibstyle@cc}{\bibpunct{(}{)}{;}{a}{}{,}} +\expandafter\def\csname bibstyle@cc2\endcsname{% + \bibpunct{(}{)}{;}{a}{}{,}} +\let\bibfont\small +\bibhang\z@ +\providecommand{\newwarning}[2]{% + \expandafter\gdef\csname cc@warn@#1\endcsname{#2}} +\providecommand{\ccClassWarning}[1]{% + \ClassWarning{cc}{\csname cc@warn@#1\endcsname}} +\newwarning{old@citemul}{% + The command \protect\citemul\space is obsolete. + Use \protect\citet\space instead.\MessageBreak + Please read the documentation + of the package `natbib.sty'} +\newwarning{old@parencite}{% + The command \protect\parencite\space is obsolete. + Use \protect\citep\space instead.\MessageBreak + Please read the documentation + of the package `natbib.sty'} +\newwarning{old@shortcite}{% + The command \protect\shortcite\space is obsolete. + Use \protect\citealt\space instead.\MessageBreak + Please read the documentation + of the package `natbib.sty'} +\def\citemul{\ccClassWarning{old@citemul}\citet} +\def\parencite{\ccClassWarning{old@parencite}\citep} +\def\shortcite{\ccClassWarning{old@shortcite}\citealt} +\RequirePackage{ccdbs} +\DefaultBibliographyStyle{cc2} +\endinput +%% +%% End of file `cc2cite.sty'. +\end{filecontents*} +\begin{filecontents*}{cc4amsart.sty} +%% +%% This is file `cc4amsart.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `cc4amsart,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{cc4amsart}[2002/01/08 v2.05 + computational complexity, adaptions to amsart. + Michael Nuesken, Bonn.] +\RequirePackage{ccaux} +\RequirePackage{ccreltx}% deactivate amsthm.sty and reactive LaTeX's + % definitions. +\PassOptionsToPackage{bare}{relabel} +\RequirePackage{thcc} +\gdef\theorem@headerfont{\bfseries} +%% \def\th@cc{% +%% \normalfont\itshape +%% \def\@begintheorem##1##2{\item +%% [\hskip\labelsep \theorem@headerfont ##1\ ##2.]}% +%% \def\@opargbegintheorem##1##2##3{\item +%% [\hskip\labelsep \theorem@headerfont ##1\ ##2\ % +%% \normalfont({\activate@shortcite{}##3}).]}% +%% } +\@longarticletrue +\RequirePackage{ccthm} +\babel\def\ccacknowledgementsname{Acknowledgements}[% + german=Danksagung,french=Remerciements] +\newenvironment{acknowledge}{\section*{\ccacknowledgementsname}}{} +\RequirePackage{relabel} +\RequirePackage{cc2cite} +\RequirePackage{ccqed} +\endinput +%% +%% End of file `cc4amsart.sty'. +\end{filecontents*} +\begin{filecontents*}{cc4apjrnl.sty} +%% +%% This is file `cc4apjrnl.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `cc4apjrnl,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{cc4apjrnl}[2002/01/08 v2.05 + computational complexity, adaptions to apjrnl. + Michael Nuesken, Bonn.] +\let\answer\relax +\let\endanswer\relax +\RequirePackage{amsmath}[1997/03/20 v1.2d] +\RequirePackage{amsfonts}[1997/09/17 v2.2e] +\RequirePackage{amssymb}[1996/11/03 v2.2b] +\RequirePackage{ccaux} +\RequirePackage{ccreltx}% deactivate amsthm.sty and reactive LaTeX's definitions. +\@longarticletrue +\@adjustnumbering +\let\theorem@style\@undefined +\RequirePackage{ccthm} +\RequirePackage{ccqed} +\let\proof\@undefined +\let\endproof\@undefined +\RequirePackage{ccproof} +\RequirePackage{cc2cite} +\RequirePackage{url}[1999/03/02 ver 1.4] +\expandafter\def\expandafter\UrlSpecials\expandafter{% + \UrlSpecials\do\%{}} +\providecommand{\email}{\begingroup\urlstyle{tt}\Url} +\providecommand{\homepage}{\begingroup\scriptsize\urlstyle{tt}\Url} +\gdef\theorem@headerfont{\scshape\null\hskip\parindent} +\gdef\Proof{\textit{Proof}} +\renewcommand{\qedsymbol}{\rule{2pt}{4pt}} +\endinput +%% +%% End of file `cc4apjrnl.sty'. +\end{filecontents*} +\begin{filecontents*}{cc4elsart.sty} +%% +%% This is file `cc4elsart.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `cc4elsart,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{cc4elsart}[2003/08/28 v2.05 + computational complexity, adaptions to elsart. + Michael Nuesken, Bonn.] +\RequirePackage{ccaux} +\RequirePackage{ccreltx}% deactivate amsthm.sty and reactive LaTeX's + % definitions. +\PassOptionsToPackage{bare}{relabel} +\RequirePackage{thcc} +%%% \gdef\theorem@headerfont{\bfseries} +%%% %% \def\th@cc{% +%%% %% \normalfont\itshape +%%% %% \def\@begintheorem##1##2{\item +%%% %% [\hskip\labelsep \theorem@headerfont ##1\ ##2.]}% +%%% %% \def\@opargbegintheorem##1##2##3{\item +%%% %% [\hskip\labelsep \theorem@headerfont ##1\ ##2\ % +%%% %% \normalfont({\activate@shortcite{}##3}).]}% +%%% %% } +\@longarticletrue +\let\claim\relax +\let\fact\relax +\let\note\relax +\let\proof\relax\let\endproof\relax +\RequirePackage{ccthm} +\RequirePackage{ccproof} +\RequirePackage{ccqed} +\babel\def\ccacknowledgementsname{Acknowledgements}[% + german=Danksagung,french=Remerciements] +\newenvironment{acknowledge}{\section*{\ccacknowledgementsname}}{} +\RequirePackage{relabel} +\babel\def\partname{Part}[german=Teil,french=\protect\@Fpt partie] +\defprefix{part}{\partname~} +\babel\def\chaptername{Chapter}[german=Kapitel,french=Chapitre] +\defprefix{chapter}{\chaptername~} +\babel\def\sectionname{Section}[german=Abschnitt,french=Section] +\defprefix{section}{\sectionname~} +\babel\def\subsectionname{Section}[german=Abschnitt,french=Section] +\defprefix{subsection}{\subsectionname~} +\babel\def\subsubsectionname{Section}[german=Abschnitt,french=Section] +\defprefix{subsubsection}{\subsubsectionname~} +\let\ccorg@appendix\appendix +\babel\def\appendixname{Appendix}[german=Anhang,french=Annexe] +\def\appendix{% + \defprefix{section}{\appendixname~}% + \defprefix{subsection}{\appendixname~}% + \defprefix{subsubsection}{\appendixname~}% + \ccorg@appendix} +\defprefix{equation}#1{(#1)} +\babel\def\figurename{Figure}[german=Figur,french={\scshape Figure}] +\defprefix{figure}{\figurename~} +\babel\def\tablename{Table}[german=Tafel,french={\scshape Table}] +\defprefix{table}{\tablename~} +\numberallwithin{section} +\AtBeginDocument{\@adjustnumbering} +%%% \RequirePackage{cc2cite} +%%% \RequirePackage{url} +\endinput +%% +%% End of file `cc4elsart.sty'. +\end{filecontents*} +\begin{filecontents*}{cc4jT.sty} +%% +%% This is file `cc4jT.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `cc4jT,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{cc4jT}[2002/01/08 v2.05 + computational complexity, adaptions to jT which uses amsart. + Michael Nuesken, Bonn.] +\RequirePackage{ccaux} +\RequirePackage{ccreltx}% deactivate amsthm.sty and reactive LaTeX's + % definitions. +\PassOptionsToPackage{bare}{relabel} +\RequirePackage{thcc} +\gdef\theorem@headerfont{\bfseries} +%% \def\th@cc{% +%% \normalfont\itshape +%% \def\@begintheorem##1##2{\item +%% [\hskip\labelsep \theorem@headerfont ##1\ ##2.]}% +%% \def\@opargbegintheorem##1##2##3{\item +%% [\hskip\labelsep \theorem@headerfont ##1\ ##2\ % +%% \normalfont({\activate@shortcite{}##3}).]}% +%% } +\@longarticletrue +\let\proof\relax\let\endproof\relax +\RequirePackage{ccthm} +\RequirePackage{ccproof} +\RequirePackage{ccqed} +\babel\def\ccacknowledgementsname{Acknowledgements}[% + german=Danksagung,french=Remerciements] +\newenvironment{acknowledge}{\section*{\ccacknowledgementsname}}{} +\RequirePackage{relabel} +\babel\def\partname{Part}[german=Teil,french=\protect\@Fpt partie] +\defprefix{part}{\partname~} +\babel\def\chaptername{Chapter}[german=Kapitel,french=Chapitre] +\defprefix{chapter}{\chaptername~} +\babel\def\sectionname{Section}[german=Abschnitt,french=Section] +\defprefix{section}{\sectionname~} +\babel\def\subsectionname{Section}[german=Abschnitt,french=Section] +\defprefix{subsection}{\subsectionname~} +\babel\def\subsubsectionname{Section}[german=Abschnitt,french=Section] +\defprefix{subsubsection}{\subsubsectionname~} +\let\ccorg@appendix\appendix +\babel\def\appendixname{Appendix}[german=Anhang,french=Annexe] +\def\appendix{% + \defprefix{section}{\appendixname~}% + \defprefix{subsection}{\appendixname~}% + \defprefix{subsubsection}{\appendixname~}% + \ccorg@appendix} +\defprefix{equation}#1{(#1)} +\babel\def\figurename{Figure}[german=Figur,french={\scshape Figure}] +\defprefix{figure}{\figurename~} +\babel\def\tablename{Table}[german=Tafel,french={\scshape Table}] +\defprefix{table}{\tablename~} +\numberallwithin{section} +\AtBeginDocument{\@adjustnumbering} +\RequirePackage{cc2cite} +\RequirePackage{url} +\endinput +%% +%% End of file `cc4jT.sty'. +\end{filecontents*} +\begin{filecontents*}{cc4llncs.sty} +%% +%% This is file `cc4llncs.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `cc4llncs,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{cc4llncs}[2002/10/01 v2.05 + computational complexity, adaptions to llncs. + Michael Nuesken, Bonn.] +\let\claim\relax \let\endclaim\relax +\let\conjecture\relax \let\endconjecture\relax +\let\corollary\relax \let\endcorollary\relax +\let\counterexample\relax \let\endcounterexample\relax +\let\definition\relax \let\enddefinition\relax +\let\exercise\relax \let\endexercise\relax +\let\fact\relax \let\endfact\relax +\let\hypothesis\relax \let\endhypothesis\relax +\let\lemma\relax \let\endlemma\relax +\let\notation\relax \let\endnotation\relax +\let\note\relax \let\endnote\relax +\let\observation\relax \let\endobservation\relax +\let\open\relax \let\endopen\relax +\let\openquestion\relax \let\endopenquestion\relax +\let\problem\relax \let\endproblem\relax +\let\proposition\relax \let\endproposition\relax +\let\question\relax \let\endquestion\relax +\let\remark\relax \let\endremark\relax +\let\result\relax \let\endresult\relax +\let\theorem\relax \let\endtheorem\relax +\let\thesis\relax \let\endthesis\relax +\let\warning\relax \let\endwarning\relax +\let\example\relax \let\endexample\relax +\RequirePackage{amsmath}[1997/03/20 v1.2d] +\RequirePackage{amsfonts}[1997/09/17 v2.2e] +\RequirePackage{amssymb}[1996/11/03 v2.2b] +\RequirePackage{ccaux} +\@longarticletrue +\RequirePackage{ccreltx}% deactivate amsthm.sty and reactive LaTeX's + % definitions. +\RequirePackage{ccthm} +\theoremheaderfont{\upshape\bfseries} +\RequirePackage{ccalgo} +\let\origthebibliography\thebibliography +\let\origendthebibliography\endthebibliography +\let\citeauthoryear\relax +\RequirePackage{cc2cite} +\let\thebibliography\origthebibliography +\let\endthebibliography\origendthebibliography +\RequirePackage{url}[1999/03/02 ver 1.4] +\expandafter\def\expandafter\UrlSpecials\expandafter{% + \UrlSpecials\do\%{}} +\providecommand{\email}{\begingroup\urlstyle{tt}\Url} +\providecommand{\homepage}{\begingroup\scriptsize\urlstyle{tt}\Url} +\def\condbreak#1{% + \vskip 0pt plus #1% + \pagebreak[3]% + \vskip 0pt plus -#1% + \relax} +%%% +\endinput +%% +%% End of file `cc4llncs.sty'. +\end{filecontents*} +\begin{filecontents*}{cc4siamltex.sty} +%% +%% This is file `cc4siamltex.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `cc4siamltex,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{cc4siamltex}[2002/05/22 v2.05 + computational complexity, adaptions to siamltex. + Michael Nuesken, Bonn.] + +\let\theorem\relax +\let\endtheorem\relax +\let\lemma\relax +\let\endlemma\relax +\let\corollary\relax +\let\endcorollary\relax +\let\proposition\relax +\let\endproposition\relax +\let\definition\relax +\let\enddefinition\relax +\let\proof\relax +\let\endproof\relax + +\RequirePackage{amsmath} +\RequirePackage{amsfonts} +\RequirePackage{amssymb} +\RequirePackage{ccaux} +\RequirePackage{ccreltx}% deactivate amsthm.sty and reactive LaTeX's + % definitions. +%% \PassOptionsToPackage{bare}{relabel} +\RequirePackage{ccthm} +\RequirePackage{relabel} +\RequirePackage{cc2cite} +\RequirePackage{ccproof} +\renewcommand{\Proof}{\textit{Proof}} +\renewcommand{\qedsymbol}{\vbox{\hrule height0.6pt\hbox{% + \vrule height1.3ex width0.6pt\hskip0.8ex + \vrule width0.6pt}\hrule height0.6pt + }} +\RequirePackage{ccalgo} +\babel\def\ccacknowledgementsname{Acknowledgements}[% + german=Danksagung,french=Remerciements] +\newenvironment{acknowledge}{\section*{\ccacknowledgementsname}}{} +\RequirePackage{url}[1999/03/02 ver 1.4] +\expandafter\def\expandafter\UrlSpecials\expandafter{% + \UrlSpecials\do\%{}} +\providecommand{\email}{\begingroup\urlstyle{tt}\Url} +\providecommand{\homepage}{\begingroup\scriptsize\urlstyle{tt}\Url} +\endinput +%% +%% End of file `cc4siamltex.sty'. +\end{filecontents*} +\begin{filecontents*}{ccalgo.sty} +%% +%% This is file `ccalgo.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `ccalgo,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{ccalgo}[2005/08/27 v2.05 + algorithm environment for cc. Michael Nuesken, Bonn.] +\let\namedalgorithm\@undefined +\let\endnamedalgorithm\@undefined +\let\algorithm\@undefined +\let\endalgorithm\@undefined +{\def\algonumerate@item[#1]{% + \if@noparitem + \@donoparitem + \else + \if@inlabel + \indent \par + \fi + \ifhmode + \unskip\unskip \par + \fi + \if@newlist + \if@nobreak + \@nbitem + \else + \addpenalty\@beginparpenalty + \addvspace\@topsep + \addvspace{-\parskip}% + \fi + \else + \addpenalty\@itempenalty + \addvspace\itemsep + \fi + \global\@inlabeltrue + \fi + \everypar{% + \@minipagefalse + \global\@newlistfalse + \if@inlabel + \global\@inlabelfalse + {\setbox\z@\lastbox + \ifvoid\z@ + \kern-\itemindent + \fi}% + \box\@labels + \penalty\z@ + \fi + \if@nobreak + \@nobreakfalse + \clubpenalty \@M + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \if@noitemarg + \@noitemargfalse + \if@nmbrlist + \refstepcounter\@listctr + \fi + \fi + \sbox\@tempboxa{\makelabel{#1}}% + \global\setbox\@labels\hbox{% + \unhbox\@labels + \hskip \itemindent + \hskip -\labelwidth + \hskip -\labelsep + \ifdim \wd\@tempboxa >\labelwidth + \box\@tempboxa + \else + \hbox to\labelwidth {\unhbox\@tempboxa}% + \fi + \hskip \labelsep}% + \ignorespaces} +\ifx\algonumerate@item\@item\else +\PackageWarningNoLine{ccalgo}{% + Command \protect\@item\space has changed.\MessageBreak + Check if current package is valid} +\fi} +\RequirePackage{theorem} +\RequirePackage{thcc} +\RequirePackage{relabel} +\def\list@parshape{% + %%\typeout{parshape 1 \the\@totalleftmargin+\the\linewidth}% + \parshape \@ne \@totalleftmargin \linewidth} +\newdimen\reinit@list@last +\def\reinit@list#1{% + \advance\itemindent\reinit@list@last + \advance\@totalleftmargin-\reinit@list@last + \advance\linewidth\reinit@list@last + \global\reinit@list@last#1\relax + \ifdim\reinit@list@last>\algonumerate@maxindent + \global\reinit@list@last\algonumerate@maxindent\fi + \advance\itemindent-\reinit@list@last + \advance\@totalleftmargin\reinit@list@last + \advance\linewidth-\reinit@list@last + %%\typeout{\the\@totalleftmargin + \the\linewidth}% + \list@parshape} +\def\reinit@list@label{% + \reinit@list{\wd\@tempboxa}% + } +\newcommand{\makealgolabel}[1]{#1.} +\newcommand{\makeoptalgolabel}[1]{(#1)} +\let\makeoptalgocurrentlabel\makeoptalgolabel +\newcounter{algonumerate} +\defprefix{algonumerate}{} +\newcount\algonumerate@items +\renewcommand{\thealgonumerate}{% + \expandafter\ifnum\value{algonumerate}<\@ne + \algonumfield% + \else + \arabic{algonumerate}\fi}% +\def\algonumfield{\ignorespaces + \ifx\@algonumfield\relax\else + \expandafter\@algonumfield\csname c@algonumerate\endcsname\fi + \unskip} +\newif\if@speciallabel +\newcommand{\labelalgonumerate}{% + \count@\value{algonumerate}% + \ifnum\count@<\z@ + \algonumfield:% + \else + \makealgolabel{\thealgonumerate}\fi + }% +\newdimen\algo@labelsep +\newdimen\steplabelwidth +\newtoks\AtNextItem +\newif\if@requireditemscomplete +\newcommand{\algonumerate@label}[1]{% + \def\@tempa{#1}\def\@tempc{\@itemlabel}% + %%\show\@tempa\show\@tempc + \ifx\@tempa\@tempc\global\@speciallabelfalse + \else\global\@speciallabeltrue\fi + \expandafter\ifnum\value{algonumerate}<\z@ + #1\hskip\algo@labelsep% + \else + \ifx\@tempa\@empty + \hskip\steplabelwidth\hskip\algo@labelsep + \else + \hb@xt@\steplabelwidth{\hss + \hb@xt@\steplabelwidth{\hfill + \if@speciallabel + \makeoptalgolabel{#1}% + \else + #1% + \fi + }}\hskip\algo@labelsep% + \fi\fi + \global\let\algonumerate@global\global + \gdef\global{\algonumerate@global\let\global\algonumerate@global + \expandafter\count@\value{algonumerate}% + %%{\tracingall\nonstopmode\showbox\@tempboxa}% + \ifnum\count@=\m@ne + \stepcounter{algonumerate}% + \fi + \ifnum\count@=\z@ + \if@requireditemscomplete\else + \global\@requireditemscompletetrue + \ifnum\algonumerate@items>\z@\medskip\fi + \fi + \fi + \ifnum\count@=\@ne + \if@requireditemscomplete\else + \global\@requireditemscompletetrue + \ifnum\algonumerate@items>\z@\medskip\fi + \fi + \fi + \if@speciallabel + \protected@edef\@currentlabel{\csname p@\@listctr\endcsname + {\makeoptalgocurrentlabel{#1}}}% + \protected@edef\@bare@currentlabel{#1}% + \fi + \global\let\latest@item@currentlabel\@currentlabel + \global\let\latest@item@bare@currentlabel\@bare@currentlabel + \global\@speciallabeltrue + \the\AtNextItem \global\AtNextItem{}% + \reinit@list@label + \global}% + } +\newdimen\algonumerate@maxindent +\AtBeginDocument{\ifdim\algonumerate@maxindent=\z@ + \algonumerate@maxindent.2\textwidth\fi} +\def\algonumerateinit#1{% + \def\@algonumfield{}% + \let\ccorg@or\or\let\or\relax + \algonumerate@items\z@ + \@for\@tempa:=#1\do{% + \advance\algonumerate@items\@ne + \@temptokena\expandafter{\@tempa}% + \toks@\expandafter{\@algonumfield}% + \edef\@algonumfield{\the\@temptokena\or\the\toks@}% + }% + \let\or\ccorg@or + \toks@\expandafter{\@algonumfield}% + \edef\@algonumfield##1{\noexpand\ifcase-##1\noexpand\or + \the\toks@\noexpand\fi}% + } +\newenvironment{algonumerate}{% + \if@inlabel~\fi\par + \list{\labelalgonumerate}{% + \usecounter{algonumerate}% + \let\makelabel\algonumerate@label + \parsep\z@% + \topsep\z@% + \itemsep\z@% + \parskip\z@% + %\leftmargin\z@ + %\algo@labelsep\labelsep + %\labelsep\z@ + \leftmargin\labelsep + \algo@labelsep\z@ + \settowidth\steplabelwidth{\makealgolabel{99}}% + \labelwidth\z@ + \global\reinit@list@last\z@ + }% + \setcounter{algonumerate}{-\algonumerate@items}% + \ifnum\algonumerate@items>\z@ + \addtocounter{algonumerate}\m@ne + \global\@requireditemscompletefalse + \else + \global\@requireditemscompletetrue + \fi + \setcounter{block@cnt}\z@ + \let\step\algo@step + \let\block\algo@block + \let\endblock\endalgo@block + \let\range\algo@range + \let\endrange\endalgo@range + \let\indention\algo@indention + \let\endindention\endalgo@indention + \let\body\algo@block + \let\endbody\endalgo@block + \let\meta\algo@meta + \let\endmeta\endalgo@meta + }{% + \endlist\vskip\topskip} +\newdimen\blockindent \blockindent\parindent +\newcounter{block@cnt} +\newcommand{\nextblock}{% + \stepcounter{block@cnt}\edef\currentblock{\arabic{block@cnt}}% + } +\newif\if@trivialrange +\newcommand{\refsetrange}[2]{% + {\shortlabeltrue + \let\@tempa\relax + \protected@edef\@tempa{% + \csname r@\the\algorithmmasterkey-#1\endcsname}% + %%\show\@tempa + \let\@tempc\relax + \protected@edef\@tempc{% + \csname r@\the\algorithmmasterkey-#2\endcsname}% + %%\show\@tempc + \ifx\@tempa\@tempc\global\@trivialrangetrue + \else\global\@trivialrangefalse\fi + }% + \if@trivialrange + \protected@edef\@currentlabel{}% + \else + \protected@edef\@currentlabel{% + \csname p@\@listctr\endcsname{% + \protect\short\protect\ref{\the\algorithmmasterkey-#1}% + --% + \protect\short\protect\ref{\the\algorithmmasterkey-#2}% + }}% + \fi + \protected@edef\@bare@currentlabel{% + \protect\bare\protect\ref{\the\algorithmmasterkey-#1}% + --% + \protect\bare\protect\ref{\the\algorithmmasterkey-#2}% + }% + } +\newenvironment{algo@range}{% + \par + \stepcounter{block@cnt}\edef\block@{\arabic{block@cnt}}% + \refsetrange{bob\block@}{eob\block@}% + \AtNextItem{\algolabel{bob\block@}}% + }{% + \algolabel{eob\block@}% + \par + \global\let\algo@block@currentlabel\@currentlabel + \global\let\algo@block@bare@currentlabel\@bare@currentlabel + \aftergroup\algo@endrange@aftergroup + } +\def\algo@endrange@aftergroup{% + \let\@currentlabel\latest@item@currentlabel + \let\@bare@currentlabel\latest@item@bare@currentlabel + } +\newenvironment{algo@indention}{% + \par + \if@requireditemscomplete + \advance\leftmargin\blockindent + \advance\labelsep\blockindent + \advance\@totalleftmargin\blockindent + \advance\linewidth-\blockindent + \def\algo@indention@undo{% + \advance\leftmargin-\blockindent + \advance\labelsep-\blockindent + \advance\@totalleftmargin-\blockindent + \advance\linewidth\blockindent + } + \list@parshape + \else + \let\algo@indention@undo\relax + \fi + }{% + \par + \algo@indention@undo + \list@parshape + \aftergroup\list@parshape + \global\let\algo@block@currentlabel\@currentlabel + \global\let\algo@block@bare@currentlabel\@bare@currentlabel + \aftergroup\algo@endrange@aftergroup + } +\newif\ifindented@block +\newenvironment{algo@block}{% + \indented@blockfalse + \if@requireditemscomplete\indented@blocktrue\fi + \ifindented@block\algo@indention + \else + \sbox\@tempboxa{\makelabel{}}% + \fi + \algo@range}{% + \endalgo@range + \ifindented@block\endalgo@indention\fi + } +\newdimen\meta@indent +\newenvironment{algo@meta}{% + \@newlistfalse + \vskip\topskip + \par + %%\meta@indent\leftmargin + %%\advance\meta@indent\algo@labelsep + %%\advance\meta@indent\steplabelwidth + \meta@indent\@totalleftmargin + \advance\labelsep-\meta@indent + \advance\@totalleftmargin-\meta@indent + \advance\linewidth\meta@indent + \advance\leftmargin-\meta@indent + \list@parshape + }{% + \vskip\topskip + \par + \advance\labelsep\meta@indent + \advance\@totalleftmargin\meta@indent + \advance\linewidth-\meta@indent + \advance\leftmargin\meta@indent + \aftergroup\list@parshape + } +\newcommand{\algo@step}[2][]{% + \expandafter\ifnum\value{algonumerate}<\m@ne + \PackageError{ccalgo}{Missing \protect\item}{}% + \fi + \cc@ifempty{#1}{\item}{\item[#1]}% + \def\@tempa{#2}\ifx\@tempa\@empty\else\algolabel{#2}\fi% + } +\newtoks\algotitle +\theorembodyfont{}% +\theoremstyle{ccalgonn} +\newtheorem{named@lg@r@thm*}{\the\algotitle} +\defprefix{named@lg@r@thm*}#1{\the\algotitle} +\theoremstyle{ccalgo} +\newtheorem{named@lg@r@thm}{\the\algotitle} +\defprefix{named@lg@r@thm}#1{\the\algotitle~#1} +\let\c@named@lg@r@thm\c@namedth@@r@m +\let\thenamed@lg@r@thm\thenamedth@@r@m +\babel\def\babelInput{Input}[german=Eingabe,french=Entr\'ee] +\babel\def\babelOutput{Output}[german=Ausgabe,french=Sortie] +\babel\def\babelstep{step}[german=Schritt,french=pas]%% ??? pas? +\babel\def\babelStep{Step}[german=Schritt,french=Pas]%% ??? pas? +\newtoks\algorithmmasterkey +\newenvironment{namedalgorithm}[1]{% + \pagebreak[3]% + \def\algo@theorem{named@lg@r@thm}% + \algotitle{#1}% + \n@medalgorithm} +{\endalgonumerate\csname end\algo@theorem\endcsname} +\newenvironment{namedalgorithm*}[1]{% + \def\algo@theorem{named@lg@r@thm*}% + \algotitle{#1}% + \n@medalgorithm} +{\endalgonumerate\csname end\algo@theorem\endcsname} +\newcommand{\n@medalgorithm}[2][\babelInput,\protect\babelOutput]{% + \algonumerateinit{#1}% + \algorithmmasterkey{#2}% + \edef\@tempa{\the\algorithmmasterkey}\ifx\@tempa\@empty + \PackageError{ccalgo}{Empty key for algorithm like environment}{}\fi% + \n@m@d@lgorithm} +\newcommand{\n@m@d@lgorithm}[1][]{% + \def\@tempa{#1}% + \ifx\@tempa\@empty\csname\algo@theorem\endcsname + \else\csname\algo@theorem\endcsname[#1]\fi% + \label{\the\algorithmmasterkey}% + \algo@keywords + \defprefix{algonumerate}{% + \Iflabelchanged{\algo@theorem}{\uselabel{\algo@theorem} % + \ifnum\c@algonumerate>\z@ \babelstep~\fi}}% + \algonumerate + }% +\def\algolabel#1{\label{\the\algorithmmasterkey-#1}}% +\newcommand{\stepref}[2]{\babelStep~\short\ref{#1-#2} in \whole\ref{#1}} +\newcommand{\newalgorithm}[2]{% + \def\newalgo@name{#1}% + \def\newalgo@title{#2}% + \n@walgorithm} +\newcommand{\n@walgorithm}[1][\babelInput,\protect\babelOutput]{% + \protected@edef\@tempa{% + \noexpand\newenvironment{\newalgo@name}% + {\noexpand\namedalgorithm{\newalgo@title}[\noexpand#1]}% + {\noexpand\endnamedalgorithm}% + \noexpand\newenvironment{\newalgo@name*}% + {\noexpand\csname namedalgorithm*\endcsname + {\newalgo@title}[\noexpand#1]}% + {\noexpand\csname endnamedalgorithm*\endcsname}% + }\@tempa + } +\babel\def\algorithmname{Algorithm}[% + german=Algorithmus,french=Algorithme] +\newalgorithm{algorithm}{\protect\algorithmname} +\def\algo@keywords{% + \def\keyword##1{\textsf{##1} \ignorespaces}% + \babel\def\FOR{\keyword{For}}[german=\keyword{F{\"{u}}r}]% + \babel\def\DO{\keyword{do}}[german=\keyword{erledige}]% + \babel\def\endFOR{}[]% + \babel\def\WHILE{\keyword{While}}[german=\keyword{Solange}]% + \babel\def\endWHILE{}[]% + \babel\def\REPEAT{\keyword{Repeat}}[german=\keyword{Wiederhole}]% + \babel\def\UNTIL{\keyword{Until}}[german=\keyword{Bis}]% + \babel\def\IF{\keyword{If}}[german=\keyword{Falls}]% + \babel\def\THEN{\keyword{then}}[german=\keyword{dann}]% + \babel\def\ELIF{\keyword{Else if}}[german=\keyword{Sonst wenn}]% + \babel\def\ELSE{\keyword{Else}}[german=\keyword{Sonst}]% + \babel\def\endIF{}[]% + \babel\def\CALL{\keyword{Call}}[german=\keyword{Rufe}]% + \babel\def\RETURN{\keyword{Return}}[german=\keyword{Antworte}]% + \expandafter\selectlanguage\expandafter{\languagename} + \def\COMMENT##1{$\{$ ##1 $\}$}% + } +\newcommand{\optitem}[1]{% + \cc@ifempty{#1}{\if@inlabel\par\else\item\fi}{\item[#1]}% + } +\newcommand{\algoprettify}[3]{% + \setbox2\hbox{#1}% + \setbox4\hbox{#2}% + \setbox6\hbox{#3}% + \setbox0\hbox{\unhcopy2\unhcopy4{ }\unhcopy6}% + \ifdim\wd0<\linewidth + \unhbox0 + \else + \dimen0=\linewidth \advance\dimen0 by -\wd2 + \unhbox2\parbox[t]{\dimen0}{\unhbox4\strut}\par\unhbox6 + \fi + } +\newenvironment{ifblock}[2][] +{% + \optitem{#1}% + \nextblock + \algolabel{if\currentblock}% + \algoprettify{\IF}{#2}{\THEN} + \indention + \refsetrange{if\currentblock}{endif\currentblock}% + } +{% + \algolabel{endif\currentblock}% + \endindention} +\newenvironment{elifblock}[2][]{% + \optitem{#1}% + \nextblock + \algoprettify{\ELIF}{#2}{\THEN} + \algolabel{elif\currentblock}% + \indention + \refsetrange{elif\currentblock}{endelif\currentblock}% + }{% + \algolabel{endelif\currentblock}% + \endindention} +\newenvironment{elseblock}[1][]{% + \optitem{#1}% + \nextblock + \ELSE% + \algolabel{else\currentblock}% + \indention + \refsetrange{else\currentblock}{endelse\currentblock}% + }{% + \algolabel{endelse\currentblock}% + \endindention} +\newenvironment{forblock}[2][]{% + \optitem{#1}% + \nextblock + \algoprettify{\FOR}{#2}{% + \DO \short\ref{\the\algorithmmasterkey-body\currentblock}}% + \algolabel{for\currentblock}% + \block\algolabel{body\currentblock}% + \refsetrange{for\currentblock}{endfor\currentblock}% + }{% + \algolabel{endfor\currentblock}% + \endblock} +\newenvironment{whileblock}[2][]{% + \optitem{#1}% + \nextblock + \algoprettify{\WHILE}{#2}{% + \DO \short\ref{\the\algorithmmasterkey-body\currentblock}}% + \algolabel{while\currentblock}% + \block + \algolabel{body\currentblock}% + \refsetrange{while\currentblock}{endwhile\currentblock}% + }{% + \algolabel{endwhile\currentblock}% + \endblock} +\newenvironment{untilblock}[2][]{% + \optitem{#1}% + \nextblock + \algoprettify{\UNTIL}{#2}{% + \DO \short\ref{\the\algorithmmasterkey-body\currentblock}}% + \algolabel{until\currentblock}% + \block + \algolabel{body\currentblock}% + \refsetrange{until\currentblock}{enduntil\currentblock}% + }{% + \algolabel{enduntil\currentblock}% + \endblock} +\newenvironment{blockuntil}[2][]{% + \optitem{#1}% + \nextblock + \def\repeat@cond{#2}% + \REPEAT \short\ref{\the\algorithmmasterkey-body\currentblock}% + \algolabel{repeat\currentblock}% + \block + \algolabel{body\currentblock}% + \refsetrange{repeat\currentblock}{endrepeat\currentblock}% + }{% + \endblock +\item + \algolabel{endrepeat\currentblock}% + \algoprettify{\UNTIL}{\repeat@cond}{}} +\newenvironment{blockwhile}[2][]{% + \optitem{#1}% + \nextblock + \def\repeat@cond{#2}% + \REPEAT \short\ref{\the\algorithmmasterkey-body\currentblock}% + \algolabel{repeat\currentblock}% + \block + \algolabel{body\currentblock}% + \refsetrange{repeat\currentblock}{endrepeat\currentblock}% + }{% + \endblock +\item + \algolabel{endrepeat\currentblock}% + \algoprettify{\WHILE}{\repeat@cond}{}} +\endinput +%% +%% End of file `ccalgo.sty'. +\end{filecontents*} +\begin{filecontents*}{ccaux.sty} +%% +%% This is file `ccaux.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `ccaux,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{ccaux}[2008/03/18 v2.08 + computational complexity, auxiliaries. + Michael Nuesken, Bonn.] +\newif\if@longarticle \@longarticletrue +\newif\if@cclayout \@cclayouttrue +\newif\if@Tone \@Tonetrue +\newif\if@latin \@latintrue +\newif\if@babel \@babelfalse +\newif\if@ams \@amstrue +\newif\if@autotitle \@autotitletrue +\newif\if@ccsectioning \@ccsectioningtrue +\newif\if@cccite \@cccitefalse +\newif\if@natbib \@natbibtrue +\newif\if@manualbibliography \@manualbibliographyfalse +\newif\if@twocolumnbibliography \@twocolumnbibliographyfalse +\newif\if@cctheorems \@cctheoremstrue +\newif\if@standardtheorems \@standardtheoremstrue +\newif\if@ccnosepeqncnt \@ccnosepeqncnttrue +\newif\if@ccalgo \@ccalgotrue +\newif\if@theoremitemprefixes \@theoremitemprefixestrue +\newif\if@ccpublish \@ccpublishfalse +\newif\if@cctextarea \@cctextareatrue +\newcount\@marginmode \@marginmode\tw@ +\def\numberallwithin#1{\gdef\cc@numberingtoplevel{#1}} +\def\@adjustnumbering{% + \if@longarticle + \numberwithin{equation}\cc@numberingtoplevel + \numberwithin{figure}\cc@numberingtoplevel + \numberwithin{table}\cc@numberingtoplevel + \if@cctheorems\if@standardtheorems\else + \numberwithin{answer}\cc@numberingtoplevel + \numberwithin{assumption}\cc@numberingtoplevel + \numberwithin{claim}\cc@numberingtoplevel + \numberwithin{conjecture}\cc@numberingtoplevel + \numberwithin{convention}\cc@numberingtoplevel + \numberwithin{corollary}\cc@numberingtoplevel + \numberwithin{counterexample}\cc@numberingtoplevel + \numberwithin{definition}\cc@numberingtoplevel + \numberwithin{exercise}\cc@numberingtoplevel + \numberwithin{fact}\cc@numberingtoplevel + \numberwithin{hypothesis}\cc@numberingtoplevel + \numberwithin{lemma}\cc@numberingtoplevel + \numberwithin{notation}\cc@numberingtoplevel + \numberwithin{note}\cc@numberingtoplevel + \numberwithin{observation}\cc@numberingtoplevel + \numberwithin{open}\cc@numberingtoplevel + \numberwithin{openquestion}\cc@numberingtoplevel + \numberwithin{problem}\cc@numberingtoplevel + \numberwithin{proposition}\cc@numberingtoplevel + \numberwithin{question}\cc@numberingtoplevel + \numberwithin{remark}\cc@numberingtoplevel + \numberwithin{result}\cc@numberingtoplevel + \numberwithin{theorem}\cc@numberingtoplevel + \numberwithin{thesis}\cc@numberingtoplevel + \numberwithin{warning}\cc@numberingtoplevel + \numberwithin{exampleexample}\cc@numberingtoplevel + \fi\fi +\fi} +\numberallwithin{section}% redo this in the preamble, if necessary +\newcommand{\newwarning}[2]{% + \expandafter\gdef\csname cc@warn@#1\endcsname{#2}% + \expandafter\def\csname cc@warncount@#1\endcsname{0}} +\newcommand{\ccClassWarning}[1]{% + \@ifundefined{cc@warn@#1}{% + \ClassWarning{cc}{Undefined warning.\MessageBreak + This should never occur. + Please inform nuesken@bit.uni-bonn.de .}% + }{}% + \expandafter\ifcase\csname cc@warncount@#1\endcsname\relax + \ClassWarning{cc}{\csname cc@warn@#1\endcsname.\MessageBreak + Possible further occurencies of this warning will be\MessageBreak + collected until the end of the document.\MessageBreak + This one was}% + \or + \AtEndDocument{% + \ClassWarningNoLine{cc}{Repeated warning collected \csname + cc@warncount@#1\endcsname\space times:\MessageBreak + \csname cc@warn@#1\endcsname}% + }% + \else + \fi + \expandafter\count@=0\csname cc@warncount@#1\endcsname\relax + \advance\count@\@ne + \expandafter\xdef\csname cc@warncount@#1\endcsname{\the\count@}% + } +\providecommand{\addto}[2]{% + \expandafter\ccaddto\expandafter{\csname + cc@\string#1\endcsname}{#2}{#1}} +\newcommand{\ccaddto}[3]{% + \ifx#1\@undefined + \gdef#1{#2}% + \AtBeginDocument{\expandafter\ccaddtonow\expandafter{#1}#3}% + \else + \ifx#1\relax + \gdef#1{#2}% + \AtBeginDocument{\expandafter\ccaddtonow\expandafter{#1}#3}% + \else + {\toks@\expandafter{#1#2}% + \xdef#1{\the\toks@}}% + \fi + \fi +} +\newcommand{\ccaddtoINDOC}[3]{% + \ifx#1\@undefined + \gdef#1{#2}% + \else + \ifx#1\relax + \gdef#1{#2}% + \else + {\toks@\expandafter{#1#2}% + \xdef#1{\the\toks@}}% + \fi + \fi +} +\AtBeginDocument{\global\let\ccaddto\ccaddtoINDOC} +\newcommand{\ccaddtonow}[2]{% + \ifx#2\@undefined + \gdef#2{#1}% + \else + \ifx#2\relax + \gdef#2{#1}% + \else + {\toks@\expandafter{#2#1}% + \xdef#2{\the\toks@}}% + \fi + \fi +} +\long\def\cc@ifempty#1{\cc@xifempty#1@@..\@nil} +\long\def\cc@xifempty#1#2@#3#4#5\@nil{% + \ifx#3#4\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} +\long\def\cc@ifnotempty#1{\cc@ifempty{#1}{}} +%%% \def\oldbabel\def#1#2#3#4#5#6{\def#1{#2}% +%%% \cc@ifnotempty{#2}{\addto\captionsenglish{\def#1{#2}}}% +%%% \cc@ifnotempty{#3}{% +%%% \addto\captionsgerman{\def#1{#3}}% +%%% \addto\captionsngerman{\def#1{#3}}% +%%% }% +%%% \cc@ifnotempty{#4}{\addto\captionsfrench{\def#1{#4}}}% +%%% \cc@ifnotempty{#5}{\addto\captionsitalian{\def#1{#5}}}% +%%% \cc@ifnotempty{#6}{\addto\captionsspanish{\def#1{#6}}}% +%%% } +\def\babel\def#1#2{% + \@ifnextchar[{\n@wbabel{#1}{#2}}{\n@wbabel{#1}{#2}[]}} +\def\n@wbabel#1#2[#3]{% + \def#1{#2}% + \cc@ifnotempty{#2}{\addto\captionsenglish{\def#1{#2}}}% + \babeladdtranslations#1{#3}% +} +\def\b@beladdlang#1=#2=#3\@@@#4{% + \cc@ifnotempty{#2}{% + %%% \@ifundefined{captions#1}{% + %%% \ClassWarning{cc}{Language `#1' undefined, ignoring + %%% translation \string#4=#2.}% + %%% }{% + \expandafter\addto\csname captions#1\endcsname{\def#4{#2}}% + %%% }% + }% +} +\def\babeladdtranslations#1#2{% + \@for\@tempa:=#2\do{\expandafter\b@beladdlang\@tempa==\@@@#1}% +} +\def\condbreak#1{% + \vskip 0pt plus #1% + \pagebreak[3]% + \vskip 0pt plus -#1% + \relax} +\let\ccorg@enumerate\enumerate +\def\enumerate{\@ifstar{\count251\c@enumi + \count252\c@enumii + \count253\c@enumiii + \count254\c@enumiv + \ccorg@enumerate + \c@enumi\count251 + \c@enumii\count252 + \c@enumiii\count253 + \c@enumiv\count254}% + {\ccorg@enumerate}} +\endinput +%% +%% End of file `ccaux.sty'. +\end{filecontents*} +\begin{filecontents*}{cccite.sty} +%% +%% This is file `cccite.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `cccite,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{cccite}[2000/02/29 v2.05 cc cite helper package] +\PackageWarningNoLine{cccite}{% + The package cccite is obsolete.\MessageBreak + Better use cc2cite. + } +\RequirePackage{ccdbs} +\DefaultBibliographyStyle{cc} +\let\ccorg@cite\cite +\let\ccorg@@cite\@cite +\def\@citeseppen{-5} +\def\@cite#1#2{{#1\if@tempswa , #2\fi}} +\def\cite#1{\def\citeauthoryear##1##2{##1\ (##2)}\@citex{#1}} +\def\citeauthor#1{\def\citeauthoryear##1##2{##1}\@citex{#1}} +\def\citeyear#1{\def\citeauthoryear##1##2{##2}\@citex{#1}} +\def\shortcite#1{\def\citeauthoryear##1##2{##1\ ##2}\@citex{#1}} +\def\parencite#1{\def\citeauthoryear##1##2{(##1\ ##2)}\@citex{#1}} +\def\citemul#1{\@mcite #1\@\@} +\def\@mcite#1,#2\@\@{\citeauthor{#1}\hskip3pt(\citeyear{#1,#2})} +\def\@citex#1{\@tempswafalse% + \if@filesw\immediate\write\@auxout{\string\citation{#1}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#1\do + {\@citea\def\@citea{,\penalty\@citeseppen\ }\@ifundefined + {b@\@citeb}{{\bf ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{}} +\let\ccorg@cite\cite +\newcommand{\citet}{\let\which@cite\ccorg@cite\cc@citea} +\let\cite\citet +\newcommand{\citep}{\let\which@cite\parencite\cc@citea} +\newcommand{\citealt}{\let\which@cite\shortcite\cc@citea} +\newcommand{\citealp}{\let\which@cite\shortcite\cc@citea} +\newcommand{\citetext}[1]{(#1)} +\newcommand{\@citeyearpar}[1]{\citetext{\citeyear{#1}}} +\newcommand{\citeyearpar}{\let\which@cite\@citeyearpar\cc@citea} +\let\ccorg@citeauthor\citeauthor +\renewcommand{\citeauthor}{\let\which@cite\ccorg@citeauthor\cc@citea} +\newcommand{\citefullauthor}{\citeauthor*} +\newcommand{\Citet}{\let\which@cite\cite\cc@citea} +\newcommand{\Citep}{\let\which@cite\parencite\cc@citea} +\newcommand{\Citealt}{\let\which@cite\shortcite\cc@citea} +\newcommand{\Citealp}{\let\which@cite\shortcite\cc@citea} +\newwarning{poormancitea}{% + This is only a poor (wo)man's version of this command.\MessageBreak + Please use the package natbib.sty for full features.\MessageBreak + Drop the document class option cccite } +\newcommand{\cc@citea}{% + \ccClassWarning{poormancitea}% + \@tempswafalse\@ifstar{\cc@cite@st}{\cc@citeb}} +\def\cc@cite@st{\@tempswatrue\cc@citeb} +\newcommand{\cc@citeb}[1][]{\def\cc@cite@a{#1}\cc@citec} +\newcommand{\cc@citec}[1][]{\def\cc@cite@b{#1}\which@cite} +\def\@biblabel#1{% + \def\citename##1{##1}% for authordate bib styles + } +\newcounter{NAT@ctr} +\def\NAT@noname{{}} +\let\ccorg@lbibitem\@lbibitem +\def\@lbibitem[#1]#2{% + \let\citeauthoryear\bib@citeauthoryear + \if@filesw\@tempswatrue\else\@tempswafalse\fi\@fileswfalse + \ccorg@lbibitem[#1]{#2}% + \if@tempswa\@fileswtrue\fi + \NAT@ifcmd#1(@)(@)\@nil{#2}\ignorespaces} +\newcommand\NAT@ifcmd{\futurelet\NAT@temp\NAT@ifxcmd} +\newcommand\NAT@ifxcmd{% + \ifx\NAT@temp\relax\else\expandafter\NAT@bare\fi} +\def\NAT@bare#1(#2)#3(@)#4\@nil#5{% + \if @#2 + \expandafter\NAT@apalk#1, , \@nil{#5}\else + \stepcounter{NAT@ctr}% + \cc@wrout{\arabic {NAT@ctr}}{#2}{#1}{#3}{#5} +\fi +} +\newcommand\NAT@apalk{} +\def\NAT@apalk#1, #2, #3\@nil#4{\if\relax#2\relax + \global\NAT@stdbsttrue + \cc@wrout{#1}{}{}{}{#4}\else + \stepcounter{NAT@ctr}% + \cc@wrout{\arabic {NAT@ctr}}{#2}{#1}{}{#4}\fi} +\newcommand\citeauthoryear{} +\def\bib@citeauthoryear#1#2#3(@)(@)\@nil#4{% + \stepcounter{NAT@ctr}\if\relax#3\relax + \cc@wrout{\arabic {NAT@ctr}}{#2}{#1}{}{#4}\else + \cc@wrout{\arabic {NAT@ctr}}{#3}{#2}{#1}{#4}\fi} +\newcommand\citestarts{\NAT@open} +\newcommand\citeends{\NAT@close} +\newcommand\betweenauthors{and} +\newcommand\astroncite{} +\def\astroncite#1#2(@)(@)\@nil#3{\stepcounter{NAT@ctr}\cc@wrout{\arabic +{NAT@ctr}}{#2}{#1}{}{#3}} +\newcommand\citename{} +\def\citename#1#2(@)(@)\@nil#3{\expandafter\NAT@apalk#1#2, \@nil{#3}} +\newcommand\harvarditem[4][]% + {\if\relax#1\relax\bibitem[#2(#3)]{#4}\else + \bibitem[#1(#3)#2]{#4}\fi } +\newcommand\harvardleft{\NAT@open} +\newcommand\harvardright{\NAT@close} +\newcommand\harvardyearleft{\NAT@open} +\newcommand\harvardyearright{\NAT@close} +\AtBeginDocument{\providecommand{\harvardand}{and}} +\newcommand\harvardurl[1]{\textbf{URL:} \textit{#1}} +\newcommand\cc@wrout[5]{% + \if@filesw + {\let\protect\noexpand\let~\relax + \immediate + \write\@auxout{\string\bibcite{#5}% + {\protect\citeauthoryear{#3}{#2}}}}\fi + \ignorespaces} +\endinput +%% +%% End of file `cccite.sty'. +\end{filecontents*} +\begin{filecontents*}{ccdbs.sty} +%% +%% This is file `ccdbs.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `ccdbs,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{ccdbs}[2000/02/20 v2.05 bibliography helper package] +\let\ccorg@bibliographystyle\bibliographystyle +\newif\if@bibstylemissing \@bibstylemissingtrue +\def\bibliographystyle{\@bibstylemissingfalse + \gdef\bibliographystyle##1{% + \PackageWarning{ccdbs}{\protect\bibliographystyle\space can be + used only before \protect\bibliography!}}% + \ccorg@bibliographystyle} +\let\ccorg@bibliography\bibliography +\def\bibliography{% + \if@bibstylemissing + \bibliographystyle{\bibstyle@default}% + \fi + \ccorg@bibliography} +\newcommand{\DefaultBibliographyStyle}[1]{% + \def\bibstyle@default{#1}} +\DefaultBibliographyStyle{plain} +\endinput +%% +%% End of file `ccdbs.sty'. +\end{filecontents*} +\begin{filecontents*}{cclayout.sty} +%% +%% This is file `cclayout.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `cclayout,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\let\@contact\relax +\newcommand{\contact}[1]{\gdef\@contact{#1}} +\AtBeginDocument{\if@ccpublish + \@ifundefined{@contact}{% + \ClassWarningNoLine{cc}{Who is the contact author?\MessageBreak + Use \protect\contact\space in the preamble!}% + }{}% + \fi} +\let\@received\relax +\newcommand{\received}[1]{\gdef\@received{#1}} +\AtBeginDocument{\if@ccpublish + \@ifundefined{@received}{% + \ClassWarningNoLine{cc}{Missing received date.\MessageBreak + Use \protect\received\space in the preamble.}{}% + }{}% + \fi} +\let\@titlehead\relax +\newcommand{\titlehead}[1]{\gdef\@titlehead{#1}} +\let\@authorhead\@undefined +\newcommand{\authorhead}[1]{\gdef\@authorhead{#1}} +\let\@authorlist\@undefined +\newcommand{\authorlist}[1]{\gdef\@authorlist{#1}} +\newbox\@abstract +\let\abstract\@undefined\let\endabstract\@undefined +\babel\def\ccabstractname{Abstract}[% + german=Zusammenfassung,french=R\'esum\'e] +\newenvironment{abstract} + {\global\setbox\@abstract\@abstr{\ccabstractname}} + {\end@abstr} +\newtoks\@abstract@toks +\newcommand{\Abstract}{\global\@abstract@toks} +\newbox\@keywords +\babel\def\cckeywordsname{Keywords}[% + german=Stichworte,french=Mot-cl\'e] +\newenvironment{keywords} + {\global\setbox\@keywords\@abstr{\cckeywordsname}} + {\end@abstr} +\newbox\@subject +\babel\def\ccsubjectclassificationname{Subject classification}[% + german=Klassifizierung,french=Classification de suj\`et] +\newenvironment{subject} + {\global\setbox\@subject\@abstr{\ccsubjectclassificationname}} + {\end@abstr} +\newdimen\@abstrwidth +\newenvironment{@abstr}[1]{% + \vbox\bgroup + \hsize\textwidth + \@parboxrestore + \leftmargin.5\textwidth \advance\leftmargin-.5\@abstrwidth + \rightmargin\leftmargin + \@trivlist\@newlistfalse\global\@inlabeltrue + \advance\linewidth -\rightmargin + \advance\linewidth -\leftmargin + \advance\@totalleftmargin \leftmargin + \parshape \@ne \@totalleftmargin \linewidth + \small + \def\@listi{\leftmargin\leftmargini + \topsep 2\p@ \@plus2\p@ \@minus1\p@ + \parsep 1\p@ + \itemsep \parsep}% +%%% \let\origcclist\list +%%% \def\list{\ifnum\@listdepth>0\relax\@toodeep\fi\origcclist}% + \let\@listii\@toodeep + \let\@listiii\@toodeep + \let\@listiv\@toodeep + \let\@listv\@toodeep + \let\@listvi\@toodeep + \textbf{#1. }\ignorespaces} +{% + %\strut + \par + %\vskip\z@ + \egroup + \ignorespacesafterend} +\newif\if@abstractoptional +\if@ccpublish\@abstractoptionalfalse\else\@abstractoptionaltrue\fi +\newcommand{\noabstract}{\ClassWarning{cc}{You are using a non + documented feature}\@abstractoptionaltrue} +\newif\if@keywordsoptional +\if@ccpublish\@keywordsoptionalfalse\else\@keywordsoptionaltrue\fi +\newcommand{\nokeywords}{\ClassWarning{cc}{You are using a non + documented feature}\@keywordsoptionaltrue} +\newif\if@subjectoptional +\if@ccpublish\@subjectoptionalfalse\else\@subjectoptionaltrue\fi +\newcommand{\nosubject}{\ClassWarning{cc}{You are using a non + documented feature}\@subjectoptionaltrue} +\def\@subtitle{} +\newcommand{\subtitle}[1]{\def\@subtitle{#1}} +\def\@version{} +\newcommand{\version}[1]{\def\@version{#1}} +\def\@cctxt{} +\newif\if@cchead +\newcommand{\ccpublish}[4]{% + \global\@ccpublishtrue + \global\@abstractoptionalfalse% Abstract required + \global\@keywordsoptionalfalse% Keywords required + \global\@subjectoptionalfalse% Subject class. required + \global\@ccheadtrue + \gdef\@ccyear{#1}% + \gdef\@ccvolume{#2}% + \gdef\@ccnumber{#3}% + \gdef\@ccfirst{#4}% + \gdef\@cctxt{cc \textbf{#2} (#1)}% + \global\@autotitletrue + \AtBeginDocument{\addtocounter{section}{-1}\refstepcounter{section}}% + \AtEndDocument{\label{ccenddocument}}% + } +\newcommand{\noccpublish}[1]{% + \global\@ccpublishfalse + \global\@abstractoptionaltrue% Abstract required + \global\@keywordsoptionaltrue% Keywords required + \global\@subjectoptionaltrue% Subject class. required + \global\@ccheadfalse + \gdef\@cctxt{#1}% + %%\global\@twosidefalse + } +\def\printed@issn{1016-3328}% +\def\electronic@issn{1420-8954}% +\newcommand{\printed}{\let\issn\printed@issn} +\newcommand{\electronic}{\let\issn\electronic@issn} +\printed +\@onlypreamble\ccpublish +\@onlypreamble\electronic +\@onlypreamble\printed +\def\extractnamesfr@m@author{% + \@ifundefined{@authorlist}{% + \let\and\ignorespaces + \let\latest@name\relax + \count@\z@ + \expandafter\extract@names\@author\and\and\@nil}{% + \@authorlist + } + } +\def\extract@names#1\and#2\@nil{% + \cc@ifempty{#1}{% + \unskip\if\and\relax\else + \ifnum\count@>\tw@\authorlastsepmany\else\authorlastsep\fi + \fi\latest@name + \let\next\gobble@nil}% + {% + \unskip\and\latest@name + \ifx\latest@name\relax\else\let\and\authorsep\fi + \extract@name#1\\\@nil + \let\next\extract@names}% + \next#2\@nil} +\def\gobble@nil#1\@nil{} +\def\extract@name#1\\#2\@nil{\advance\count@\@ne\def\latest@name{#1}} +\babel\def\ccAND{and}[german=und,french=et] +\def\authorsep{,\penalty-5\ } +\def\authorlastsep{\penalty-5\ \ccAND{} } +\def\authorlastsepmany{,\penalty-5\ \ccAND{} } +\newtoks\latest@lastname +\newtoks\@firstname +\let\@firstlastname\@temptokena +\def\extractauthorheadfr@m@author{% + {% + \let\and\@empty + \latest@lastname{}% + \toks@{}% + \count@\m@ne + \expandafter\extract@lastnames\@author\and\and\@nil + \ifnum\count@<2 + \xdef\@authorhead{\the\@firstname} + \else\ifnum\count@<4 + \xdef\@authorhead{\the\toks@}% + \else + \xdef\@authorhead{\the\@firstlastname\noexpand\textit{ et al.}}% + \fi\fi + }% + \setbox0\hbox{\small\let\thanks\@gobble\@authorhead}% + \ifdim\wd0>.7\textwidth + \ClassWarningNoLine{cc}{Authorhead too long. Use + \protect\authorhead\space to specify\MessageBreak a shortened + author list for the headings!}% + \fi + } +\def\extract@lastnames#1\and#2\@nil{% + \advance\count@\@ne + \cc@ifempty{#1}{% + \expandafter\cc@ifempty\expandafter{\the\toks@}{% + \edef\@tempa{\the\latest@lastname}% + }{% + \edef\@tempa{\the\toks@\authorheadlastsep\the\latest@lastname}% + }% + \toks@\expandafter{\@tempa}% + \let\next\gobble@nil + }{% + \expandafter\cc@ifempty\expandafter{\the\toks@}{% + \edef\@tempa{\the\latest@lastname}% + }{% + \edef\@tempa{\the\toks@\authorheadsep\the\latest@lastname}% + }% + \toks@\expandafter{\@tempa}% + \extract@lastname#1\\\@nil + \let\next\extract@lastnames}% + \ifnum\count@=\@ne\@firstlastname\expandafter{\the\toks@}\fi + \next#2\@nil} +\def\gobble@nil#1\@nil{} +\def\extract@lastname#1\\#2\@nil{% + \ifnum\count@=\z@\@firstname{#1}\fi + \extract@lastname@#1 \@nil} +\def\extract@lastname@#1 #2\@nil{% + \cc@ifempty{#2}{\latest@lastname{#1}}{\extract@lastname@#2\@nil}} +\def\authorheadsep{, } +\def\authorheadlastsep{ \& } +\def\authorheadlastsepmany{ \& } +\let\@author\relax +\AtBeginDocument{% + \@ifundefined{@author}{\if@ccpublish + \ClassError{cc}{No \protect\author\space given}{Define an author + list in the preamble by \protect\author{...}}% + \else + \ClassWarningNoLine{cc}{No \protect\author\space given}% + \fi}{} + \@ifundefined{@authorhead}{\extractauthorheadfr@m@author}{}} +\let\@title\relax +\AtBeginDocument{% + \@ifundefined{@title}{\if@ccpublish + \ClassError{cc}{No \protect\title\space given}{Define a title in + the preamble by \protect\title{...}}% + \else + \ClassWarningNoLine{cc}{No \protect\title\space given}% + \fi}{} + \setbox0\hbox{\small\let\thanks\@gobble + \@ifundefined{@titlehead}{\let\\\ \@title}{\@titlehead}}% + \ifdim\wd0>.7\textwidth + \ClassError{cc}{Title too long for running head.\MessageBreak + Use \protect\titlehead\space to specify\MessageBreak a shortened + title for the headings!}{}% + \fi} +\def\extractaffilsfr@om@author{% + \parindent\z@ + \init@affils + \begin{tabular}{@{}ll@{}}% + \expandafter\extract@affils\@author\and\and\@nil + \end{tabular} + \par +} +\def\init@affils{% + \let\and\relax + \@oddaffiltrue + } +\def\extract@affils#1\and#2\@nil{% + \cc@ifempty{#1}{\let\next\gobble@nil}{% + \extract@affil#1\\\@nil + \let\next\extract@affils}% + \next#2\@nil} +\def\extract@affil#1\\#2\@nil{% + \def\currentaddress{\otheraddress + Current address of \textsc{\ignorespaces#1}:\\}% + \begin{@ffiliation} + \textsc{\ignorespaces#1}\\#2 + \end{@ffiliation} + \affilsep} +\newcommand{\otheraddress}{\end{@ffiliation}\affilsep + \begin{@ffiliation}} +\def\affilsep{% + \if@oddaffil\odd@sep\@oddaffilfalse + \else\even@sep\@oddaffiltrue + \fi + } +\newif\if@oddaffil +\def\odd@sep{&}% +\def\even@sep{\end{tabular}\par\begin{tabular}{@{}ll@{}}}% +\newenvironment{@ffiliation} + {% + \minipage[t]{.48\hsize} + \dimen@\hsize \advance\dimen@ -1.5em + \everypar{\parshape 2 \z@ \hsize 1.5em \dimen@}% + \def\\{\unskip\par}% + } + {\strut\par\medskip\endminipage} +\if@cctextarea +\textwidth=141mm +\@abstrwidth=120mm +\textheight=200mm +\topmargin=0mm +\oddsidemargin=12mm +\evensidemargin=12mm +\marginparwidth=25mm +\headheight=1.25\headheight +\ifnum\@marginmode<\z@\@marginmode\z@\fi +\else +\@abstrwidth0.85\textwidth +\fi +\typeout{Now adjusting margins.} +\ifcase\@marginmode +\AtEndOfClass{% +\oddsidemargin\paperwidth +\advance\oddsidemargin-2in +\advance\oddsidemargin-\textwidth +\advance\oddsidemargin-\evensidemargin} +\or +\AtEndOfClass{% +\oddsidemargin\paperwidth +\advance\oddsidemargin-2in +\advance\oddsidemargin-\textwidth +\evensidemargin=5mm +\advance\oddsidemargin-\evensidemargin} +\or +\AtEndOfClass{% +\oddsidemargin\paperwidth +\advance\oddsidemargin-2in +\advance\oddsidemargin-\textwidth +\oddsidemargin.5\oddsidemargin +\evensidemargin\oddsidemargin} +\fi +\AtEndOfClass{% +\marginparwidth1in +\advance\marginparwidth-5mm +\advance\marginparwidth-2\marginparsep +\ifdim\evensidemargin<\oddsidemargin +\advance\marginparwidth\evensidemargin +\else +\advance\marginparwidth\oddsidemargin +\fi +} +\newskip\headerindent \headerindent=10mm +\newdimen\headrulewidth \headrulewidth.4pt +\def\ps@cc{\let\@mkboth\markboth + \def\@oddhead{\vbox{\hbox to\textwidth{\reset@font\strut + {\small\@cctxt}% + \hfil + {\small + \@ifundefined{@titlehead}{% + \let\\\ % + \@title + }{% + \@titlehead + }}% + \hbox to\headerindent{\hfil\thepage}% + }% + \if@ccpublish\else + \kern2.6\p@ + \hrule\@height\headrulewidth\kern-\headrulewidth + \kern-2.6\p@ + \fi + \vskip\z@ + }% + }% + \def\@oddfoot{} + \def\@evenhead{\vbox{\hbox to\textwidth{\reset@font\strut + \hbox to\headerindent{\thepage\hfil}% + {\small\@authorhead}% + \hfil + {\small\@cctxt}% + }% + \if@ccpublish\else + \kern2.6\p@ + \hrule\@height\headrulewidth\kern-\headrulewidth + \kern-2.6\p@ + \fi + \vskip\z@ + }% + }% + \let\@evenfoot\@oddfoot + } +\AtEndOfClass{\pagestyle{cc}} +\AtEndOfClass{% + \AtBeginDocument{\@onlypreamble{\author{\if@autotitle\maketitle\fi}}} + %\AtBeginDocument{\if@autotitle\maketitle\fi} + \AtEndDocument{\if@autotitle\makeendtitle\fi} + } +\def\fourdigits#1{\ifnum#1<10\relax000#1\else + \ifnum#1<100\relax00#1\else + \ifnum#1<1000\relax0#1\else + #1\fi\fi\fi} +\def\twodigits#1{\ifnum#1<10\relax0#1\else + \ifnum#1<100\relax#1\else + #1\fi\fi} +\def\vertrulea{\rule[-7.583pt]{0pt}{7.583pt}} +\def\vertruleb{\rule{2.25pt}{10.2pt}} +\newtoks\cite@hook +\renewcommand{\maketitle}{% + \global\@topnum\z@ % Prevents figures from going at top of page. + \cite@hook{}% + \if@cchead + \vbox to\z@{\vss + \@ifundefined{r@ccenddocument}{\@tempcnta\z@}{% + \@tempcnta\@ne + \advance\@tempcnta-\@ccfirst + \edef\@tempa{\csname r@ccenddocument\endcsname}% + \ifx\@secondoffive\@@@@undefined% hyperref launches this! + \edef\@tempa{\expandafter\@secondoftwo\@tempa{}{}{}{}{}}% + \else + \edef\@tempa{\expandafter\@secondoffive\@tempa{}{}{}{}{}}% + \fi% + \advance\@tempcnta\@tempa% + }% + \setcounter{page}{\@ccfirst}% + \hbox to\textwidth{% + \vbox to\z@{\vss + \baselineskip=12pt% + \halign{\ixpt##\hfil\cr + comput. complex.~\textbf{\@ccvolume}~(\@ccyear), + \thepage\ -- \pageref{ccenddocument}\cr + \issn/\expandafter\@gobbletwo\@ccyear% + %% use + instead --? + /\twodigits{\@ccnumber}\fourdigits{\thepage}--\the\@tempcnta\ + \$ 1.50+0.20/0\cr}}\hss + \vbox to\z@{\vss + \offinterlineskip% + \halign{##&##\hfil\cr + \vertrulea&\ixpt + \copyright{} Birkh{\"{a}}user Verlag, Basel \@ccyear\cr + \noalign{\hrule} + \vertruleb\hskip1mm&% + \vbox to\z@{\vbox to\z@{\vss + \hbox{\xptsfbx computational complexity}}\vss}% + \cr}}}\vskip47.333pt} + \fi + \hrule\@height\z@ + \vskip2.2ex% 4.0mm + \relax + \begin{center} + \if@ccpublish + \renewcommand{\footnote}[1]{\ClassWarningNoLine{cc}{There are no + footnotes allowed in title or author.\MessageBreak + Think about moving your remark to the acknowledgements}}% + \let\thanks\footnote + \else + \renewcommand{\footnote}[1]{\ClassWarningNoLine{cc}{In title or + author \protect\footnote\space does not work.\MessageBreak + Avoid footnotes or use \protect\thanks}}% + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{% + \rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \fi + {% + \Large\bfseries + \def\\{\penalty-\@M}% + \expandafter\MakeUppercase\expandafter{\@title}% + \par + }% + \@ifundefined{@subtitle}{}{{% + \large\itshape + \@subtitle + \par + }} + \@ifundefined{@version}{}{{% + \large\itshape + \@version + \par + }} + \bigskip + \vskip1.21ex% 2.2mm + \vskip\z@ + {% + \large\scshape + \extractnamesfr@m@author + \par + }% + \if@ccpublish + \ifx\@date\today\else + \ClassWarningNoLine{cc}{Date ignored! (\@date)}% + \fi + \else{% + \vskip1ex + \large\@date\par + }\fi + \def\@tempa{\vskip5.5ex\let\@tempa\relax}% + \expandafter\cc@ifempty\expandafter{\the\@abstract@toks}{% + \ifvoid\@abstract + \if@abstractoptional + \ClassWarningNoLine{cc}{Missing abstract}% + \else + \ClassError{cc}{Missing abstract} + {Define an abstract in the preamble using + \protect\begin{abstract} ... \protect\end{abstract}.}% + \fi + \else + \@tempa\leavevmode\unvbox\@abstract\par + \fi + }{% + \ifvoid\@abstract\else + \ClassWarningNoLine{cc}{Two abstracts, + using the one defined by \protect\Abstract}% + \fi + \global\setbox\@abstract + \@abstr{\ccabstractname} + \the\@abstract@toks + \end@abstr + \@tempa\leavevmode\unvbox\@abstract\par + } + \ifvoid\@keywords + \if@keywordsoptional + \ClassWarningNoLine{cc}{Missing keywords}% + \else + \ClassError{cc}{Missing keywords} + {Define keywords in the preamble using + \protect\begin{keywords} ... \protect\end{keywords}.}% + \fi + \else + \@tempa\leavevmode\unvbox\@keywords\par + \fi + \ifvoid\@subject + \if@subjectoptional + \ClassWarningNoLine{cc}{Missing subject classification}% + \else + \ClassError{cc}{Missing subject classification} + {Define a subject classification in the preamble using + \protect\begin{subject} ... \protect\end{subject}.}% + \fi + \else + \@tempa\leavevmode\unvbox\@subject\par + \fi + \@thanks + \ifx\@tempa\relax\vskip3ex\fi + \end{center} + \thispagestyle{empty} + \setcounter{footnote}{0}% + \global\let\maketitle\relax + \global\let\thanks\@gobble + \global\let\@thanks\relax + \global\let\author\@notprerr + \global\let\title\@notprerr + \global\let\abstract\@notprerr + \global\let\Abstract\@notprerr + \global\let\keywords\@notprerr + \global\let\subject\@notprerr + \global\let\titlehead\@notprerr + \global\let\authorhead\@notprerr + \global\let\received\@notprerr + \vskip\z@ + \par\@afterindentfalse\@afterheading + } +\let\@maketitle\@undefined +\let\and\@undefined +\babel\def\ManuscriptReceived{Manuscript received }[% + german=Manuskript erhalten: ,% + french=Manuscrit re\c{c}u: ] +\newcommand{\makeendtitle}{% + \par + \parindent\z@ + \bigskip + \@ifundefined{@received}{}{% + \noindent{\small + \ManuscriptReceived\@received + \par}% + \medskip + }% + {\small + \extractaffilsfr@om@author + }% + %%\clearpage + \gdef\makeendtitle{\ClassWarning{cc}{\protect\makeendtitle\space + multiply used!}}% + } +\endinput +%% +%% End of file `cclayout.sty'. +\end{filecontents*} +\begin{filecontents*}{ccproof.sty} +%% +%% This is file `ccproof.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `ccproof,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\ProvidesPackage{ccproof}[2000/02/29 v2.05 + proof environments for cc. Michael Nuesken, Bonn.] +\RequirePackage{theorem} +\RequirePackage{thcc} +\RequirePackage{ccqed} +\newcommand{\Qed}{\@qedtrue\qed}% +\newtoks\everyproof \everyproof{} +\theoremstyle{ccproof} +\theorembodyfont{} +\newtoks\prooftitle +\newtheorem{pr@@f}{\the\prooftitle} +\newenvironment{namedproof}[2][\qedsymbol]{% + \save@set@qed + \prooftitle{#2}% + \def\@tempa{#1}% + \def\@tempc{\qedsymbol}% + \ifx\@tempa\@tempc\relax\else\let\qedsymbol\@tempa\fi% + \the\everyproof \pr@@f + }{% + \qed\restore@qed + \endpr@@f} +\babel\def\Proof{Proof}[german=Beweis,french=Preuve] +\newenvironment{proof}{\namedproof{\Proof}}{\endnamedproof} +\endinput +%% +%% End of file `ccproof.sty'. +\end{filecontents*} +\begin{filecontents*}{ccqed.sty} +%% +%% This is file `ccqed.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `ccqed,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\ProvidesPackage{ccqed}[2000/02/29 v2.05 + right-justified end-of-proof mark, + based on Paul Taylor's QED.sty of 24 June 1995] +\def\qed{\protect\@qed{$\qedsymbol$}} +\def\qedsymbol{\square} +\newif\ifAutoQED\AutoQEDfalse +\def\parag@pushright#1{{% + \parfillskip\z@ + \widowpenalty\@M + \displaywidowpenalty\@M + \finalhyphendemerits\z@ + \hbox@pushright + #1% + \par}}% +\def\hbox@pushright{% + \unskip + \nobreak + \hfil + \penalty50 + \hskip.2em + \null + \hfill +}% +\def\vbox@pushright#1{\expandafter\message % (2 Jan 1994) + {QED.sty could be improved in this case + (line \the\inputlineno): please ask}% + \page@pushright{#1}}% +\newif\if@qed\@qedfalse +\def\save@set@qed{\let\saved@ifqed\if@qed\global\@qedtrue}% +\def\restore@qed{\global\let\if@qed\saved@ifqed} +\def\@qed#1{\check@pt@fm@thm +\if@qed + \global\@qedfalse\pushright{#1}% +\else\ifhmode\ifinner\else\par\fi\fi% +\fi} +\def\@pushright#1{% + \ifvmode + \ifinner\vbox@pushright{#1}% + \else \page@pushright{#1}% + \fi + \else\ifmmode\maths@pushright{\hbox{#1}}% + \else\ifinner\hbox@pushright{#1}% + \else\parag@pushright{#1}% + \fi \fi \fi +} +\def\maths@pushright#1{% + \ifinner + \hbox@pushright{#1}% + \else + \eqno#1% + \def\]{$$\ignorespaces}% + \fi +}% +\def\page@pushright#1{% 18 Jan 1994 + %\unpenalty % ineffective + \skip@\lastskip + \ifdim\skip@>\z@ + \unskip + \else\skip@\z@\relax + \fi + %\unpenalty % TeX won't let me do this + \dimen@\baselineskip + \advance\dimen@-\prevdepth + \nobreak + \nointerlineskip + \hbox to\hsize{% + \setbox\z@\null + \ifdim\dimen@>\z@\ht\z@\dimen@\fi + \box\z@ + \hfill + #1}% + \vskip\skip@ +}% +\let\nonqed@thm\@thm +\let\nonqed@endthm\@endtheorem +\def\@thm{\save@set@qed\nonqed@thm} +\def\@endtheorem{\ifAutoQED\qed\fi\restore@qed\nonqed@endthm} +\newbox\qed@box +\def\WillHandleQED{\relax + \ifx\HandleQED\nohandle@qed + \def\pushright{\global\setbox\qed@box\hbox}% + \let\QEDbox\qed@box + \def\HandleQED{\unhbox\QEDbox}% + \aftergroup\check@handle@qed + \else + \let\QEDbox\voidb@x + \fi + } +\def\nohandle@qed{% +\errhelp{One of them is missing: see QED.sty.}% +\errmessage{This environment uses \string\WillHandleQED\space and +\string\HandleQED\space incorrectly}} +\def\check@handle@qed{\relax +\ifvoid\qed@box\else\expandafter\nohandle@qed\fi} +\def\UnHandleQED{% +\let\HandleQED\nohandle@qed +\let\QEDbox\voidb@x +\def\pushright{\protect\@pushright}}% +\UnHandleQED +\ifx\theorem@style\undefined + \def\check@pt@fm@thm{\relax + \ifx\square\undefined + \gdef\square{\bigcirc + \errhelp={Anonymous ftp e-math.ams.com /ams/amsfonts}% + \errmessage{\string\square\space is an AMS symbol}% + \global\let\square\bigcirc}% + \fi + \ifx\theorem@style\undefined + \global\let\check@pt@fm@thm\relax + \else + \errhelp={The macros \@thm and \@endtheorem + need to be re-defined.}% + \errmessage{QED.sty must be loaded AFTER theorem.sty but + before using \string\newtheorem}% + \fi + \global\let\check@pt@fm@thm\relax + }% +\else + \def\check@pt@fm@thm{% + \ifx\square\undefined + \def\square{\bigcirc + \errhelp={Anonymous ftp e-math.ams.com /ams/amsfonts}% + \errmessage{\string\square\space is an AMS symbol}% + \global\let\square\bigcirc}% + \fi + \global\let\check@pt@fm@thm\relax + }% +\fi +\DeclareOption{auto-QED}{\AutoQEDtrue}% +\DeclareOption{explicit-QED}{\AutoQEDfalse}% +\DeclareOption{black-square}{\def\qedsymbol{\blacksquare}}% +\DeclareOption{open-square}{\def\qedsymbol{\square}}% +\ProcessOptions\relax +\newif\if@resettagsleft@ +\let\standardqed\qed +\def\rescueqed{\qquad\qedsymbol\vphantom{\standardqed}} +\def\eqnoqed{\eqno\hbox{\standardqed}}%\vphantom{\standardqed}} +\let\ccorg@eqnnum\@eqnnum +\let\ccorg@nonumber\nonumber +\def\eqnarrayqed{% + \global\@eqnswtrue + \global\let\nonumber\relax + \addtocounter{equation}\m@ne + \gdef\@eqnnum{\llap{$\qedsymbol$\vphantom{\standardqed}}% + \global\let\nonumber\ccorg@nonumber + \global\let\@eqnnum\ccorg@eqnnum}} +\def\tagqed{\tag*{\iftagsleft@ + \hskip\displaywidth\llap{$\qedsymbol$}\hskip-\displaywidth% + \else$\qedsymbol$\fi}\vphantom{\standardqed}} +\def\simpletagqed{\iftagsleft@\global\@resettagsleft@true\fi + \global\tagsleft@false + \tag*{$\qedsymbol$}\vphantom{\standardqed}} +\def\aftersplitqed{\global\let\endsplit\@endsplit} +\let\ccorg@endsplit\endsplit +\def\@endsplit{\ccorg@endsplit\qed\global\let\endsplit\ccorg@endsplit}% +\def\noqed{} +\def\@ifcurrenv#1#2{\def\@tempa{#1}\ifx\@tempa\@currenvir\relax + \let\next#2\fi} +\renewenvironment{displaymath}{$$}{$$\@ignoretrue} +\renewcommand{\[}{\begin{displaymath}} +\renewcommand{\]}{\end{displaymath}} +\if@ams +\def\qed{% + \if@resettagsleft@ + \global\tagsleft@true + \global\@resettagsleft@false + \fi + \let\next\standardqed + \@ifcurrenv{displaymath}\eqnoqed + \@ifcurrenv{equation}\noqed + \@ifcurrenv{eqnarray}\noqed + \@ifcurrenv{eqnarray*}\eqnarrayqed + \@ifcurrenv{equation*}\tagqed + \@ifcurrenv{split}\aftersplitqed + \@ifcurrenv{multline}\noqed + \@ifcurrenv{multline*}\simpletagqed + \@ifcurrenv{gather}\noqed + \@ifcurrenv{gather*}\tagqed + \@ifcurrenv{align}\noqed + \@ifcurrenv{align*}\tagqed + \@ifcurrenv{alignat}\noqed + \@ifcurrenv{alignat*}\tagqed + \next} +\else +\def\qed{% + \let\next\standardqed + \@ifcurrenv{displaymath}\eqnoqed + \@ifcurrenv{equation}\noqed + \@ifcurrenv{eqnarray}\noqed + \@ifcurrenv{eqnarray*}\eqnarrayqed + \next} +\fi +\endinput +%% +%% End of file `ccqed.sty'. +\end{filecontents*} +\begin{filecontents*}{ccreltx.sty} +%% +%% This is file `ccreltx.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `ccreltx,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{ccreltx}[2002/05/22 v2.05 + computational complexity, reactivate ltthm. + Michael Nuesken, Bonn.] +%%% From File: ltthm.dtx +\def\newtheorem#1{% + \@ifnextchar[{\@othm{#1}}{\@nthm{#1}}} +\def\@nthm#1#2{% + \@ifnextchar[{\@xnthm{#1}{#2}}{\@ynthm{#1}{#2}}} +\def\@xnthm#1#2[#3]{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}\@newctr{#1}[#3]% + \expandafter\xdef\csname the#1\endcsname{% + \expandafter\noexpand\csname the#3\endcsname \@thmcountersep + \@thmcounter{#1}}% + \global\@namedef{#1}{\@thm{#1}{#2}}% + \global\@namedef{end#1}{\@endtheorem}}} +\def\@ynthm#1#2{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}% + \global\@namedef{#1}{\@thm{#1}{#2}}% + \global\@namedef{end#1}{\@endtheorem}}} +\def\@othm#1[#2]#3{% + \@ifundefined{c@#2}{\@nocounterr{#2}}% + {\expandafter\@ifdefinable\csname #1\endcsname + {\global\@namedef{the#1}{\@nameuse{the#2}}% + \global\@namedef{#1}{\@thm{#2}{#3}}% + \global\@namedef{end#1}{\@endtheorem}}}} +\def\@thm#1#2{% + \refstepcounter{#1}% + \@ifnextchar[{\@ythm{#1}{#2}}{\@xthm{#1}{#2}}} +\def\@xthm#1#2{% + \@begintheorem{#2}{\csname the#1\endcsname}\ignorespaces} +\def\@ythm#1#2[#3]{% + \@opargbegintheorem{#2}{\csname the#1\endcsname}{#3}\ignorespaces} +\def\@thmcounter#1{\noexpand\arabic{#1}} +\def\@thmcountersep{.} +\def\@begintheorem#1#2{\trivlist + \item[\hskip \labelsep{\bfseries #1\ #2}]\itshape} +\def\@opargbegintheorem#1#2#3{\trivlist + \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)}]\itshape} +\def\@endtheorem{\endtrivlist} +\endinput +%% +%% End of file `ccreltx.sty'. +\end{filecontents*} +\begin{filecontents*}{ccthm.sty} +%% +%% This is file `ccthm.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `ccthm,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\ProvidesPackage{ccthm}[2000/02/29 v2.05 + theorem environments for cc. Michael Nuesken, Bonn.] +\newif\if@theoremitemprefixes +\DeclareOption{theoremitemprefixes}{\@theoremitemprefixestrue} +\DeclareOption{notheoremitemprefixes}{\@theoremitemprefixesfalse} +\ExecuteOptions{theoremitemprefixes} +\ProcessOptions\relax +\RequirePackage{theorem}[1995/11/23 v2.2c] +\RequirePackage{thcc} +\RequirePackage{relabel} +\newtoks\everytheorem +\everytheorem{} +\if@theoremitemprefixes +\def\EnumerationInTheorems#1{% + \let\@thm@currentlabel\@empty + \let\@thm@bare@currentlabel\@empty + \let\@@refstepcounter\refstepcounter + \def\refstepcounter##1{% + \let\refstepcounter\@@refstepcounter + \let\@@refstepcounter\@undefined + \refstepcounter{##1}% + \let\@thm@currentlabel\@currentlabel + \protected@edef\@thm@bare@currentlabel{{\csname the##1\endcsname}}% + }% + \def\theenumi{\@roman\c@enumi}% + \def\labelenumi{(\theenumi)}% + \defprefix{enumi}##1{% + %%\Iflabelchanged{#1}{\uselabel{#1}}% + \protect\protect\protect\@@conduselabel + {{\protect\csname the#1\endcsname}}% + {\@thm@bare@currentlabel}{\@thm@currentlabel}% + (##1)}% + %%\def\theenumii{\@alph\c@enumii}% + %%\def\labelenumii{(\theenumii)}% + \defprefix{enumii}##1{% + %%\Iflabelchanged{#1}{\uselabel{#1}}% + \protect\protect\protect\@@conduselabel + {{\protect\csname the#1\endcsname}}% + {\@thm@bare@currentlabel}{\@thm@currentlabel}% + (\theenumi.##1)}% + \def\theenumiii{\@arabic\c@enumiii}% + \def\labelenumiii{(\theenumiii)}% + \defprefix{enumiii}##1{% + %%\Iflabelchanged{#1}{\uselabel{#1}}% + \protect\protect\protect\@@conduselabel + {{\protect\csname the#1\endcsname}}% + {\@thm@bare@currentlabel}{\@thm@currentlabel}% + (\theenumi.\theenumii.##1)}% + %%\def\theenumiv{\@Alph\c@enumiv}% + %%\def\labelenumiv{\theenumiv.}% + \defprefix{enumiv}##1{% + %%\Iflabelchanged{#1}{\uselabel{#1}}% + \protect\protect\protect\@@conduselabel + {{\protect\csname the#1\endcsname}}% + {\@thm@bare@currentlabel}{\@thm@currentlabel}% + (\theenumi.\theenumii.\theenumiii##1)} + } +\else +\def\EnumerationInTheorems#1{% + \def\theenumi{\@roman\c@enumi}% + \def\labelenumi{(\theenumi)}% + \defprefix{enumi}##1{(##1)}% + %%\def\theenumii{\@alph\c@enumii}% + %%\def\labelenumii{(\theenumii)}% + \defprefix{enumii}##1{(\theenumi.##1)}% + \def\theenumiii{\@arabic\c@enumiii}% + \def\labelenumiii{(\theenumiii)}% + \defprefix{enumiii}##1{(\theenumi.\theenumii.##1)}% + %%\def\theenumiv{\@Alph\c@enumiv}% + %%\def\labelenumiv{\theenumiv.}% + \defprefix{enumiv}##1{(\theenumi.\theenumii.\theenumiii##1)} + } +\fi +\def\theorempreamblenn\@thm#1#2{% + \defprefix{#1}##1{#2}% + \EnumerationInTheorems{#1}% + \pagebreak[3]\relax + \the\everytheorem + \@thm{#1}{#2}} +\theorem@bodyfont{\theorempreamblenn} +\theoremstyle{ccnn} +\newtoks\theoremtitle +\newtheorem{namedth@@r@m*}{\the\theoremtitle} +\newenvironment{namedtheorem*}[1]{% + \theoremtitle{#1}\csname namedth@@r@m*\endcsname} +{\csname endnamedth@@r@m*\endcsname} +\babel\def\Answer{Answer}[german=Antwort,french=Reponse] +\newtheorem{answer*}[namedth@@r@m*]{\Answer}% +\babel\def\Assumption{Assumption}[german=Annahme,french=Assomption] +\newtheorem{assumption*}[namedth@@r@m*]{\Assumption} +\babel\def\Claim{Claim}[german=Behauptung,french=Proposition] +\newtheorem{claim*}[namedth@@r@m*]{\Claim} +\babel\def\Conjecture{Conjecture}[german=Vermutung,french=Conjecture] +\newtheorem{conjecture*}[namedth@@r@m*]{\Conjecture} +\babel\def\Convention{Convention}[german=Vereinbarung,french=Convention] +\newtheorem{convention*}[namedth@@r@m*]{\Convention}% +\babel\def\Corollary{Corollary}[german=Korollar,french=Corollaire] +\newtheorem{corollary*}[namedth@@r@m*]{\Corollary} +\babel\def\Counterexample{Counterexample}[% + german=Gegenbeispiel,french=Contre-exemple] +\newtheorem{counterexample*}[namedth@@r@m*]{\Counterexample}% +\babel\def\Definition{Definition}[german=Definition,french=D\'efinition] +\newtheorem{definition*}[namedth@@r@m*]{\Definition} +\babel\def\Exercise{Exercise}[german=Aufgabe,french=Exercice] +\newtheorem{exercise*}[namedth@@r@m*]{\Exercise} +\babel\def\Fact{Fact}[german=Fakt,french=Fait] +\newtheorem{fact*}[namedth@@r@m*]{\Fact} +\babel\def\Hypothesis{Hypothesis}[german=Hypothese,french=Hypoth\`ese] +\newtheorem{hypothesis*}[namedth@@r@m*]{\Hypothesis} +\babel\def\Lemma{Lemma}[german=Lemma,french=Lemme] +\newtheorem{lemma*}[namedth@@r@m*]{\Lemma} +\babel\def\Notation{Notation}[german=Notation,french=Notation] +\newtheorem{notation*}[namedth@@r@m*]{\Notation} +\babel\def\Note{Note}[german=Notiz,french=Note] +\newtheorem{note*}[namedth@@r@m*]{\Note} +\babel\def\Observation{Observation}[% + german=Beobachtung,french=Observation] +\newtheorem{observation*}[namedth@@r@m*]{\Observation} +\babel\def\OpenQuestion{Open Question}[% + german=Offene Frage,french=Question ouverte] +\newtheorem{open*}[namedth@@r@m*]{\OpenQuestion} +\newtheorem{openquestion*}[namedth@@r@m*]{\OpenQuestion} +\babel\def\Problem{Problem}[german=Problem,french=Probl\`eme] +\newtheorem{problem*}[namedth@@r@m*]{\Problem} +\babel\def\Proposition{Proposition}[% + german=Behauptung,french=Proposition] +\newtheorem{proposition*}[namedth@@r@m*]{\Proposition} +\babel\def\Question{Question}[german=Frage,french=Question] +\newtheorem{question*}[namedth@@r@m*]{\Question}% +\babel\def\Remark{Remark}[german=Bemerkung,french=Remarque] +\newtheorem{remark*}[namedth@@r@m*]{\Remark} +\babel\def\Result{Result}[german=Ergebnis,french=R\'esultat] +\newtheorem{result*}[namedth@@r@m*]{\Result} +\babel\def\Theorem{Theorem}[german=Satz,french=Th\'eor\`eme] +\newtheorem{theorem*}[namedth@@r@m*]{\Theorem} +\babel\def\Thesis{Thesis}[german=These,french=Th\`ese] +\newtheorem{thesis*}[namedth@@r@m*]{\Thesis}% +\babel\def\Warning{Warning}[german=Warnung,french=Alerte] +\newtheorem{warning*}[namedth@@r@m*]{\Warning}% +%%\newtheorem{example*}[namedth@@r@m*]{Example}% +\babel\def\Example{Example}[german=Beispiel,french=Exemple] +\newenvironment{example*}[1][]{% + \cc@ifempty{#1} + {\csname namedtheorem*\endcsname{\Example}}% + {\csname namedtheorem*\endcsname{\Example}[#1]}% + \upshape + \let\qedsymbol\eoesymbol + } +{\qed\csname endnamedtheorem*\endcsname} +\def\theorempreamble\@thm#1#2{% + \defprefix{#1}##1{#2~##1}% + \EnumerationInTheorems{#1}% + \pagebreak[3]\relax + \the\everytheorem + \@thm{#1}{#2}} +\theorem@bodyfont{\theorempreamble} +\theoremstyle{cc} +\newtheorem{namedth@@r@m}{\the\theoremtitle} +\if@ccnosepeqncnt +\let\c@namedth@@r@m\c@equation +\def\thenamedth@@r@m{\theequation} +\fi +\newenvironment{namedtheorem}[1] + {\theoremtitle{#1}\namedth@@r@m} + {\endnamedth@@r@m} +\if@standardtheorems +\newtheorem{answer}[namedth@@r@m]{\Answer} +\newtheorem{assumption}[namedth@@r@m]{\Assumption} +\newtheorem{claim}[namedth@@r@m]{\Claim} +\newtheorem{conjecture}[namedth@@r@m]{\Conjecture} +\newtheorem{convention}[namedth@@r@m]{\Convention} +\newtheorem{corollary}[namedth@@r@m]{\Corollary} +\newtheorem{counterexample}[namedth@@r@m]{\Counterexample} +\newtheorem{definition}[namedth@@r@m]{\Definition} +\newtheorem{exercise}[namedth@@r@m]{\Exercise} +\newtheorem{fact}[namedth@@r@m]{\Fact} +\newtheorem{hypothesis}[namedth@@r@m]{\Hypothesis} +\newtheorem{lemma}[namedth@@r@m]{\Lemma} +\newtheorem{notation}[namedth@@r@m]{\Notation} +\newtheorem{note}[namedth@@r@m]{\Note} +\newtheorem{observation}[namedth@@r@m]{\Observation} +\newtheorem{open}[namedth@@r@m]{\OpenQuestion} +\newtheorem{openquestion}[namedth@@r@m]{\OpenQuestion} +\newtheorem{problem}[namedth@@r@m]{\Problem} +\newtheorem{proposition}[namedth@@r@m]{\Proposition} +\newtheorem{question}[namedth@@r@m]{\Question} +\newtheorem{remark}[namedth@@r@m]{\Remark} +\newtheorem{result}[namedth@@r@m]{\Result} +\newtheorem{theorem}[namedth@@r@m]{\Theorem} +\newtheorem{thesis}[namedth@@r@m]{\Thesis} +\newtheorem{warning}[namedth@@r@m]{\Warning} +\newenvironment{example}[1][]{% + \cc@ifempty{#1} + {\namedtheorem{\Example}}% + {\namedtheorem{\Example}[#1]}% + \upshape + \let\qedsymbol\eoesymbol + } +{\qed\endnamedtheorem} +\else +\newtheorem{answer}{\Answer} +\newtheorem{assumption}{\Assumption} +\newtheorem{claim}{\Claim} +\newtheorem{conjecture}{\Conjecture} +\newtheorem{convention}{\Convention} +\newtheorem{corollary}{\Corollary} +\newtheorem{counterexample}{\Counterexample} +\newtheorem{definition}{\Definition} +\newtheorem{exercise}{\Exercise} +\newtheorem{fact}{\Fact} +\newtheorem{hypothesis}{\Hypothesis} +\newtheorem{lemma}{\Lemma} +\newtheorem{notation}{\Notation} +\newtheorem{note}{\Note} +\newtheorem{observation}{\Observation} +\newtheorem{open}{\OpenQuestion} +\newtheorem{openquestion}{\OpenQuestion} +\newtheorem{problem}{\Problem} +\newtheorem{proposition}{\Proposition} +\newtheorem{question}{\Question} +\newtheorem{remark}{\Remark} +\newtheorem{result}{\Result} +\newtheorem{theorem}{\Theorem} +\newtheorem{thesis}{\Thesis} +\newtheorem{warning}{\Warning} +\newtheorem{exampleexample}{\Example} +\newenvironment{example}{% + \exampleexample% + \upshape + \let\qedsymbol\eoesymbol + } +{\qed\endexampleexample} +\fi +\babel\def\ccContinued{continued}[% + german=fortgesetzt,french=continu\'e(e)] +\newenvironment{continued}[1]{% + \csname namedtheorem*\endcsname{\ref{#1} \ccContinued}% + }{\csname endnamedtheorem*\endcsname} +\newenvironment{contexample}[1]{% + \csname namedtheorem*\endcsname{\ref{#1} \ccContinued}% + \upshape + \let\qedsymbol\eoesymbol + } +{\qed\csname endnamedtheorem*\endcsname} +\newcommand{\eoesymbol}{\lozenge} +\endinput +%% +%% End of file `ccthm.sty'. +\end{filecontents*} +\begin{filecontents*}{develop.sty} +% \iffalse meta-comment +% +% Copyright 1998, 2005, Michael Nüsken +% +% develop.sty +% 30-jul-98 ... build from drafting.sty, ported to LateX2e, +% extracted best things ... +% 14-dec-98 ... added \pagestyle-change for signdraft +% 05-feb-99 ... now \ifshowlabels may be used for a `local' control +% 25-may-99 ... added \oopscomment +% 27-oct-99 ... Added \showlabelsfalse to \showoopslist. +% 05-apr-00 ... Replaced several \gray commands by \begingray...\endgray +% so that there is no additional group. +% 12-apr-00 ... Changed \begingray...\endgray due to missing "color +% pop"'s reported by dvips +% 15-dec-00 ... added \invisoops, \todo, \invistodo. \oopscomment +% gives \gray now. +% 19-dec-00 ... added environment draft which disappers in final. But +% we need the package skipenv now. +% 20-dec-00 ... added changed \@setref, shows labelname if \ref missing. +% +% drafting.sty +% 25-mar-92 ... first things +% 06-apr-92 ... more facilities +% 25-aug-92 ... repaired +% 07-apr-94 ... repaired \skipenv; changed \label,\ref,\pageref +% Remark: \onlysections does not work. I don't know why. +% 17-jun-96 ... changed \showlabels, added \dotproofs +% 04-oct-96 ... some small changes (using PSTricks, using \gray now) +% 18-jun-97 ... added \showcommas +% 29-apr-98 ... changed display of \ref, \pageref and \cite under \showlabels +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3a +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3a or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% ----------------------------------------------------------- +% +%<*chartab> +%\fi +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% \iffalse meta-comment +%</chartab> +% \fi + + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{develop}[2000/04/05 v0.99b drafting MNuesken] + +\newif\ifdraft +\DeclareOption{draft}{\drafttrue} +\DeclareOption{final}{\draftfalse} + +\newif\ifoopslist +\newif\ifoops \oopsfalse +\DeclareOption{oopslist}{\oopslisttrue} +\DeclareOption{nooopslist}{\oopslistfalse} + +\newif\ifshowlabels +\DeclareOption{dontshowlabels}{\showlabelsfalse} +\DeclareOption{showlabels}{\showlabelstrue} +\DeclareOption{nolabels}{\showlabelsfalse} +\DeclareOption{labels}{\showlabelstrue} +\newif\ifpstrickslabels \pstrickslabelsfalse +\DeclareOption{nopstrickslabels}{\pstrickslabelsfalse} +\DeclareOption{pstrickslabels}{\pstrickslabelstrue} + +\newif\ifsigndraft +\DeclareOption{signdraft}{\signdrafttrue} +\DeclareOption{dontsigndraft}{\signdraftfalse} + +\newif\ifshowcommas +\DeclareOption{showcommas}{\showcommastrue} +\DeclareOption{dontshowcommas}{\showcommasfalse} + +\newif\ifdraftpagenumbering +\DeclareOption{draftpagenumbering}{\draftpagenumberingtrue} +\DeclareOption{finalpagenumbering}{\draftpagenumberingfalse} + + +\ExecuteOptions{final,nooopslist,labels,signdraft,dontshowcommas,finalpagenumbering} +\ProcessOptions + +\ifdraft\else + \oopslistfalse + \showlabelsfalse + \signdraftfalse + \showcommasfalse +\fi + +\ifpstrickslabels +\RequirePackage{pst-node} +\fi + +% Provide a macro for writing \gray ! +\@ifundefined{gray}{% + \RequirePackage{color}% + \definecolor{mediumgray}{gray}{0.5}% + \definecolor{mediumblack}{gray}{0.1}% + \providecommand{\gray}{\color{mediumgray}}% + \providecommand{\black}{\color{mediumblack}}% + }{}% +\def\begingray{\begingroup\leavevmode\gray{}} +\def\endgray{\endgroup} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Commands to display labels ... +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\developInfo#1#2{}% +\newif\ifwas@inlabel +\def\Fbox#1{{\fboxsep1pt\fbox{\tiny\tt #1}}} +\ifpstrickslabels +\newcounter{flag} +\def\leftflag#1{% + \stepcounter{flag}% + \Rnode{T\theflag}{}% + \marginpar{\Rnode{M\theflag}{\Fbox{#1}}\ncLine{M\theflag}{T\theflag}}% + } +\let\rightflag\leftflag +\else +\expandafter\ifx\csname rput\endcsname\relax +%%% Defs if PSTricks is NOT loaded. +\def\leftflag#1{% + \if@inlabel + \developInfo{develop}{leftflag #1 in label}% + \global\setbox\@labels\hbox{% + \unhbox\@labels + \makebox(0,0){% + \lower-2\baselineskip\hbox{% + \llap{% + \Fbox{#1}% + }% + \hskip-.4pt% + \vrule depth.6\baselineskip + }% + }}% + \else\ifvmode + \ifinner\else + \developInfo{develop}{leftflag #1 vmode outer}% + \marginpar{\rlap{% + \Fbox{#1}% + }% + }% + \fi + \else + \@bsphack + \developInfo{develop}{leftflag #1 hmode}% + \makebox(0,0){% + \lower-2\baselineskip\hbox{% + \llap{% + \Fbox{#1}% + }% + \hskip-.4pt% + \vrule depth.6\baselineskip + }% + }% + \@esphack + \fi\fi + } +\def\rightflag#1{% + \if@inlabel + \developInfo{develop}{rightflag #1 in label}% + \global\setbox\@labels\hbox{% + \unhbox\@labels + \makebox(0,0){% + \lower-2\baselineskip\hbox{% + \rlap{% + \Fbox{#1}% + }% + \hskip-.4pt% + \vrule depth.6\baselineskip + }% + }}% + \else\ifvmode + \ifinner\else + \developInfo{develop}{rightflag #1 vmode outer}% + \marginpar{\rlap{% + \Fbox{#1}% + }% + }% + \fi + \else + \@bsphack + \developInfo{develop}{rightflag #1 hmode}% + \makebox(0,0){% + \lower-2\baselineskip\hbox{% + \rlap{% + \Fbox{#1}% + }% + \hskip-.4pt% + \vrule depth.6\baselineskip + }% + }% + \@esphack + \fi\fi + } +\else +%%% Defs of \labelflag and \bibflag if PSTricks IS loaded. +\typeout{Using PSTricks ...} +\def\leftflag#1{% + \if@inlabel + \developInfo{develop}{leftflag #1 in label}% + \global\setbox\@labels\hbox{% + \unhbox\@labels + \makebox(0,0){% + \lower-1.8\baselineskip\hbox{\gray% + \psset{framesep=.4pt,border=0pt}\rput*[r]{0}{% + \Fbox{#1}% + }% + \hskip-.4pt% + \vrule depth.8\baselineskip + }% + }% + }% + \else\ifvmode + \ifinner\else + \developInfo{develop}{leftflag #1 vmode outer}% + \marginpar{{\gray\Fbox{#1}}}% + \fi + \else + \@bsphack + \developInfo{develop}{leftflag #1 hmode}% + \makebox(0,0){% + \lower-1.8\baselineskip\hbox{\gray% + \psset{framesep=.4pt,border=0pt}\rput*[r]{0}{% + \Fbox{#1}% + }% + \hskip-.4pt% + \vrule depth.8\baselineskip + }% + }% + \@esphack + \ifwas@inlabel\ignorespaces\fi + \fi\fi + } +\def\rightflag#1{% + \if@inlabel + \developInfo{develop}{rightflag #1 in label}% + \global\setbox\@labels\hbox{% + \unhbox\@labels + \makebox(0,0){% + \lower-1.8\baselineskip\hbox{\gray% + \psset{framesep=.4pt,border=0pt}\rput*[l]{0}{% + \Fbox{#1}% + }% + \hskip-.4pt% + \vrule depth.8\baselineskip + }% + }% + }% + \else\ifvmode + \ifinner\else + \developInfo{develop}{rightflag #1 vmode outer}% + \marginpar{{\gray\Fbox{#1}}}% + \fi + \else + \@bsphack + \developInfo{develop}{rightflag #1 hmode}% + \makebox(0,0){% + \lower-1.8\baselineskip\hbox{\gray% + \psset{framesep=.4pt,border=0pt}\rput*[l]{0}{% + \Fbox{#1}% + }% + \hskip-.4pt% + \vrule depth.8\baselineskip + }% + }% + \@esphack + \fi\fi + } +\fi +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Show labels and references ... +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\let\@@label\label +\let\@@ref\ref +\let\@@pageref\pageref +\let\@@cite\cite +\let\@@bibitem\@bibitem +\let\@@lbibitem\@lbibitem + +\newif\ifshowrefs \showrefsfalse +\newif\ifshowcites \showcitesfalse +% \def\ifshowcites{\ifshowrefs} +% \let\showcitestrue\showrefstrue +% \let\showcitesfalse\showrefsfalse +\ifshowlabels + \showrefstrue + \showcitestrue + + \def\@@@label{\protect\@@@@label} + \def\@@@@label#1{\@@label{#1}\ifshowlabels\leftflag{#1}\fi} + \def\@@@ref{\protect\@@@@ref} + \def\@@@@ref#1{\ifshowrefs\expandafter\begingray\fi\ifshowrefs\leavevmode\rightflag{#1}\fi\@@ref{#1}\ifshowrefs\expandafter\endgray\fi} + \def\@@@pageref{\protect\@@@@pageref} + \def\@@@@pageref#1{\ifshowrefs\leavevmode\rightflag{#1}\fi + {{\gray{\@@pageref{#1}}}}} + %%\def\@@@@cite#1#2{\ifshowrefs\rightflag{#1}\fi{{\gray{\@@cite{#1}{#2}}}}} + \def\@@@cite{\@ifnextchar[{\@@@citea}{\@@@citeb}} + \def\@@@citea[#1]#2{\ifshowcites\expandafter\begingray\fi\ifshowcites\rightflag{#2}\fi\@@cite[#1]{#2}\ifshowcites\expandafter\endgray\fi} + \def\@@@citeb#1{\ifshowcites\expandafter\begingray\fi\ifshowcites\rightflag{#1}\fi\@@cite{#1}\ifshowcites\expandafter\endgray\fi} + %%\@ifundefined{c@#2}{{\gray{\tt #1/#2}}}{}% Need to emulate \cite + %%instead of \@cite to get the original label ... + \def\@@@citex[#1][#2]#3{\ifshowcites\expandafter\begingray\fi\ifshowcites\rightflag{#3}\fi\@@citex[#1][#2]{#3}\ifshowcites\expandafter\endgray\fi} + \def\@@@bibitem#1{% + \@@bibitem{#1}\ifshowlabels\leavevmode\rightflag{#1}\ignorespaces\fi} + \def\@@@lbibitem[#1]#2{% + \@@lbibitem[#1]{#2}\ifshowlabels\leavevmode\rightflag{#2}\ignorespaces\fi} + \def\@@@citedata{\protect\@@@@citedata} + \def\@@@@citedata#1{\ifshowcites\expandafter\begingray\fi\ifshowcites\leavevmode\rightflag{#1}\fi\@@citedata{#1}\ifshowcites\expandafter\endgray\fi} + + \long\def\@gobblethree#1#2#3{} + \def\@@@setref#1#2#3{% + \ifx#1\relax + \protect\G@refundefinedtrue + \nfss@text{\reset@font\bfseries ?\texttt{\expandafter\@gobblethree\string#1}?}% + \@latex@warning{Reference `#3' on page \thepage \space + undefined}% + \else + \expandafter#2#1\null + \fi} + + \AtBeginDocument{% + \let\@@label\label \let\label\@@@label + \let\@@ref\ref \let\ref\@@@ref + \let\@@pageref\pageref \let\pageref\@@@pageref + \let\@setref\@@@setref + %%\let\@@cite\cite \let\cite\@@@cite + %%\let\@cite\@@@@cite + \@ifpackageloaded{natbib}{% + \let\@@citex\@citex \let\@citex\@@@citex + }{% + \let\@@cite\cite \let\cite\@@@cite + } + \let\@@bibitem\@bibitem \let\@bibitem\@@@bibitem + \let\@@lbibitem\@lbibitem \let\@lbibitem\@@@lbibitem + \let\@@citedata\@citedata \let\@citedata\@@@citedata + } + \@ifundefined{everyproof}{}{% + \everyproof\expandafter{\the\everyproof + \def\@itemlabel{\rlap{$\circ$}\hskip-\labelsep\hskip\parindent}% + }% + }% +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Show commas ... +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifshowcommas + {% + \uccode`\~`\, + \uppercase{\gdef~}{% + \ifmmode,\else\smash{\textbf{\huge ,}}\fi + }}% + \AtBeginDocument{\catcode`\,\active}% +\fi + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Now: time display ... +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% From now.sty 25-oct-91 +% A macro for time display + +% Calculate hour and minute and define macro \now for time. +\newcount\hour \hour\time\divide\hour60 +\newcount\minute \minute-\hour\multiply\minute60\advance\minute\time +\def\now{$\ifnum\hour<10 0\fi\the\hour + ^{\underline{\ifnum\minute<10 0\fi\the\minute}}$} + +% End now.sty + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Sign draft ... +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newtoks\draftsignature \draftsignature{Entwurf} +\ifsigndraft + \PackageInfo{develop}{% + Signdraft enabled. % + Use \string\draftsignature=\string{Bla\string} to change it.} + \gdef\draft@oddfoot{\rm\footnotesize + \the\draftsignature + \hfil + \thepage + \hfil + \LaTeXe(\texttt{\draft@filename}): \today, \now + } + \gdef\draft@evenfoot{\rm\footnotesize + \LaTeXe(\texttt{\draft@filename}): \today, \now + \hfil + \thepage + \hfil + \the\draftsignature + } + \global\let\@oddfoot\draft@oddfoot + \global\let\@evenfoot\draft@evenfoot + %% TODO: Modify \pagestyle + \let\@@pagestyle\pagestyle + \def\pagestyle#1{\@@pagestyle{#1}% + \let\@oddfoot\draft@oddfoot + \let\@evenfoot\draft@evenfoot} + \let\@@thispagestyle\thispagestyle + \def\thispagestyle#1{% + \expandafter\def\csname ps@@@#1\endcsname{% + \@nameuse{ps@#1} + \let\@oddfoot\draft@oddfoot + \let\@evenfoot\draft@evenfoot + }% + \@@thispagestyle{@@#1}% + } + %% + \let\draft@include\include + \let\draft@filename\jobname + \def\draft@register#1{% + \gdef\draft@filename{}% + \@tfor\draft@x:=#1\do{% + \xdef\draft@filename{\draft@filename\noexpand\string\draft@x}% + }% + } + \def\include#1{% + \draft@register{#1}% +% %Starting \texttt{\draft@filename}\dots +% \addtocontents{toc}{\protect\ifdrafttoc +% \texttt{\draft@filename}\dots\par +% \protect\fi}% + \draft@include{#1}% +% \addtocontents{toc}{\protect\ifdrafttoc +% \dots\texttt{\draft@filename}\par +% \protect\fi}% +% %Ending \texttt{\draft@filename}. +% \clearpage + \global\let\draft@filename\jobname} + +\fi + + +\def\draftpagenumbering#1{% + \global\c@page \@ne \gdef\thepage{\csname @#1\endcsname + \c@page + \protect\ifsigndraft + \protect\rlap{(\protect\texttt{\draft@filename})}% + \protect\fi}} + +\ifsigndraft +\ifdraftpagenumbering + \let\pagenumbering\draftpagenumbering + \pagenumbering{arabic} +\fi +\fi + +\newif\ifdrafttoc \drafttocfalse +\def\drafttableofcontents{\drafttoctrue\tableofcontents\drafttocfalse} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Oopsing ... +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifdraft + \let\oops@label\label + \PackageInfo{develop}{% + While in draft mode, you can use \string\oops\string{bla\string} + to mark critical points in your text (with comment bla). If you + use the option oopslist, then a list of all these is appended to + your document.} + \addtocounter{section}{-1}\refstepcounter{section}% + \global\let\oopsnewline\cl@@ckpt% Bei includes NICHT den fehlenden ... + \newcounter{oops}[section] + \global\let\cl@@ckpt\oopsnewline% ... Teil in der Zählung für oops + % berücksichtigen. + \def\theoops{\thesection.\arabic{oops}} + \newtoks\oopslist \oopslist{\@gobble} + \def\oopsnewline{,\\} + \let\oopschar\bigstar + \newcommand{\genericoops}[1]{% + \ifmmode + \oopschar\text{?`}\oopschar#1\oopschar?\oopschar% + \@temptokena{$#1$}% + \else + $\oopschar$?`$\oopschar$#1$\oopschar$?$\oopschar$% + \@temptokena{#1}% + \fi% + \oopstrue + \addtocounter{oops}{1}% + \edef\@tempa{% + \noexpand\protect\noexpand\oops@label{oops\theoops}% + \noexpand\expandafter + \noexpand\global + \noexpand\expandafter + \noexpand\oopslist + \noexpand\expandafter + {\noexpand\the\noexpand\oopslist + \noexpand\oopsnewline + \relax + $\oopschar$\theoops:\noexpand\pageref{oops\theoops} % + \expandafter\the\@temptokena\unskip + }% + }% + \@tempa\relax + }% + \newcommand{\oops}{\let\oopschar\bigstar\genericoops} + \newcommand{\invisoops}[1]{\let\oopschar\clubsuit + \genericoops{\oopscomment{#1}}} + \newcommand\oopscomment[1]{{\gray #1}}% + \newcommand\showoopslist{% + \ifoops + \section*{Oopslist} + {\showrefsfalse\showcitesfalse + \the\oopslist. + \par} + \fi + } + \ifoopslist + \AtEndDocument{\showoopslist} + \fi + \newenvironment{draft} + {\par\noindent$\oopschar$?`$\oopschar$\gray\small} + {\black$\oopschar$?$\oopschar$\par\ignorespacesafterend} +\else + \newcommand\genericoops[1]{% + \ifmmode + \oopschar\oopschar\oopschar\text{?`}\oopschar#1\oopschar?\oopschar% + \else + $\oopschar\oopschar\oopschar$?`$\oopschar$#1$\oopschar$?$\oopschar$% + \fi% + \PackageError{develop}{% + You used \string\oops, which is reserved for drafts.}{% + Decide your remark.^^JIn a final version, all \string\oops-es + should be decided.}} + \newcommand\showoopslist{\PackageError{develop}{% + You used \string\showoopslist, which is reserved for drafts.}{}} + \newcommand\oopscomment[1]{}% + \newcommand{\oops}{\let\oopschar\bigstar\genericoops} + \newcommand{\invisoops}[1]{} + %% + \RequirePackage{skipenv} + \newenvironment{draft}{}{} + \skipenv{draft} +\fi +\AtBeginDocument{% + \providecommand{\todo}{\protect\oops} + \providecommand{\invistodo}{\protect\invisoops} + \providecommand{\text}{\mbox} + } +\end{filecontents*} +\begin{filecontents*}{relabel.sty} +%% +%% This is file `relabel.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `relabel,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%%% File: relabel.sty +%% Copyright (C) 1998 Michael N\"{u}sken, all rights reserved. +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{relabel}[1998/09/07 v1.01 Relabel. MNuesken] +\newif\if@prefixes +\DeclareOption{prefixes}{\@prefixestrue} +\DeclareOption{noprefixes}{\@prefixesfalse} +\newif\if@bare +\DeclareOption{bare}{\@baretrue} +\DeclareOption{nobare}{\@barefalse} +\ExecuteOptions{prefixes,nobare} +\ProcessOptions\relax +\newcommand*{\Label}[2]{\modify{#2}\label{#1}\revert} +\newcommand*{\modify}[1]{\@bsphack% + \global\let\revert@currentlabel\@currentlabel + \global\let\revert@bare@currentlabel\@bare@currentlabel + \def\@tempb##1{#1} + \protected@edef\@currentlabel{\@tempb{\@currentlabel}}% + \@esphack} +\newcommand*{\revert}{\@bsphack + \global\let\@currentlabel\revert@currentlabel + \global\let\@bare@currentlabel\revert@bare@currentlabel + \@esphack} +\let\revert@currentlabel\relax +\let\revert@bare@currentlabel\relax +\newcommand*{\setcurrentlabel}[1]{% + \protected@edef\@currentlabel{#1}% + \let\@bare@currentlabel\@currentlabel} +\newcommand*{\defprefix}[1]{\if@prefixes + \def\next{\expandafter\def\csname p\string @#1\endcsname}% + \else\def\next{\def\next}\fi\next} +\newcommand*{\useprefix}[1]{\csname p\string @#1\endcsname} +\newcommand*{\uselabel}[1]{\csname p\string @#1\expandafter + \endcsname\csname the#1\endcsname} +\def\defprefixcond#1#2{\defprefix{#1}{\conduselabel{#2}}} +\newcommand*{\Iflabelchanged}[2]{% + \protect\protect\protect\@@conduselabel + {{\protect\csname the#1\endcsname}}% + {{\csname the#1\endcsname}}% + {#2}% + } +\def\conduselabel#1{% obsolete + \protect\protect\protect\@@conduselabel + {{\protect\csname the#1\endcsname}}% + {{\csname the#1\endcsname}}% + {\csname p\string @#1\endcsname{\csname the#1\endcsname}}% + }% +\def\@@conduselabel#1#2#3{{% + \let\protect\relax + \edef\@tempa{#1}% + \edef\@tempc{#2}% + \ifx\@tempa\@tempc\relax\@condlabelfalse\else\@condlabeltrue\fi + \iflonglabel\@condlabeltrue\fi + \ifshortlabel\@condlabelfalse\fi + \if@condlabel #3\fi + }} +\newif\if@condlabel +\newif\iflonglabel \longlabelfalse +\newif\ifshortlabel \shortlabelfalse +\def\short\ref#1{{\shortlabeltrue\ref{#1}}} +\def\whole\ref#1{{\longlabeltrue\ref{#1}}} +\def\quiet\ref#1{\vphantom{\ref{#1}}} +\CheckCommand*\refstepcounter[1]{\stepcounter{#1}% + \protected@edef\@currentlabel + {\csname p@#1\endcsname\csname the#1\endcsname}% +} +\def\refstepcounter#1{\stepcounter{#1}% + \protected@edef\@currentlabel + {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}% + \protected@edef\@bare@currentlabel + {\csname the#1\endcsname}% +} +\if@bare +\let\relabel@label\label +\def\label#1{\ifx\@currentlabel\@bare@currentlabel\else + {\let\@currentlabel\@bare@currentlabel\relabel@label{bare@#1}}% + \fi\relabel@label{#1}} +\def\bare\ref#1{\@ifundefined{r@bare@#1}{\ref{#1}}{\ref{bare@#1}}} +\else +\def\bare{\PackageWarning{relabel}{\string\bare\space disabled! (Use + option bare to enable it.)}} +\fi +\let\@bare@currentlabel\@currentlabel +\endinput +%% +%% End of file `relabel.sty'. +\end{filecontents*} +\begin{filecontents*}{thcc.sty} +%% +%% This is file `thcc.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cc.dtx (with options: `thcc,chartab') +%% +%% This is a generated file. +%% +%% Copyright 2000-2003 +%% Michael N"usken, Joachim von zur Gathen, computational complexity +%% +%% IMPORTANT NOTICE: +%% +%% You are *not* allowed to modify this file. +%% +%% You are *not* allowed to distribute this file. +%% For distribution of the original source see the terms +%% for copying and modification in the file cc.dtx. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{thcc}[2008/03/18 v2.08 + computational complexity, theorem layouts. + Michael Nuesken, Bonn.] +\RequirePackage{theorem}[1995/11/23] +\expandafter\xdef\csname ver@amsthm.sty\endcsname +{2000/02/29 Forbidden by cc.cls/thcc.sty. Not loaded!} +\expandafter\xdef\csname ver@apthm.sty\endcsname +{2000/02/29 Forbidden by cc.cls/thcc.sty. Not loaded!} +\def\activate@shortcite{} +\AtBeginDocument{% + \@ifpackageloaded{cccite}{% + \def\activate@shortcite{\let\cite\shortcite} + }{}% + \@ifpackageloaded{natbib}{% + \def\activate@shortcite{% + \let\cite\citealt + \let\citet\citealt + \let\citep\citealp + }% + }{}% + \if@manualbibliography\def\activate@shortcite{}\fi +} +\def\th@cc{% + \normalfont\slshape + \def\@begintheorem##1##2{\item + [\hskip\labelsep \theorem@headerfont ##1\ ##2.]}% + \def\@opargbegintheorem##1##2##3{\item + [\hskip\labelsep \theorem@headerfont ##1\ ##2\ % + \normalfont({\activate@shortcite{}##3}).]}% + } +\def\th@ccnn{% + \normalfont\slshape + \def\@begintheorem##1##2{\item + [\hskip\labelsep \theorem@headerfont ##1.]}% + \def\@opargbegintheorem##1##2##3{\item + [\hskip\labelsep \theorem@headerfont ##1\ % + \normalfont({\activate@shortcite{}##3}).]}% + } +\def\th@ccproof{% + \normalfont\upshape + \def\@begintheorem##1##2{\item + [\hskip\labelsep \theorem@headerfont ##1.\ \ ]}% + \def\@opargbegintheorem##1##2##3{\item + [\hskip\labelsep \theorem@headerfont ##1\ % + \normalfont({\activate@shortcite{}##3}).\ \ ]}% + } +\def\th@ccalgo{% + \normalfont\upshape + \def\@begintheorem##1##2{\item + [\hskip\labelsep \theorem@headerfont ##1\ ##2.]}% + \def\@opargbegintheorem##1##2##3{\item + [\hskip\labelsep \theorem@headerfont ##1\ ##2.] + {\normalfont##3.\par}}% + } +\def\th@ccalgonn{% + \normalfont\upshape + \def\@begintheorem##1##2{\item + [\hskip\labelsep \theorem@headerfont ##1.]}% + \def\@opargbegintheorem##1##2##3{\item + [\hskip\labelsep \theorem@headerfont ##1.] {\normalfont##3.\par}}% + } +\gdef\theorem@headerfont{\scshape} +\endinput +%% +%% End of file `thcc.sty'. +\end{filecontents*} +\begin{filecontents*}{cc.bst} +% File name: cc.bst +% +% cc.bst style file for BibTeX. +% February 6, 1996 +% This style file provides the following citation facilities: +% Usage in Tex Output: +% file: +% \cite Cook (1990) +% \citeauthor Cook +% \citeyear 1990 +% \citemul Cook (1990, 1991a, 1991b) +% \shortcite Cook 1990 +% \parencite (Cook 1990) +% \nocite + +% It was prepared by modifying previous style files. +% Here are acknowledgements: +%> BibTeX `named' style file for BibTeX version 0.99c, LaTeX version 2.09 +%> Place it in a file called named.bst in the BibTeX search path. (Placing it +%> in the same directory as the LaTeX document should also work.) +%> Support for named citations is provided by named.sty + +%> This version was made by modifying the master file made by +%> Oren Patashnik (PATASHNIK@SCORE.STANFORD.EDU) + +%> Copyright (C) 1985, all rights reserved. +%> Modifications Copyright 1988, Peter F. Patel-Schneider +%> Copying of this file is authorized only if either +%> (1) you make absolutely no changes to your copy, including name, or +%> (2) if you do make changes, you name it something other than +%> btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst. +%> This restriction helps ensure that all standard styles are identical. + +%> There are undoubtably bugs in this style. If you make bug fixes, +%> improvements, etc. please let me know. My e-mail address is: +%> pfps@research.att.com + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { mode s t } + +%FUNCTION {message} +%{ +% duplicate$ top$ +%} + +FUNCTION {output.nonnull} +{ 's := +%%%% "output.nonnull" top$ +%%%% output.state top$ + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ +%%%% { ", " * write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + + "\bibitem[" write$ + label write$ + "]{" write$ + + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {semi.block} +{ %%%%"semi.block" top$ + mid.sentence 'output.state := +} + +%FUNCTION {semi.block} +%{ output.state mid.sentence = +% 'skip$ +% { after.block 'output.state := } +% if$ +%} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.semiblock.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'semi.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\sl " swap$ * "}" * } + if$ +} + +FUNCTION {bold} +{ duplicate$ empty$ + { pop$ "" } + { "{\bf " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + "{\sc " * + numnames 'namesleft := + { namesleft #0 > } + + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := + + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + "}" * +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { "ed.\ " + editor format.names * + } + if$ +} + +FUNCTION {format.editors.reverse} +{ editor empty$ + { "" } + { editor format.names + ", ed." * + } + if$ +} + +FUNCTION {format.editors.simple} +{ editor empty$ + { "" } + { editor format.names } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + + { title "t" change.case$ } + + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } +% { "there's a month but no year in " cite$ * warning$ +% month +% } + { } + if$ + } +% { month empty$ +% {year extra.label * } +% { month " " * year * extra.label *} +% if$ +% } + { year extra.label * } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +%FUNCTION {format.bvolume} +%{ volume empty$ +% { "" } +% { series empty$ +% 'skip$ +% {series emphasize ",\ vol.\ " * volume *} +% if$ +% "volume and number" number either.or.check +% } +% if$ +%} +%FUNCTION {format.bvolume} +%{ volume empty$ +% { "" } +% { series empty$ +% 'skip$ +% {series emphasize "\ " * volume bold *} +% if$ +% "volume and number" number either.or.check +% } +% if$ +%} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "vol." volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +%FUNCTION {format.number.series} +%{ volume empty$ +% { number empty$ +% { series field.or.null } +% { output.state mid.sentence = +% { "number" } +% { "Number" } +% if$ +% number tie.or.space.connect +% series empty$ +% { "there's a number but no series in " cite$ * warning$ } +% { " in " * series * } +% if$ +% } +% if$ +% } +% { "" } +% if$ +%} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { "there's a number but no series in " cite$ * warning$ } + { series "\ " * number bold * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edition" * } + { edition "t" change.case$ " edition" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { pages n.dashify } + { "p." pages tie.or.space.connect } + if$ + } + if$ +} + + +FUNCTION {format.vol.num.year} +{ volume field.or.null bold + number empty$ + 'skip$ + { "(" number * ")\," * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + year empty$ + 'skip$ + { "\ (" * format.date * ")" * } + if$ +} + + +FUNCTION {format.vol.num.pages} +{ volume field.or.null bold + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ",\, pp.\, " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "In " booktitle emphasize * } + { "In " booktitle emphasize * ", " * format.editors * } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + + key empty$ not and + + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.publisher.address} +{ address empty$ + 'publisher + { publisher ", " * address * } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "In {\em " journal * "\/}" * } + if$ + } + { "In " key * } + if$ + " \shortcite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \shortcite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "In {\em " booktitle * "\/}" * } + if$ + } + { "In " key * } + if$ + } + { "In " format.crossref.editor * } + if$ + " \shortcite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + semi.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "\ " * format.vol.num.year * "journal" output.check + format.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors.simple "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + semi.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + format.publisher.address "publisher" output.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + semi.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + semi.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + format.publisher.address "publisher" output.check + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + semi.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + format.publisher.address "publisher" output.check + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + semi.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + address empty$ + { organization publisher new.sentence.checkb + organization output + publisher output + format.date output + } + { address output.nonnull + format.date output +%%%% new.sentence + organization output + publisher output + } + if$ + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + semi.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { address new.block.checka + address output + } + 'skip$ + if$ + } + { organization address new.block.checkb + organization output + address output + } + if$ + format.edition output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + semi.block + format.title "title" output.check + new.block + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors "author" output.check + title howpublished new.semiblock.checkb + format.title output + howpublished new.block.checka + howpublished output + format.date output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + semi.block + format.btitle "title" output.check + new.block + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } +% { format.editors output.nonnull } + { format.editors.reverse output.nonnull } + if$ + semi.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + { publisher new.sentence.checka } + { organization publisher new.sentence.checkb + organization output + } + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + semi.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + semi.block + format.title "title" output.check + new.block + note "note" output.check + format.date output + fin.entry +} + +FUNCTION {default.type} { misc } + + +MACRO {jan} {"January"} +MACRO {feb} {"February"} +MACRO {mar} {"March"} +MACRO {apr} {"April"} +MACRO {may} {"May"} +MACRO {jun} {"June"} +MACRO {jul} {"July"} +MACRO {aug} {"August"} +MACRO {sep} {"September"} +MACRO {oct} {"October"} +MACRO {nov} {"November"} +MACRO {dec} {"December"} + + + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +INTEGERS { et.al.char.used } + +FUNCTION {initialize.et.al.char.used} +{ #0 'et.al.char.used := +} + +EXECUTE {initialize.et.al.char.used} + +FUNCTION {format.lab.names} +{ + 's := + s num.names$ 'numnames := + + mode "cite" = + { numnames #1 = + { s #1 "{vv }{ll}" format.name$ } + { numnames #2 = + { s #1 "{vv }{ll }\& " format.name$ s #2 "{vv }{ll}" format.name$ * } + { s #1 "{vv }{ll }\bgroup \em et al.\egroup " format.name$ } + if$ + } + if$ + } + { numnames #1 = + { s #1 "{ll}" format.name$ } + { numnames #2 = + { s #1 "{ll }\& " format.name$ s #2 "{ll}" format.name$ * } + { s #1 "{ll }\bgroup \em et al.\egroup " format.name$ } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + + { cite$ #1 #3 substring$ } + + { key } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + + { cite$ #1 #3 substring$ } + + { key } + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key empty$ + { organization empty$ + + { cite$ #1 #3 substring$ } + + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ + + { cite$ #1 #3 substring$ } + + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key } + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ + "cite" 'mode := + type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + + "\protect\citeauthoryear{" swap$ * "}{" * + year field.or.null purify$ * % CHANGED - pfps - 15 Feb 1989 + 'label := + + "sort" 'mode := + type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + " " * + year field.or.null purify$ * + sortify 'sort.label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} + +{ calc.label + sort.label + + " " + * + type$ "book" = + + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + + * + + " " + * + year field.or.null sortify + * + " " + * + cite$ + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label last.sort.label next.extra } + +INTEGERS { longest.label.width last.extra.num } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 int.to.chr$ 'last.sort.label := + "" 'next.extra := + #0 'longest.label.width := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.sort.label sort.label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + sort.label 'last.sort.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * "}" * 'label := % CHANGED - pfps 15 Feb 1989 + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ + extra.label 'next.extra := +} + +EXECUTE {initialize.longest.label} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {begin.bib} + +{ et.al.char.used + { "\newcommand{\etalchar}[1]{$^{#1}$}" write$ newline$ } + 'skip$ + if$ + preamble$ empty$ + + 'skip$ + { preamble$ write$ newline$ } + if$ + + "\begin{thebibliography}{}\small" write$ newline$ + +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} +\end{filecontents*} +\begin{filecontents*}{cc2.bst} +%% +%% This is file `cc2.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `,ay,nat,lang,vonx,ed-au,nmft,nmft-sc,nmfted,nmand-rm,dt-beg,yr-par,note-yr,atit-u,vol-bf,volp-com,pgsep-s,jnm-x,pg-bk,isbn,issn,url,url-blk,edpar,edby,edbyy,ppx,ord,amper,and-xcom,etal-it,nfss') +%% ---------------------------------------- +%% *** bst for computational complexity with natbib.sty *** +%% +%% Copyright 1994-2004 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + author + booktitle + chapter + edition + editor + eid + howpublished + institution + isbn + issn + journal + key + language + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + new.block +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {bolden} +{ duplicate$ empty$ + { pop$ "" } + { "\textbf{" swap$ * "}" * } + if$ +} +FUNCTION {scaps} +{ duplicate$ empty$ + { pop$ "" } + { "\textsc{" swap$ * "}" * } + if$ +} +FUNCTION {bib.name.font} +{ scaps } +FUNCTION {bib.fname.font} +{ bib.name.font } +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "editors" } + +FUNCTION {bbl.editor} +{ "editor" } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "edition" } + +FUNCTION {bbl.volume} +{ "volume" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "number" } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "" } + +FUNCTION {bbl.page} +{ "" } + +FUNCTION {bbl.chapter} +{ "chapter" } + +FUNCTION {bbl.techrep} +{ "Technical Report" } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +FUNCTION {format.url} +{ url empty$ + { "" } + { "\urlprefix\url{" url * "}" * } + if$ +} + +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ff~}{vv~}{ll}{, jj}" + format.name$ + bib.name.font + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal emphasize * + } + { + "\&" + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + format.names +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.book.pages} +{ pages "pages" bibinfo.check + duplicate$ empty$ 'skip$ + { bbl.pages * } + if$ +} +FUNCTION {format.isbn} +{ isbn "isbn" bibinfo.check + duplicate$ empty$ 'skip$ + { + new.block + "ISBN " swap$ * + } + if$ +} + +FUNCTION {format.issn} +{ issn "issn" bibinfo.check + duplicate$ empty$ 'skip$ + { + new.block + "ISSN " swap$ * + } + if$ +} + +FUNCTION {select.language} +{ duplicate$ empty$ + 'pop$ + { language empty$ + 'skip$ + { "{\selectlanguage{" language * "}" * swap$ * "}" * } + if$ + } + if$ +} + +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + select.language + } + if$ +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal emphasize * + } + { + "\&" + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {if.digit} +{ duplicate$ "0" = + swap$ duplicate$ "1" = + swap$ duplicate$ "2" = + swap$ duplicate$ "3" = + swap$ duplicate$ "4" = + swap$ duplicate$ "5" = + swap$ duplicate$ "6" = + swap$ duplicate$ "7" = + swap$ duplicate$ "8" = + swap$ "9" = or or or or or or or or or +} +FUNCTION {n.separate} +{ 't := + "" + #0 'numnames := + { t empty$ not } + { t #-1 #1 substring$ if.digit + { numnames #1 + 'numnames := } + { #0 'numnames := } + if$ + t #-1 #1 substring$ swap$ * + t #-2 global.max$ substring$ 't := + numnames #5 = + { duplicate$ #1 #2 substring$ swap$ + #3 global.max$ substring$ + "\," swap$ * * + } + 'skip$ + if$ + } + while$ +} +FUNCTION {n.dashify} +{ + n.separate + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + " (" swap$ * ")" * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + select.language + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + n.dashify + } + { + } + if$ + "pages" bibinfo.check + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + bolden + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + get.bbl.editor + swap$ "," * + " " * swap$ * + swap$ + "," * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + format.issn output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.isbn output + format.book.pages output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.isbn output + format.book.pages output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + format.publisher.address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + crossref missing$ + { format.isbn output } + 'skip$ + if$ + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + format.publisher.address output + format.edition output + format.isbn output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.isbn output + format.issn output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title output + new.block + howpublished "howpublished" bibinfo.check output + new.block + format.url output + new.block + format.note output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.isbn output + format.issn output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title + "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.url output + new.block + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + format.url output + new.block + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal emphasize * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal emphasize * + } + { " \& " * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + { pop$ "????" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ ff{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{URL }" + write$ newline$ + "\providecommand{\selectlanguage}[1]{\relax}" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `cc2.bst'. +\end{filecontents*} diff --git a/Master/texmf-dist/doc/latex/computational-complexity/cc.pdf b/Master/texmf-dist/doc/latex/computational-complexity/cc.pdf Binary files differindex 71930d38607..75de725d3b3 100644 --- a/Master/texmf-dist/doc/latex/computational-complexity/cc.pdf +++ b/Master/texmf-dist/doc/latex/computational-complexity/cc.pdf diff --git a/Master/texmf-dist/doc/latex/computational-complexity/cctemplate.tex b/Master/texmf-dist/doc/latex/computational-complexity/cctemplate.tex index 04769ca12d4..befa5124c71 100644 --- a/Master/texmf-dist/doc/latex/computational-complexity/cctemplate.tex +++ b/Master/texmf-dist/doc/latex/computational-complexity/cctemplate.tex @@ -1,9 +1,8 @@ -\begin{filecontents*}{myrefs.bib} - %% Insert your bibliography file here (if any) +\begin{filecontents*}{\jobname.bib} + %% Insert your bibliography file here \end{filecontents*} -\begin{filecontents}{main.bbl} - %% Replace `main.bbl' by your main file's name + ".bbl" - %% Insert your bbl file here (if any) +\begin{filecontents}{\jobname.bbl} + %% Insert your bbl file here (please also add your bib file above!) \end{filecontents} \documentclass{cc} @@ -12,7 +11,9 @@ %%\ccpublish{}{}{}{} \contact{}% Insert contact email address here. -\received{}% Insert received date here. +\received{}% Insert the date on which you made the original + % submission of your paper to computational complexity, + % in the format \received{8 August 2008}. \title{}% Insert title here. (Use \\ to split lines.) %%\titlehead{}% If necessary insert running head title here. \author{}% Insert author list here. (Each author must be given @@ -42,7 +43,8 @@ %% Insert your acknowledgments here. \end{acknowledge} -\bibliography{}% Insert your bibliography file names here. +\bibliography{journals,\jobname}% Put your bibliography into the above + % filecontents environment! \end{document} diff --git a/Master/texmf-dist/source/latex/computational-complexity/cc.dtx b/Master/texmf-dist/source/latex/computational-complexity/cc.dtx index 7199d8aaf9e..782139bb7bc 100644 --- a/Master/texmf-dist/source/latex/computational-complexity/cc.dtx +++ b/Master/texmf-dist/source/latex/computational-complexity/cc.dtx @@ -15,7 +15,8 @@ % ----------------------------------------------------------- % % Look for %*% in this file, when you try to find \documentclass or -% changeable options. +% changeable options. Look for CC MAIN DATE AND VERSION for main date +% and version. % %<*chartab> %\fi @@ -2090,6 +2091,7 @@ support. \item \DescribeMacro{\received}|\received{|\meta{received date}|}| Preamble command to declare the received date of the manuscript. + Use the format \texttt{8 August 2008}. \item \DescribeMacro{\author}|\author{|\meta{author list}|}| @@ -2627,15 +2629,21 @@ multilingual,english]{cc} % N{\"{u}}sken, now(!) Bonn} % \changes{v2.04}{2006/03/08}{Advanced version to 2.05, Michael % N{\"{u}}sken, Bonn} +% \changes{v2.06}{2007/01/10}{Advanced version to 2.07, Michael +% N{\"{u}}sken, Bonn} +% \changes{v2.07}{2008/03/18}{Advanced version to 2.08, Michael +% N{\"{u}}sken, Bonn} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1995/12/01] \providecommand\ignorespacesafterend{\@ignoretrue} \newif\ifclass \ifx\@currext\@clsextension\classtrue\else\classfalse\fi \ifclass\expandafter\ProvidesClass\else\expandafter\ProvidesPackage\fi -{\ifclass cc\else cc-cls\fi}[2006/10/13 v2.06 - computational complexity - \ifclass document class\else package\fi] +{\ifclass cc\else cc-cls\fi} +[% CC MAIN DATE AND VERSION ON NEXT LINE +2008/03/18 v2.08a +computational complexity +\ifclass document class\else package\fi] % \end{macrocode} % % \subsection{Load auxiliaries} @@ -3152,7 +3160,7 @@ multilingual,english]{cc} \if@natbib \RequirePackage{cc2cite} \if@manualbibliography -\bibpunct{[}{]}{;}{n}{}{,} +\bibstyle@plain%\bibpunct{[}{]}{;}{n}{}{,} \fi \else%@natbib \if@cccite @@ -3372,7 +3380,7 @@ multilingual,english]{cc} % \begin{macrocode} %<*ccaux> \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{ccaux}[2005/08/27 v2.05 +\ProvidesPackage{ccaux}[2008/03/18 v2.08 computational complexity, auxiliaries. Michael Nuesken, Bonn.] % \end{macrocode} @@ -3511,6 +3519,7 @@ multilingual,english]{cc} % happens in algorithms...)} % \changes{v2.04}{2005/11/03}{\cs{ccaddto}, \cs{ccaddtoINDOC}, % \cs{ccaddtonow} now use only global defs.)} +% \changes{v2.07}{2008/03/18}{Changed \cs{cc@ifempty} to long, MN, Bonn} % \begin{macrocode} % \providecommand{\extdef}[2]{% % \ifx#1\@undefined\relax\def#1{}\fi% @@ -3566,7 +3575,7 @@ multilingual,english]{cc} } % \@ifempty and \@ifnotempty are def'd in amsmath.sty, but we need it % here. -\def\cc@ifempty#1{\cc@xifempty#1@@..\@nil} +\long\def\cc@ifempty#1{\cc@xifempty#1@@..\@nil} \long\def\cc@xifempty#1#2@#3#4#5\@nil{% \ifx#3#4\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} \long\def\cc@ifnotempty#1{\cc@ifempty{#1}{}} @@ -3797,6 +3806,8 @@ multilingual,english]{cc} % the contents in a box, preceded by its argument as a title. % \changes{v2.04}{2006/03/06}{Changed @abstr to allow for very % long abstracts, MN, Bonn} +% \changes{v2.07}{2008/03/18}{Changed @abstr to decrease spacing in +% embedded lists and forbid nested lists, MN, Bonn} % \begin{macrocode} \newdimen\@abstrwidth \newenvironment{@abstr}[1]{% @@ -3811,6 +3822,17 @@ multilingual,english]{cc} \advance\@totalleftmargin \leftmargin \parshape \@ne \@totalleftmargin \linewidth \small + \def\@listi{\leftmargin\leftmargini + \topsep 2\p@ \@plus2\p@ \@minus1\p@ + \parsep 1\p@ + \itemsep \parsep}% +%%% \let\origcclist\list +%%% \def\list{\ifnum\@listdepth>0\relax\@toodeep\fi\origcclist}% + \let\@listii\@toodeep + \let\@listiii\@toodeep + \let\@listiv\@toodeep + \let\@listv\@toodeep + \let\@listvi\@toodeep \textbf{#1. }\ignorespaces} {% %\strut @@ -4550,7 +4572,7 @@ multilingual,english]{cc} }% %%\clearpage \gdef\makeendtitle{\ClassWarning{cc}{\protect\makeendtitle\space - multiply used!}} + multiply used!}}% } %</cclayout> % \end{macrocode} @@ -4809,7 +4831,7 @@ multilingual,english]{cc} % \begin{macrocode} %<*thcc> \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{thcc}[2000/02/29 v2.05 +\ProvidesPackage{thcc}[2008/03/18 v2.08 computational complexity, theorem layouts. Michael Nuesken, Bonn.] % \end{macrocode} @@ -4824,20 +4846,23 @@ multilingual,english]{cc} % The macro |\shortcite| might have been provided by the package % \Lpackage{cccite} or predecessors of it. If not we let it be equal % to the normal |\cite|. +% \changes{v2.07}{2007/01/11}{Added support for manualbibliography. +% Michael N{\"{u}}sken, Bonn} % \begin{macrocode} \def\activate@shortcite{} \AtBeginDocument{% \@ifpackageloaded{cccite}{% \def\activate@shortcite{\let\cite\shortcite} - }{} + }{}% \@ifpackageloaded{natbib}{% \def\activate@shortcite{% \let\cite\citealt \let\citet\citealt \let\citep\citealp - } - }{} - } + }% + }{}% + \if@manualbibliography\def\activate@shortcite{}\fi +} % \end{macrocode} % % This is the standard theorem layout for \cc. The theorem text is @@ -7348,7 +7373,7 @@ multilingual,english]{cc} % \end{macrocode} % |\citemul| is composed from the previous commands. % \begin{macrocode} -\def\citemul#1{\@mcite #1\@\@ } +\def\citemul#1{\@mcite #1\@\@} \def\@mcite#1,#2\@\@{\citeauthor{#1}\hskip3pt(\citeyear{#1,#2})} % \end{macrocode} % \begin{macro}{\@citex} @@ -7520,14 +7545,15 @@ multilingual,english]{cc} % % This file (\file{\filename}) has version number \fileversion, last % revised \filedate. +% \changes{v2.07}{2007/01/11}{Changed bibliography basename to +% \cs{jobname}. Michael N{\"{u}}sken, Bonn} % \begin{macrocode} %<*cctemplate> -\begin{filecontents*}{myrefs.bib} - %% Insert your bibliography file here (if any) +\begin{filecontents*}{\jobname.bib} + %% Insert your bibliography file here \end{filecontents*} -\begin{filecontents}{main.bbl} - %% Replace `main.bbl' by your main file's name + ".bbl" - %% Insert your bbl file here (if any) +\begin{filecontents}{\jobname.bbl} + %% Insert your bbl file here (please also add your bib file above!) \end{filecontents} \documentclass{cc} @@ -7538,7 +7564,9 @@ multilingual,english]{cc} %%\ccpublish{}{}{}{} \contact{}% Insert contact email address here. -\received{}% Insert received date here. +\received{}% Insert the date on which you made the original + % submission of your paper to computational complexity, + % in the format \received{8 August 2008}. \title{}% Insert title here. (Use \\ to split lines.) %%\titlehead{}% If necessary insert running head title here. \author{}% Insert author list here. (Each author must be given @@ -7575,7 +7603,8 @@ multilingual,english]{cc} %% Insert your acknowledgments here. \end{acknowledge} -\bibliography{}% Insert your bibliography file names here. +\bibliography{journals,\jobname}% Put your bibliography into the above + % filecontents environment! \end{document} diff --git a/Master/texmf-dist/tex/latex/computational-complexity/cc.cls b/Master/texmf-dist/tex/latex/computational-complexity/cc.cls index 3e7439e4b41..bf245c0405c 100644 --- a/Master/texmf-dist/tex/latex/computational-complexity/cc.cls +++ b/Master/texmf-dist/tex/latex/computational-complexity/cc.cls @@ -39,9 +39,11 @@ \newif\ifclass \ifx\@currext\@clsextension\classtrue\else\classfalse\fi \ifclass\expandafter\ProvidesClass\else\expandafter\ProvidesPackage\fi -{\ifclass cc\else cc-cls\fi}[2006/10/13 v2.06 - computational complexity - \ifclass document class\else package\fi] +{\ifclass cc\else cc-cls\fi} +[% CC MAIN DATE AND VERSION ON NEXT LINE +2008/03/18 v2.08a +computational complexity +\ifclass document class\else package\fi] \RequirePackage{ccaux} \DeclareOption{localnumbering}{\@longarticletrue} \DeclareOption{globalnumbering}{\@longarticlefalse} @@ -305,7 +307,7 @@ \if@natbib \RequirePackage{cc2cite} \if@manualbibliography -\bibpunct{[}{]}{;}{n}{}{,} +\bibstyle@plain%\bibpunct{[}{]}{;}{n}{}{,} \fi \else%@natbib \if@cccite diff --git a/Master/texmf-dist/tex/latex/computational-complexity/ccaux.sty b/Master/texmf-dist/tex/latex/computational-complexity/ccaux.sty index 93f256b6dcb..3cebac7e979 100644 --- a/Master/texmf-dist/tex/latex/computational-complexity/ccaux.sty +++ b/Master/texmf-dist/tex/latex/computational-complexity/ccaux.sty @@ -35,7 +35,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{ccaux}[2005/08/27 v2.05 +\ProvidesPackage{ccaux}[2008/03/18 v2.08 computational complexity, auxiliaries. Michael Nuesken, Bonn.] \newif\if@longarticle \@longarticletrue @@ -162,7 +162,7 @@ \fi \fi } -\def\cc@ifempty#1{\cc@xifempty#1@@..\@nil} +\long\def\cc@ifempty#1{\cc@xifempty#1@@..\@nil} \long\def\cc@xifempty#1#2@#3#4#5\@nil{% \ifx#3#4\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} \long\def\cc@ifnotempty#1{\cc@ifempty{#1}{}} diff --git a/Master/texmf-dist/tex/latex/computational-complexity/cccite.sty b/Master/texmf-dist/tex/latex/computational-complexity/cccite.sty index 459effe5ab4..efcf1b79f8a 100644 --- a/Master/texmf-dist/tex/latex/computational-complexity/cccite.sty +++ b/Master/texmf-dist/tex/latex/computational-complexity/cccite.sty @@ -51,7 +51,7 @@ \def\citeyear#1{\def\citeauthoryear##1##2{##2}\@citex{#1}} \def\shortcite#1{\def\citeauthoryear##1##2{##1\ ##2}\@citex{#1}} \def\parencite#1{\def\citeauthoryear##1##2{(##1\ ##2)}\@citex{#1}} -\def\citemul#1{\@mcite #1\@\@ } +\def\citemul#1{\@mcite #1\@\@} \def\@mcite#1,#2\@\@{\citeauthor{#1}\hskip3pt(\citeyear{#1,#2})} \def\@citex#1{\@tempswafalse% \if@filesw\immediate\write\@auxout{\string\citation{#1}}\fi diff --git a/Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty b/Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty index 1a935bc8cac..6d37db5cb7f 100644 --- a/Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty +++ b/Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty @@ -90,6 +90,17 @@ \advance\@totalleftmargin \leftmargin \parshape \@ne \@totalleftmargin \linewidth \small + \def\@listi{\leftmargin\leftmargini + \topsep 2\p@ \@plus2\p@ \@minus1\p@ + \parsep 1\p@ + \itemsep \parsep}% +%%% \let\origcclist\list +%%% \def\list{\ifnum\@listdepth>0\relax\@toodeep\fi\origcclist}% + \let\@listii\@toodeep + \let\@listiii\@toodeep + \let\@listiv\@toodeep + \let\@listv\@toodeep + \let\@listvi\@toodeep \textbf{#1. }\ignorespaces} {% %\strut @@ -572,7 +583,7 @@ }% %%\clearpage \gdef\makeendtitle{\ClassWarning{cc}{\protect\makeendtitle\space - multiply used!}} + multiply used!}}% } \endinput %% diff --git a/Master/texmf-dist/tex/latex/computational-complexity/thcc.sty b/Master/texmf-dist/tex/latex/computational-complexity/thcc.sty index a8b751dd098..e7aa3f8eaa7 100644 --- a/Master/texmf-dist/tex/latex/computational-complexity/thcc.sty +++ b/Master/texmf-dist/tex/latex/computational-complexity/thcc.sty @@ -35,7 +35,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{thcc}[2000/02/29 v2.05 +\ProvidesPackage{thcc}[2008/03/18 v2.08 computational complexity, theorem layouts. Michael Nuesken, Bonn.] \RequirePackage{theorem}[1995/11/23] @@ -47,15 +47,16 @@ \AtBeginDocument{% \@ifpackageloaded{cccite}{% \def\activate@shortcite{\let\cite\shortcite} - }{} + }{}% \@ifpackageloaded{natbib}{% \def\activate@shortcite{% \let\cite\citealt \let\citet\citealt \let\citep\citealp - } - }{} - } + }% + }{}% + \if@manualbibliography\def\activate@shortcite{}\fi +} \def\th@cc{% \normalfont\slshape \def\@begintheorem##1##2{\item |