summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/bibtex/bib/computational-complexity/journals.bib97
-rw-r--r--Master/texmf-dist/doc/latex/computational-complexity/cc-cls-inline.tex7173
-rw-r--r--Master/texmf-dist/doc/latex/computational-complexity/cc.pdfbin714837 -> 711490 bytes
-rw-r--r--Master/texmf-dist/doc/latex/computational-complexity/cctemplate.tex16
-rw-r--r--Master/texmf-dist/source/latex/computational-complexity/cc.dtx71
-rw-r--r--Master/texmf-dist/tex/latex/computational-complexity/cc.cls10
-rw-r--r--Master/texmf-dist/tex/latex/computational-complexity/ccaux.sty4
-rw-r--r--Master/texmf-dist/tex/latex/computational-complexity/cccite.sty2
-rw-r--r--Master/texmf-dist/tex/latex/computational-complexity/cclayout.sty13
-rw-r--r--Master/texmf-dist/tex/latex/computational-complexity/thcc.sty11
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
index 71930d38607..75de725d3b3 100644
--- a/Master/texmf-dist/doc/latex/computational-complexity/cc.pdf
+++ b/Master/texmf-dist/doc/latex/computational-complexity/cc.pdf
Binary files differ
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