From af14dce2ed8e2cd8157783358de054b25e3e07c3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 28 Jul 2011 23:04:33 +0000 Subject: computational-complexity 2.19 (28jul11) git-svn-id: svn://tug.org/texlive/trunk@23259 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/computational-complexity/cc.dtx | 1561 +++++++++++++++----- .../source/latex/computational-complexity/cc.ins | 1 + 2 files changed, 1190 insertions(+), 372 deletions(-) (limited to 'Master/texmf-dist/source/latex/computational-complexity') diff --git a/Master/texmf-dist/source/latex/computational-complexity/cc.dtx b/Master/texmf-dist/source/latex/computational-complexity/cc.dtx index 0e40084c68c..1f613c04cd6 100644 --- a/Master/texmf-dist/source/latex/computational-complexity/cc.dtx +++ b/Master/texmf-dist/source/latex/computational-complexity/cc.dtx @@ -1,6 +1,12 @@ % \iffalse meta-comment % -% Copyright 2000-2008 computational complexity, Michael Nüsken +% Copyright 2000-2011 computational complexity, +% Michael Nüsken, . +% +% Current maintainer: Michael Nüsken, . +% +% In case of problems, please contact the current maintainer. +% If you derive a variant or a bugfix, please also contact the author. % % This file is part of computational complexity macro package. % @@ -23,7 +29,7 @@ % %<*chartab> %\fi -% \CheckSum{6340} +% \CheckSum{7880} %% \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 @@ -745,9 +751,9 @@ ISBN: 0-201-43311-7 ~ \meta{personal macros and packages} ~ - |%\ccpublish{}{}{}{}| + |%\ccsps{year=2011,volume=20,...}| |\contact{|\meta{contact email address}|}| - |\received{|\meta{received date}|}| + |\submitted{|\meta{submission date}|}| |\title{|\meta{title}|}| %%|%\titlehead{|\meta{running head title}|}| |\author{|\meta{author list}|}| @@ -772,7 +778,8 @@ ISBN: 0-201-43311-7 ~ |\begin{acknowledge}| \quad\meta{acknowledgments} - |\end{acknowledge}| + |\end{acknowledge}| + |%\noacknowledge% must if none!| ~ |\bibliography{|\meta{bibliography files}|}| ~ @@ -788,21 +795,25 @@ ISBN: 0-201-43311-7 \email{faa@ford.somewhere.edu}\\ \homepage {http://www.somewhere.edu/~faa/} + \currentaddress Somewhere Sunny\\ SAMOA\\ \email{faa@sunny.samoa.gov} + \and Second B. Author\\ Faculty of Computer Science\\ Anyplace College\\ Anyplace, CANADA Z9Z 1X1\\ \email{author@pearson.anyplace.edu} + \otheraddress Private address of \textsc{Second B. Author}:\\ Green Road\\ Notown, MOON\\ + \and Third C. van~Author\\ Electrical Engineering Division \\ @@ -899,12 +910,21 @@ D: \short\ref{rs-D}, %*% This is the beginning of the documentation! \errorcontextlines9999 \documentclass[noccpublish% -,multilingual,english,% +,textarea=cc1, +,multilingual,australian% %*% Insert options here: %,ccite% %,noams% ]{cc} +\newcommand{\emailmaintenance}{\email{ccmaintainer@computational-complexity.org}} +\renewcommand{\emailmaintenance}{\email{nuesken@bit.uni-bonn.de}} +\newcommand{\emailsubmit}{\email{submit@computational-complexity.org}} +\newcommand{\emailtest}{\email{cctest@computational-complexity.org}} + +\newcommand\equal{\protect\equalb}% +\newcommand\equalb{=}% + % do not use cccite but get it's file information! {\let\ccorgProvidesPackage\ProvidesPackage \def\ProvidesPackage#1[#2]{\ccorgProvidesPackage{#1}[#2]\endinput}% @@ -945,7 +965,7 @@ D: \short\ref{rs-D}, \newcommand{\ccLINK}{% \url{http://www.linkspringer.com/?genre=article&issn=1016-3328}% \begingroup\urlstyle{tt}\Url} -\newcommand{\cchomepage}{\url{http://www-math.upb.de/~aggathen/cc/}% +\newcommand{\cchomepage}{\url{http://www.computational-complexity.org/}% \begingroup\urlstyle{tt}\Url} \newcommand{\ps}{PostScript\texttrademark} \providecommand{\texttrademark}{} @@ -1169,12 +1189,13 @@ D: \short\ref{rs-D}, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% paper data ... -% \received{29 September 1999\\ +% \submitted{29 September 1999\\ % Revised 16 February 2000.\\ % Revised \today} -\date{6 March 2000/29 August 2005/\today} -\contact{nuesken@bit.uni-bonn.de}% or cc@upb.de +\date{6 March 2000/% 29 August 2005/ + 27 July 2011/\today} +\contact{nuesken@bit.uni-bonn.de}% \title{Preparing articles for\\\cc{}}%% ??? final versions ??? \subtitle{User's manual} @@ -1186,7 +1207,7 @@ D: \short\ref{rs-D}, 53113 Bonn, Germany\\ \email{nuesken@bit.uni-bonn.de}\\ - \homepage{http://www.math.upb.de/~nuesken/} + \homepage{http://cosec.bit.uni-bonn.de/~nuesken/} } \begin{abstract} @@ -1223,7 +1244,7 @@ D: \short\ref{rs-D}, } \else% \footnotetext[0]{This version includes the source code. The table of - contents is on the last page.} + contents is on the last page(s).} \fi% @@ -1263,8 +1284,13 @@ the Editor-in-Chief. \end{quotation} Information about \cc{} can be found at the journal's homepage \cchomepage{}. There you also find a pointer to the publisher's page -for \cc{}: \ccLINK{}, which contains the current editorial board, -information about subscription and prices, and more. +for \cc{}: +\begin{center} + \small + \ccLINK{}, +\end{center} +which contains the current editorial board, information about +subscription and prices, and more. The following instructions only apply to final versions of \emph{accepted} manu\-scripts for \cc{}. For a submission, you may @@ -1346,15 +1372,14 @@ year = {about 300 BC}, \subsection{Testing your final file} Once your source file is prepared like this, send it via email to -\email{cctest@upb.de}. It will then automatically be processed in a -defined setup: |latex|, |bibtex|, |latex|, |latex|, |dvips| are -executed unless an error occurs. (Of course, |latex| calls -\LaTeXe{}.) The log files and the resulting \ps{} file will be sent -back to you. (This usually takes only a couple of minutes.) Verify -whether everything is ok. If so, submit your \LaTeX{} file as the -final version to \email{cc@upb.de}. Mail sent to -\email{cctest@upb.de} is not read by anyone; only the software -described above is automatically executed. +\emailtest{}. It will then automatically be processed in a defined +setup: |latex|, |bibtex|, |latex|, |latex|, |dvips| are executed +unless an error occurs. (Of course, |latex| calls \LaTeXe{}.) The +log files and the resulting \ps{} file will be sent back to you. +(This usually takes only a couple of minutes.) Verify whether +everything is ok. If so, submit your \LaTeX{} file as the final +version to \emailsubmit{}. Mail sent to \emailtest{} is not read by +anyone; only the software described above is automatically executed. @@ -1395,32 +1420,33 @@ this. \end{table} Most \meta{personal macros and packages} can be freely used. If your -file is processed successfully when sent to \email{cctest@upb.de}, -then your macros and the packages you used should be ok. +file is processed successfully when sent to \emailtest{}, then your +macros and the packages you used should be ok. \SpecialUsageIndex{\contact}The \meta{contact email address} is the email address of the contact author. It is required for \cc{} to facilitate communication between the publisher and the authors. -\SpecialUsageIndex{\received}The author received a message -acknowledging receipt of the manuscript, with the \meta{received - date}. \SpecialUsageIndex{\title}The \meta{title} should be broken -into balanced lines by |\\| if necessary. -\SpecialUsageIndex{\author}The \meta{author list} contains the names -and addresses of the authors separated by -\SpecialUsageIndex{\and}|\and|, each address consisting of a line with -full author name and some address lines separated by |\\|. There -should be no font or size changing commands. If an address line is -very long and not nicely broken, |\newline| forces a break. Note the -use of the tilde (|~|) in the name of the last author. It guarantees -that |van~Author| is considered as her last name. Email and home page -can be given as last line(s) of an address using the commands +\SpecialUsageIndex{\received}\SpecialUsageIndex{\submitted}The author +received a message acknowledging receipt of the manuscript, with the +\meta{received date} or \meta{submission date}. +\SpecialUsageIndex{\title}The \meta{title} should be broken into +balanced lines by |\\| if necessary. \SpecialUsageIndex{\author}The +\meta{author list} contains the names and addresses of the authors +separated by \SpecialUsageIndex{\and}|\and|, each address consisting +of a line with full author name and some address lines separated by +|\\|. There should be no font or size changing commands. If an +address line is very long and not nicely broken, |\newline| forces a +break. Note the use of the tilde (|~|) in the name of the last +author. It guarantees that |van~Author| is considered as her last +name. Email and home page can be given as last line(s) of an address +using the commands \SpecialUsageIndex{\email}|\email{|\meta{email-address}|}| and \SpecialUsageIndex{\homepage}|\homepage{|\meta{www-address}|}|. To give a different current address, use \SpecialUsageIndex{\currentaddress}|\currentaddress| to separate the lines of the latter from the standard address. It produces a new -address block en\-titled -|Current address of \textsc{|\meta{present author name}|}:\\| . % +address block en\-titled |Current address of \textsc{|\meta{present + author name}|}:\\| . % The command \SpecialUsageIndex{\otheraddress}|\otheraddress| can be used to specify another address block for the present author without such a heading. An \meta{abstract}, \meta{keywords} and a @@ -1501,7 +1527,7 @@ In rare occasions, you might prefer an unnumbered theorem: Of course, we are not restricted to theorems: \begin{texexample} \begin{lemma} - \label{lemma} + \label{res:lemma} We can also have lemmas. \begin{enumerate} \item\label{lemma:1} @@ -1540,7 +1566,7 @@ Note \pagebreak[3] that an example is always terminated by a lozenge no) symbol. The other theorem-like environments can be continued in this way:\nobreak \begin{texexample} -\begin{continued}{lemma} +\begin{continued}{res:lemma} This continues the lemma. \end{continued} \end{texexample} @@ -1706,7 +1732,7 @@ must precede your own bibliography file!) Since this will be updated only sporadically, the latest conference proceedings may be missing here. -\subsubsection{\dots{} without \Lpackage{natbib}} +\subsubsection{\dots without \Lpackage{natbib}} If the package \Lpackage{natbib} is not installed on your system for some obscure reason, you can issue the option \Lclo{cccite} to switch @@ -1801,7 +1827,7 @@ must not be used. (The same holds for its derivative \item email address of contact author, \item key words, \item subject classification, - \item received date. + \item submission or received date. \end{itemize} Please make sure you have filled them appropriately. \item Manuscripts are in \emph{(American) English}. Authors are @@ -1873,26 +1899,102 @@ must not be used. (The same holds for its derivative \subsection{Commands for the journal editor and publishers} \label{sec:editor} -The journal editor and publishers will insert the publishing data. -The declaration -\begin{center} - \SpecialUsageIndex{\ccpublish}% - |\ccpublish{|\meta{year}|}{|\meta{volume}|}|%^^A - |{|\meta{number}|}{|\meta{first page}|}| -\end{center} -will be inserted next to author and title information. Further, the -commands \SpecialUsageIndex{\electronic}|\electronic| and -\SpecialUsageIndex{\printed}|\printed| switches the ISSN to the -electronic or printed version, respectively. +The journal editor and publishers will insert the publishing data +(right after the \cs{documentclass}). + +For Springer Pubishing Services there is a special macro \cs{ccsps} to +handle the entire production flow. Its argument is a comma separated +list of |key=value| pairs and |key| singletons. This list is +interpreted by the package \Lpackage{xkeyval}. A singleton |key| in +the list is interpreted as |key=|\meta{default}, and causes the key +|key| to be set to its default value (provided it has one). In +particular, for boolean keys this |key| always means |key=true|. +\begin{verse} + \SpecialUsageIndex{\ccsps}% + |\ccsps{|\\ + | issuestage,|\\ + | year=|\meta{year}|,|\\ + | volume=|\meta{volume}|,|\\ + | issue=|\meta{issue}|,|\\ + | firstpage=|\meta{firstpage}|,|\\ + | |\dots\\ + |}| +\end{verse} +There are a lot more options to be chosen: +\begin{itemize} +\item The key |submitted| sets the received date. Note, that this + setting overrides the \cs{received} date. +\item The boolean key |revisionstage| turns on (or off) the revision + features. Initially set to |false|. + \begin{itemize} + \item The key |DOImsnr| sets the manuscript number. It can be set + to any value. This is the \emph{Article No.} occuring in the + helper strip. Default |??|. + \item The boolean keys |TYPESET|, |DISK|, |LE| and |CP| set certain + hooks in the help strip. Initially set to |false|. + \item The key |draftcopy| can be set to any value to be used as a + watermark. Default |Uncorrected proof|. + \item The boolean key |grid| turns on (or off) the alignment + grid. Initially set to |false|. + \end{itemize} +\item The boolean key |issuestage| turns on (or off) the display of + publication details like volume, issue, pages, doi and + more. Initially set to |false|. + \begin{itemize} + \item The key |year| sets the publishing year. Default |\the\year|. + \item The key |volume| sets the volume. Default |??|. + \item The key |issue| sets the issue. Default |??|. + \item The key |firstpage| sets the number of the first page. Default + |1|. + \item The key |copyholder| sets the copyright holder. The default + is |Springer Basel AG| or |The Author(s)| for normal or open + access, respectively. + \item The key |doisuffix| sets the doi to + |10.1007/s00037-|\meta{year}|-|\meta{doisuffix}. Alternatively, + the key |doi| sets the entire doi. Initially set to + |10.1007/s00037-|\meta{year}|-????-?|. + \item The key |onlinedate| sets the online date. Default |??|. + \item Deprecated: The key |onlinefirstyear| is the same as the + publishing year, see |year|. + \item Deprecated: The key |coveryear| sets the (two digit) cover + year for use in the article identifier (above the DOI). Default + last two digits of |\the\year|. + \end{itemize} +\item The boolean key |pdfpage| turns on (or off) all settings for + producing the online pdf. In particular, if it is off then the + helper strip, linenumbers and a draft watermark are displayed. + Initial settings is |false|. +\item The boolean key |xlink| turns on (or off) settings for + hyperlinks. Initial settings is |false|. +\end{itemize} + +For publication in \cc{} abstract, keywords and subjection +classification are usually required. The commands \cs{noabstract}, +\cs{nokeywords} and \cs{nosubject} may be used to turn off errors +raised by missing abstract, keywords and subject classification, +respectively. +\begin{sloppypar} + \scriptsize OUT-OF-DATE: Prior to mid 2011 the declaration + \begin{center} + \SpecialUsageIndex{\ccpublish}% + |\ccpublish{|\meta{year}|}{|\meta{volume}|}|%^^A + |{|\meta{number}|}{|\meta{first page}|}| + \end{center} + was inserted next to author and title information. Further, the + commands \SpecialUsageIndex{\electronic}|\electronic| and + \SpecialUsageIndex{\printed}|\printed| switches the ISSN to the + electronic or printed version, respectively. +\end{sloppypar} + \subsection{Disclaimer} \label{sec:disclaimer} The macros are not guaranteed to be free of errors, and any bugs, inconsistencies, and suggestions for further improvement or other -comments should be reported to \email{cc@upb.de}. +comments should be reported to \emailmaintenance{}. \condbreak{1cm} @@ -1918,16 +2020,42 @@ If there are any |\newtheorem| commands then turn them off and use the \Lclass{cc} theorem environments described in \ref{sec:thm+proof}. (Note that there is an environment \Lenv{namedtheorem} for theorem-like environments with unforeseen names. You can also use -this in a |\newenvironment| definition if necessary.) If there are -definitions for proofs or qed signs then turn them off, too; the -\Lclass{cc} class provides these things. +this in a definition like +\begin{verse} + |\newenvironment{bla}{\theorem}{\endtheorem}|\\ + |\newenvironment{foo}{\namedtheorem{Foo}}{\endnamedtheorem}| +\end{verse} +if necessary.) If there are definitions for proofs or qed signs then +turn them off, too; the \Lclass{cc} class provides these things. + +For publication in \cc{} you should next switch to author-year +citations. To do so: +\begin{itemize} +\item remove the option |nonatbib|, +\item add your |.bib|-file in + \begin{verse} + |\begin{filecontents*}{\jobname.bib}| \\ + | |\dots\\ + |\end{filecontents*}| + \end{verse} + before |\documentclass|, +\item throw away your handwritten environment \Lenv{thebibliography} + if any and the command |\bibliographystyle| if present, and replace + it or your |\bibliography| command with |\bibliography{|\meta{name + of your |.bib|-file}|}|. +\item Then run |latex|, |bibtex| and |latex| twice and +\item adjust the text at the citation points: In particular, replace + all |\cite| commands with either |\citet| for textual, |\citep| for + parenthetical or |\citealt| for use inside parentheses. (Well, + |\cite| is usually equivalent to |\citet|. However, changing all + shows that it's done.) +\end{itemize} -Optional: For better readability you are asked to switch to the new -citation scheme. To do so: add your |.bib|-file, throw away your -handwritten environment \Lenv{thebibliography} and the command -|\bibliographystyle| if present, and replace it with -|\bibliography{|\meta{name of your |.bib|-file}|}|. Then run |latex| -twice and adjust the text at the citation points. +Finally, you may want to switch to more intelligent |\ref|, see +\ref{sec:label+ref}. To do so just remove the option |noprefixes| and +adapt text at your |\ref| commands, usually by removing words like +Theorem, Section before them and parentheses around equation +references. \section{Make your document portable} @@ -1936,9 +2064,9 @@ twice and adjust the text at the citation points. In order to make your \Lclass{cc} source file portable to persons who did not yet install the \Lclass{cc} class, include the file |cc-cls-inline.tex|. This file can be found on the journal's homepage -\url{http://www-math.upb.de/~aggathen/cc/}. Please do not forget to -remove the following changes prior to sending your file to \cc{}, it -will have no effect there. You have two options: +\url{http://www.computational-complexity.org/}. Please do not forget +to remove the following changes prior to sending your file to \cc{}, +it will have no effect there. You have two options: \begin{enumerate} \item Simply include the entire file |cc-cls-inline.tex| in your file just before the |\documentclass| command. This has the drawback @@ -1959,7 +2087,6 @@ will have no effect there. You have two options: \item \label{macro:documentclass} \DescribeMacro{\documentclass}|\documentclass[|\meta{options}|]{cc}| - Possible \meta{options} are: \begin{itemize} \item any option from the \Lclass{article} document class. @@ -1970,9 +2097,9 @@ Possible \meta{options} are: \Lclo{notitlepage}, \Lclo{onecolumn}, \Lclo{twocolumn}, \Lclo{leqno}, \Lclo{fleqn}, \Lclo{openbib}, though not all of them might produce nice results.) Note that all the \Lclo{*paper} - options invoke the option \Lclo{nocctextarea}, you need to add - \Lclo{cctextarea} after the \Lclo{*paper} option to get the same - text area as in \cc{} then. + options invoke the option \Lclo{textarea\protect\equal none}, you need to add + \Lclo{textarea\equal cc} (or similar, see below) after the \Lclo{*paper} + option to get the same text area as in \cc{} then. \item any option from the \AMS{} packages (if they are not disabled by \Lclo{noams}). (\Lclo{intlimits}, \Lclo{nointlimits}, \Lclo{sumlimits}, \Lclo{nosumlimits}, \Lclo{namelimits}, @@ -1993,13 +2120,29 @@ Further, the following \meta{options} are available. They are mainly intended to deactivate certain standard features of the class, in cases where these cause trouble. \begin{itemize} -\item \Lclo{ams} (default): use the \AMS{} packages - \Lpackage{amsmath}, \Lpackage{amsfonts}, \Lpackage{amssymb}. +\item \Lclo{ams} (default): use the \AMS{} packages \Lpackage{amsmath} + (which includes \Lpackage{amstext}, \Lpackage{amsgen}, + \Lpackage{amsbsy}, \Lpackage{amsopn}), \Lpackage{amsfonts}, + \Lpackage{amssymb}. \item \Lclo{noams}: do not use the \AMS{} packages. \item \Lclo{cclayout}, \Lclo{nocclayout} turn the \cc{} layout on or off. -\item \Lclo{cctextarea}, \Lclo{nocctextarea} turn the \cc{} text area - on or off. They are only effective with \Lclo{cclayout}. +\item \Lclo{textarea\equal cc} (default with \Lclo{ccpublish}) always + takes the newest cc text area from the following: + \begin{itemize} + \item \Lclo{textarea\equal cc2} (119mm $\times$ 45.5pc) picks the cc + text area (after July 2011), + \item \Lclo{textarea\equal cc1} (141mm $\times$ 200mm) picks the cc + text area (before July 2011), + \end{itemize} + For downward compatibility the option \Lclo{cctextarea} equaling + \Lclo{textarea\equal cc} and \Lclo{nocctextarea} equaling + \Lclo{textarea\equal none} still work. All these options have no + effect with \Lclo{nocclayout}. +\item \Lclo{textarea\equal full} makes the text area as large as + possible (with $\frac12$in margin to all sides). +\item \Lclo{textarea\equal none} takes whatever is there. This is + same as \Lclo{nocctextarea}. \item \Lclo{noothermargins}, \Lclo{classicalmargins}, \Lclo{printmargins}, \Lclo{balancedmargins}: Choose margin mode. \Lclo{noothermargins} leaves the margins alone, @@ -2028,14 +2171,17 @@ cases where these cause trouble. \item \Lclo{onecolumnbibliography} (default), \Lclo{twocolumnbibliography}: With these options you can choose one or two columns for the bibliography. +\item \Lclo{twocolumnendtitle} (default), \Lclo{onecolumnendtitle}: + With these options you can choose one or two columns for the + bibliography. \item \Lclo{cctheorems} (default): theorem like environments are defined as described. \item \Lclo{nocctheorems}: theorem like environments are \emph{not} defined at all. \item \Lclo{prefixes} (default): references to theorems, equations, - and so on, come with prefixes, e.g.\ - \SpecialUsageIndex{\ref}|\ref{lemma}| produces `\ref{lemma}' rather - than only `\bare\ref{lemma}', + and so on, come with prefixes, e.g.\ + \SpecialUsageIndex{\ref}|\ref{res:lemma}| produces `\ref{res:lemma}' + rather than only `\bare\ref{res:lemma}', \item \Lclo{noprefixes}: references behave as in standard \LaTeXe{}, \item \Lclo{bare} (default): \SpecialUsageIndex{\label}|\label| produces two labels instead of one, a long form for @@ -2047,7 +2193,7 @@ cases where these cause trouble. \item \Lclo{theoremitemprefixes} (default): references to subtopics of a theorem (or lemma ...) consist of the theorem reference and the item reference, for example, |\ref{lemma:2}| produces - `\ref{lemma:2}'. In fact, between \ref{lemma} and the following + `\ref{lemma:2}'. In fact, between \ref{res:lemma} and the following theorem or equation (\ref{myfirst} in our case) you would have obtained `\short\ref{lemma:2}'. This short form can be forced by \SpecialUsageIndex{\short\string\ref}|\short\ref{lemma:2}|. You can @@ -2091,10 +2237,12 @@ support. Preamble command to specify the email address of the contact author. This is required for publications in \cc{}. -\item \DescribeMacro{\received}|\received{|\meta{received date}|}| +\item \DescribeMacro{\received}|\received{|\meta{submission date}|}| + \DescribeMacro{\submitted}|\submitted{|\meta{submission date}|}| - Preamble command to declare the received date of the manuscript. - Use the format \texttt{8 August 2008}. + Preamble command to declare the submission or received date of the + manuscript. (Both variants do exactly the same!) Use the format + \texttt{27 July 2011}. \item \DescribeMacro{\author}|\author{|\meta{author list}|}| @@ -2143,7 +2291,8 @@ support. \item \DescribeMacro{\date}|\date{|\meta{date}|}| Preamble command, default is |\today|. This date is \emph{not} used - when the article is published in \cc{}. + when the article is published in \cc{}, but it is put in the header + when using the option \Lclo{noccpublish}. \item \DescribeEnv{abstract}|\begin{abstract}| \meta{text} |\end{abstract}| @@ -2166,7 +2315,8 @@ support. \meta{acknowledgments} |\end{acknowledge}| Environment for acknowledgments. Funding information can also be - included here. + included here. If there are no acknowledgements you \emph{must} put + \cs{noacknowledge} instead. \item \DescribeMacro{\bibliography}|\bibliography{|\meta{list of bibliography files}|}| @@ -2353,14 +2503,19 @@ bibliography entry. \pagebreak[3] -\item \DescribeMacro{\ccpublish}|\ccpublish{|\meta{year}|}|% - |{|\meta{volume}|}{|\meta{number}|}{|\meta{first page}|}| - - Preamble command to define \meta{year}, \meta{volume}, - \meta{number}, and \meta{first page} of the final publication - \emph{by the editor}. Not intended for use by anybody else. Note - that this forces the document class options \Lclo{autotitle} and - \Lclo{ccpublish}. +\item \DescribeMacro{\ccsps}|\ccsps{|\meta{keyvaluelist}|}| + + Preamble command to define publishing service information. See + \ref{sec:editor} for details. + +%%% \item \DescribeMacro{\ccpublish}|\ccpublish{|\meta{year}|}|% +%%% |{|\meta{volume}|}{|\meta{number}|}{|\meta{first page}|}| +%%% +%%% Deprecated preamble command to define \meta{year}, +%%% \meta{volume}, \meta{number}, and \meta{first page} of the final +%%% publication \emph{by the editor}. Not intended for use by +%%% anybody else. Note that this forces the document class options +%%% \Lclo{autotitle} and \Lclo{ccpublish}. \item \DescribeMacro{\electronic}|\electronic|, \DescribeMacro{\printed}|\printed| @@ -2652,6 +2807,20 @@ multilingual,english]{cc} % setrefrange in ccalgo, Michael N{\"{u}}sken, Bonn} % \changes{v2.14}{2010/10/14}{Advanced version to 2.15, added % cc4svjour, Michael N{\"{u}}sken, Bonn} +% \changes{v2.15}{2010/10/21}{Advanced version to 2.15b, added ccref +% built from moved code, Michael N{\"{u}}sken, Bonn} +% \changes{v2.16}{2011/07/05}{Advanced version to 2.16, added more +% new cctextarea options, changed default. Michael N{\"{u}}sken, Bonn} +% \changes{v2.17b}{2011/07/06}{Advanced version to 2.17b, removed a +% bug. Michael N{\"{u}}sken, Bonn} +% \changes{v2.17c}{2011/07/13}{Advanced version to 2.17c, removed a +% bug. Michael N{\"{u}}sken, Bonn} +% \changes{v2.18}{2011/07/15}{Advanced version to 2.17c, removed a +% bug. Michael N{\"{u}}sken, Bonn} +% \changes{v2.19}{2011/07/28}{Advanced version to 2.19, many +% modifications for publication service (search sps), removed some +% comments. It is plan to advance to 3.0 soon. Michael +% N{\"{u}}sken, Bonn} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1995/12/01] \providecommand\ignorespacesafterend{\@ignoretrue} @@ -2660,7 +2829,7 @@ multilingual,english]{cc} \ifclass\expandafter\ProvidesClass\else\expandafter\ProvidesPackage\fi {\ifclass cc\else cc-cls\fi} [% CC MAIN DATE AND VERSION ON NEXT LINE -2010/10/14 v2.15 +2011/07/28 v2.19 computational complexity \ifclass document class\else package\fi] % \end{macrocode} @@ -2762,6 +2931,8 @@ computational complexity \DeclareOption{manualbibliography}{\@manualbibliographytrue} \DeclareOption{twocolumnbibliography}{\@twocolumnbibliographytrue} \DeclareOption{onecolumnbibliography}{\@twocolumnbibliographyfalse} +\DeclareOption{twocolumnendtitle}{\@twocolumnendtitletrue} +\DeclareOption{onecolumnendtitle}{\@twocolumnendtitlefalse} % \end{macrocode} % With \Lenv{natbib} you can choose whether you want multiple % citations unsorted, sorted or compressed. @@ -2770,6 +2941,8 @@ computational complexity \def\@natbibsort{}} \DeclareOption{sort}{% \def\@natbibsort{\PassOptionsToPackage{sort}{natbib}}} +\DeclareOption{compress}{% + \def\@natbibsort{\PassOptionsToPackage{compress}{natbib}}} \DeclareOption{sort&compress}{% \def\@natbibsort{\PassOptionsToPackage{sort&compress}{natbib}}} % \end{macrocode} @@ -2809,8 +2982,8 @@ computational complexity \PassOptionsToPackage{notheoremitemprefixes}{ccthm}} % \end{macrocode} % \cc{} requires received date, author, title, abstract, keywords, -% and subject classification. With \Lclo{noccpublish} these things -% are optional. +% subject classification and acknowledgements. With +% \Lclo{noccpublish} these things are optional. % \begin{macrocode} \DeclareOption{ccpublish}{\@ccpublishtrue} \DeclareOption{noccpublish}{\@ccpublishfalse} @@ -2821,12 +2994,19 @@ computational complexity % version and with all options \Lclo{*paper}. % \changes{v2.01}{2001/02/22}{Added options cctextarea/nocctextarea. % Michael N{\"{u}}sken, Paderborn} +% \changes{v2.16}{2011/07/05}{Added options cctextarea=2/cctextarea=1. +% Michael N{\"{u}}sken, Bonn} % % \Lclo{classicalmargins} are as with the old \file{cc.sty}. % \Lclo{printmargins} are as in the printed version, while % \Lclo{balancedmargins} uses equal |\oddsidemargin| and % |\evensidemargin|. % \begin{macrocode} +\DeclareOption{textarea=full}{\@textareaversion\m@ne} +\DeclareOption{textarea=none}{\@textareaversion\z@} +\DeclareOption{textarea=cc1}{\@textareaversion\@ne} +\DeclareOption{textarea=cc2}{\@textareaversion\tw@} +\DeclareOption{textarea=cc}{\@cctextareatrue} \DeclareOption{cctextarea}{\@cctextareatrue} \DeclareOption{nocctextarea}{\@cctextareafalse} \DeclareOption{noothermargins}{\@marginmode\m@ne} @@ -2875,7 +3055,7 @@ computational complexity OT1,nolatin1,nobabel,% localnumbering,bare,% leqno,ams,ccpublish,cclayout,autotitle,ccsectioning,% - onecolumnbibliography,natbib,sort&compress,% + onecolumnbibliography,twocolumnendtitle,natbib,sort&compress,% cctheorems,theoremitemprefixes,noseparateequationcounting,% ccalgorithms} \else @@ -2883,7 +3063,7 @@ computational complexity OT1,nolatin1,nobabel,% localnumbering,bare,% leqno,ams,noccpublish,nocclayout,noautotitle,ccsectioning,% - onecolumnbibliography,natbib,sort&compress,% + onecolumnbibliography,twocolumnendtitle,natbib,sort&compress,% cctheorems,theoremitemprefixes,noseparateequationcounting,% ccalgorithms} \fi @@ -2951,8 +3131,7 @@ computational complexity \if@Tone \RequirePackage[T1]{fontenc} \fi -%%german.sty is not allowed. Use global options: -%%multilingual,german. +% 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 @@ -2981,19 +3160,12 @@ computational complexity \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! +\def\square{{\fboxsep.3em{\vbox{\hbox{\fbox{}}\vskip0pt}}}}% +\let\text\mbox \fi % \end{macrocode} % \begin{macro}{\email} @@ -3043,15 +3215,16 @@ computational complexity % \end{macrocode} % \begin{macro}{\ps@cc} % A variant of the page style \texttt{cc} is defined. Use -% |\newcommand{\cctitlehead}{|\meta{title text}|}| to specify the +% |\renewcommand{\cctitlehead}{|\meta{title text}|}| to specify the % text for the running heads, and -% |\newcommand{\ccauthorhead}{|\meta{author(s)}|}| to specify the +% |\renewcommand{\ccauthorhead}{|\meta{author(s)}|}| to specify the % authors for the running heads. % \begin{macrocode} \newskip\headerindent \headerindent=10mm \newdimen\headrulewidth \headrulewidth.4pt \def\cctitlehead{} \def\ccauthorhead{} +\let\ps@ccfirst\ps@empty \def\ps@cc{\let\@mkboth\markboth \def\@oddhead{\vbox{\hbox to\textwidth{\reset@font\strut \null @@ -3194,7 +3367,7 @@ computational complexity % \end{macrocode} % % \begin{environment}{thebibliography} -% We redefine this envrionment in order to reflect the citation +% We redefine this environment in order to reflect the citation % scheme given by \Lpackage{cccite} and to allow also the % alternative style using numbers. % \changes{v0.90}{1999/11/11}{Added \cs{condbreak\{8ex\}}. Michael @@ -3280,49 +3453,14 @@ computational complexity % % \subsection{Referencing} % -% \begin{macro}{\defprefix} -% \LaTeX{} already defined the features for nice references, although -% they were not really used. The package \Lpackage{relabel} provides -% some macros to use these features. Especially, a macro -% |\defprefix| is defined which allows to define a prefix for the -% label of a counter: -% |\defprefix{|\meta{counter}|}|\meta{definition}. -% \changes{v2.01}{2000/09/15}{Internationalized prefixes. -% Michael N{\"{u}}sken, Paderborn} -% \changes{v2.01}{2000/11/28}{Added \cs{chaptername}. -% Michael N{\"{u}}sken, Paderborn} +% All this stuff has been moved to a seperate file: \Lpackage{ccref}. +% \changes{v2.15}{2010/10/21}{Moved this from the main part into a +% seperate file.} +% % \begin{macrocode} -\RequirePackage{relabel}[1998/09/07 v1.01] -\let\nref\ref -% \end{macrocode} -% \end{macro} -% We define prefixes for the standard counters. -% \begin{macrocode} -\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{ccref} % \end{macrocode} +% % \subsection{Theorems, Proofs and Algorithms} % % All these things are imported. @@ -3334,16 +3472,54 @@ computational complexity \if@ccalgo \RequirePackage{ccalgo} \fi +\let\orig@newtheorem\newtheorem +\def\newtheorem{% + \ClassWarning{cc}{You should not use newtheorem.\MessageBreak + See Section 3.1 of the documentation.}% + \orig@newtheorem} % \end{macrocode} % % \subsection{Other} % % \begin{environment}{acknowledge} % This environment simply constitues of an unnumbered section. +% To complicate things Springer adds a paragraph when the article +% is made available for free. If an article has no +% acknowledgements put the command \cs{noacknowledge} at the very +% position. +% \changes{v2.18}{2011/07/26}{Added \cs{noacknowledge} with support +% for an extra open access message. Added acknowledgements to +% toc. MNuesken, Bonn} % \begin{macrocode} \babel\def\ccacknowledgementsname{Acknowledgements}[% german=Danksagung,french=Remerciements] -\newenvironment{acknowledge}{\section*{\ccacknowledgementsname}}{} +\newif\if@ccack \@ccacktrue% usually acknowledgements are not required +\AtEndDocument{% + \if@ccack\else + \ClassError{cc}{Missing acknowledgements} + {You must use either\MessageBreak + \protect\begin{acknowledge} ... \protect\end{acknowledge}\MessageBreak + or \protect\noacknowledge.}% + \fi +} +\newenvironment{acknowledge}{% + \section*{\ccacknowledgementsname}% + \addcontentsline{toc}{section}{\ccacknowledgementsname}% +}{% + \noacknowledge +} +\newcommand{\noacknowledge}{% + \ifKV@ccsps@openaccess\if@ccack\else% + \noindent{\small\@octxt\par}% + \fi\fi% + \global\@ccacktrue +}% +\def\@octxt{}% +\def\openchoicetext#1{\gdef\@octxt{\paragraph{Open Access.} #1}}% +\openchoicetext{This article is distributed under the terms of the + Creative Commons Attribution Noncommercial License which permits any + noncommercial use, distribution, and reproduction in any medium, + provided the original author(s) and source are credited.}% % \end{macrocode} % \end{environment} % @@ -3419,13 +3595,19 @@ computational complexity \newif\if@natbib \@natbibtrue \newif\if@manualbibliography \@manualbibliographyfalse \newif\if@twocolumnbibliography \@twocolumnbibliographyfalse +\newif\if@twocolumnendtitle \@twocolumnendtitletrue \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 +%\newif\if@cctextarea \@cctextareatrue +\newcount\@textareaversion +\expandafter\def\csname if@cctextarea\endcsname{\ifnum\@textareaversion>0} +\def\@cctextareafalse{\@textareaversion\z@} +\def\@cctextareatrue{\@textareaversion\tw@} +\@cctextareatrue \newcount\@marginmode \@marginmode\tw@ % \end{macrocode} % @@ -3600,29 +3782,8 @@ computational complexity \long\def\cc@ifnotempty#1{\cc@ifempty{#1}{}} % \end{macrocode} % \begin{macro}{\babel} -% This shall simplify the addition of multilanguage support. A -% macro |#1| that shall hold a name is assigned a version in -% english |#2|, german |#3|, french |#4|, italian |#5|, and spanish -% |#6|. The english version is the default. Each non-empty -% version is added to the |\captions|\meta{language} of that -% language. -% Admittedly, this technique is limited. So we replace it\dots % \changes{v2.03}{2005/08/29}{Replaced \cs{babel}\cs{def} with a more % flexible construction.} -% \begin{macrocode} -%%% \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}}}% -%%% } -% \end{macrocode} -% \end{macro} -% \begin{macro}{\newbabel} % This shall simplify the addition of multilanguage support. A % macro |#1| that shall hold a name is assigned a version in % english |#2|. Further, that definition is added to @@ -3640,12 +3801,7 @@ computational complexity } \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}}% - %%% }% }% } % \end{macrocode} @@ -3716,6 +3872,8 @@ computational complexity % email address of the contact author. % \begin{macrocode} %<*cclayout> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{cclayout}[2011/07/27 v2.18 cclayout. MNuesken] \let\@contact\relax \newcommand{\contact}[1]{\gdef\@contact{#1}} \AtBeginDocument{\if@ccpublish @@ -3726,6 +3884,7 @@ computational complexity \fi} % \end{macrocode} % \end{macro} +% \begin{macro}{\submitted} % \begin{macro}{\received} % The macro |\received| stores its argument, the received date. % \begin{macrocode} @@ -3733,12 +3892,14 @@ computational complexity \newcommand{\received}[1]{\gdef\@received{#1}} \AtBeginDocument{\if@ccpublish \@ifundefined{@received}{% - \ClassWarningNoLine{cc}{Missing received date.\MessageBreak + \ClassWarningNoLine{cc}{Missing submission/received date.\MessageBreak Use \protect\received\space in the preamble.}{}% }{}% \fi} +\def\submitted{\received} % \end{macrocode} % \end{macro} +% \end{macro} % \begin{macro}{\titlehead} % The following macros supplement the traditional |\author|, % |\title| and |\date| declarations. First, |\titlehead| can be @@ -3845,8 +4006,8 @@ computational complexity \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\origcclist\list +% \def\list{\ifnum\@listdepth>0\relax\@toodeep\fi\origcclist}% \let\@listii\@toodeep \let\@listiii\@toodeep \let\@listiv\@toodeep @@ -3897,6 +4058,36 @@ computational complexity % \end{macrocode} % \end{macro} % \end{macro} +% +% +% \changes{v2.18}{2011/07/26}{Simplify maketitle handling. Michael +% Nüsken, Bonn} +% Make sure that macros with first, last and number of pages are +% available right after |\begin{document}|. This will be used for +% \cs{maketitle} and possibly more. +% \begin{macrocode} +\AtBeginDocument{\addtocounter{section}{-1}\refstepcounter{section}}% +\AtEndDocument{\hrule height0pt\label{ccenddocument}}% +\def\@ccunknown{??} +\def\@ccfirst{1}% +\let\@cclast\@ccunknown% +\let\@ccnumberofpages\@ccunknown% +\AtBeginDocument{% + \@ifundefined{r@ccenddocument}{}{% + \@tempcnta\@ne + \advance\@tempcnta-\@ccfirst + \xdef\@cclast{\csname r@ccenddocument\endcsname}% + \ifx\@secondoffive\@@@@undefined% hyperref launches this! + \xdef\@cclast{\expandafter\@secondoftwo\@cclast{}{}{}{}{}}% + \else + \xdef\@cclast{\expandafter\@secondoffive\@cclast{}{}{}{}{}}% + \fi% + \advance\@tempcnta\@cclast% + \xdef\@ccnumberofpages{\the\@tempcnta}% + }% +} +% \end{macrocode} +% % \begin{macro}{\ccpublish} % The macro |\ccpublish| sets all data for an article to be published % in \cc{}. @@ -3907,10 +4098,21 @@ computational complexity % |ccenddocument | to avoid a problem with \lpackage{hyperref}. % (\lpackage{hyperref} has also problems with |!| as part of label % names.)} +% \changes{v2.18}{2011/07/26}{Moved label generation, see +% above. Michael Nüsken, Bonn} % \begin{macrocode} \def\@cctxt{} \newif\if@cchead -\newcommand{\ccpublish}[4]{% +\newcommand{\noccpublish}[1]{% + \global\@ccpublishfalse + \global\@abstractoptionaltrue% Abstract optional + \global\@keywordsoptionaltrue% Keywords optional + \global\@subjectoptionaltrue% Subject class. optional + \global\@ccheadfalse + \gdef\@cctxt{#1}% + %\global\@twosidefalse + } +\newcommand{\ccpublish}[4]{% Deprecated since 2011/07/25 \global\@ccpublishtrue \global\@abstractoptionalfalse% Abstract required \global\@keywordsoptionalfalse% Keywords required @@ -3918,25 +4120,319 @@ computational complexity \global\@ccheadtrue \gdef\@ccyear{#1}% \gdef\@ccvolume{#2}% - \gdef\@ccnumber{#3}% + \gdef\@ccissue{#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 } % \end{macrocode} % \end{macro} % +% \subsection{Springer publishing services adjustments} +% \begin{macro}{\ccsps} +% \changes{v2.18}{2011/07/27}{New macro \cs{ccsps} for Springer +% publishing services. Michael Nüsken, Bonn} +% The macro \cs{ccsps} collects all the settings needed in the +% publishing process. See \ref{sec:editor} for details on its +% use. +% +% We use the package \Lpackage{xkeyval} to parse the input. +% \begin{macrocode} +\RequirePackage{xkeyval}[2008/08/13] +% \end{macrocode} +% +% These tiny helpers will allow to produce any fixed length output. +% \begin{macrocode} +\def\cc@fixlencountdown#1{% + \@tfor\@x:=#1\do{\advance\@tempcnta\m@ne}} +\def\cc@fixelendef#1#2#3#4{% + \@tempcnta#1% + \edef\@tempa{#4}\expandafter\cc@fixlencountdown\expandafter{\@tempa}% + \gdef#3{}\relax + \@whilenum\@tempcnta>\z@\do{% + \expandafter\gdef\expandafter#3\expandafter{#3#2}% + \advance\@tempcnta\m@ne}% + \expandafter\gdef\expandafter#3\expandafter{#3#4}% +} +\def\cc@fixelen#1#2#3{% + \@tempcnta#1 + \edef\@tempa{#3}\expandafter\cc@fixlencountdown\expandafter{\@tempa}% + \@whilenum\@tempcnta>\z@\do{% + #2% + \advance\@tempcnta\m@ne}% + \edef\@tempa{\noexpand\cc@fixelena#3\noexpand\@@@}\@tempa% +} +\def\cc@fixelena#1\@@@{% + \@tfor\@x:=#1\do{% + \advance\@tempcnta\@ne + \ifnum\@tempcnta>\z@\@x\fi + }% +} +% \end{macrocode} +% +% Now we start defining all the options. +% +% |journal=|\meta{journalname} will set the journalname for use in +% the running title, default |cc|. +% |journalnumber=|\meta{journalnumber} sets the journalnumber for use +% in the doi, default |37|. The key |sps| is here for internal +% detection only. +% \begin{macrocode} +\define@boolkey{ccsps}{sps}[true]{}% +\define@key{ccsps}{journal}[cc]{\gdef\@journalname{#1}}% +\define@key{ccsps}{journalnumber}[37]{\gdef\@journalnumber{#1}}% +% \end{macrocode} +% +% Set the submission date. This overrides +% |\received{|\meta{date}|}|. +% \begin{macrocode} +\define@key{ccsps}{submitted}[??dd Month yyyy??]{% + \gdef\@received{#1}% + \gdef\received##1{\ClassWarning{cc} + {Received/submitted date (##1) override!\MessageBreak + Using \@received.}}} +% \end{macrocode} +% +% \subsubsection{Revision stage} +% +% \begin{macrocode} +\define@boolkey{ccsps}{revisionstage}[true]{% + %%% \ifKV@ccsps@revisionstage\let\revisionstage=Y\else\let\revisionstage=N\fi +} +% \end{macrocode} +% +% The manuscript number occurs in the helper strip. +% \begin{macrocode} +% Four things to hook or not +\define@key{ccsps}{DOImsnr}[??]{% manuscript number + \gdef\@DOImsnr{#1}} +% \end{macrocode} +% The options |TYPESET|, |DISK|, |LE|, |CP| just add checkmarks in +% the helper strip. +% \begin{macrocode} +\define@boolkey{ccsps}{TYPESET}[true]{% + \ifKV@ccsps@TYPESET\let\TYPESET=Y\else\let\TYPESET=N\fi} +\define@boolkey{ccsps}{DISK}[true]{% + \ifKV@ccsps@DISK\let\DISK=Y\else\let\DISK=N\fi} +\define@boolkey{ccsps}{LE}[true]{% + \ifKV@ccsps@LE\let\LE=Y\else\let\LE=N\fi} +\define@boolkey{ccsps}{CP}[true]{% + \ifKV@ccsps@CP\let\CP=Y\else\let\CP=N\fi} +% \end{macrocode} +% This option sets the text for the watermark. +% \begin{macrocode} +\define@key{ccsps}{draftcopy}[Uncorrected proof]{% watermark text + \gdef\cc@watermarktext{#1}} +% \end{macrocode} +% This option turns the helper strip on or off, but it is triggered by +% pdfpage. +% \begin{macrocode} +\define@boolkey{ccsps}{helperstrip}[true]{}% +% \end{macrocode} +% For typesetting alignment checks a grid may be added. +% \begin{macrocode} +\define@boolkey{ccsps}{grid}[true]{} +% \end{macrocode} +% +% \subsubsection{Issue stage} +% +% \begin{macrocode} +\define@boolkey{ccsps}{issuestage}[true]{% + %%% \ifKV@ccsps@issuestage\let\issuestage=Y\else\let\issuestage=N\fi +} +% \end{macrocode} +% +% Some article are delivered via Open Access. +% \begin{macrocode} +% Shall the article be open access? +\define@boolkey{ccsps}{openaccess}[true]{% + %%% \ifKV@ccsps@openaccess\let\stageaccess=Y\else\let\stageaccess=N\fi +} +\define@boolkey{ccsps}{stageaccess}[true]{% Deprecated. + \setkeys{ccsps}{openaccess=#1}} +% \end{macrocode} +% +% Publishing information is collected by the following options. +% \begin{macrocode} +\define@key{ccsps}{year}[????]{\gdef\@ccyear{#1}} +\define@key{ccsps}{volume}[??]{\gdef\@ccvolume{#1}} +\define@key{ccsps}{issue}[??]{\gdef\@ccissue{#1}}% +%%% \@tempcnta\tw@\@tfor\@x:=#1\do{\advance\@tempcnta\m@ne}% +%%% \ifcase\@tempcnta\gdef\@ccissue{#1} +%%% \or\gdef\@ccissue{0#1}% +%%% \or\gdef\@ccissue{00}% +%%% \fi} +\define@key{ccsps}{firstpage}[1]{% + \gdef\@ccfirst{#1}% + %\cc@fixelendef40\@ccfirstiv{#1}% + \@tempcnta4\@tfor\@x:=#1\do{\advance\@tempcnta\m@ne}% + \ifcase\@tempcnta\gdef\@ccfirstiv{#1}% + \or\gdef\@ccfirstiv{0#1}% + \or\gdef\@ccfirstiv{00#1}% + \or\gdef\@ccfirstiv{000#1}% + \else\ClassError{cc}{First page number too big.}{% + The number of the first page cannot be larger than 9999. + }\fi +} +\define@key{ccsps}{copyholder}[\default@copyholder]{\gdef\@copyholdername{#1}} +\def\default@copyholder{% + \ifKV@ccsps@openaccess The Author(s) + \else Springer Basel AG\fi} +\define@key{ccsps}{doisuffix}[????-?]{% + % Is the doi always 10.1007/s00037-threedigityear-suffix? + \cc@fixelendef50\@doiinfo{\@journalnumber}% + \xdef\@doiinfo{% + 10.1007/s\@doiinfo-% + \noexpand\cc@fixelen30{\noexpand\@ccyear}-% + #1}} +\define@key{ccsps}{doi}{\gdef\@doiinfo{#1}} +\define@key{ccsps}{onlinedate}[??dd Month yyyy??]{\gdef\@onlinedate{#1}} +% Are the following really necessary or are they derived? +\define@key{ccsps}{onlinefirstyear}[\the\year]{\gdef\@ccyear{#1}} +\define@key{ccsps}{coveryear}[\@ccyear]{\gdef\@coveryear{#1}} +% Is the coveryear always the last two digits of the year? +% \end{macrocode} +% +% For online publication use the option |pdfpage| and |xlink|. The +% latter makes hyperlinks blue and so forth. +% \begin{macrocode} +\define@boolkey{ccsps}{pdfpage}[true]{% + % \ifKV@ccsps@pdfpage\@pdfpagetrue\else\@pdfpagefalse\fi% +} +\define@boolkey{ccsps}{xlink}[true]{} +% \end{macrocode} +% +% Finally put each key to its default value. +% \begin{macrocode} +\setkeys{ccsps}{ + sps=false, + journal={cc}, journalnumber=37, + grid=false, + TYPESET=false, + DISK=false, + LE=false, + CP=false, + DOImsnr, + openaccess=false, + revisionstage=false, + helperstrip=false, + issuestage=false, + copyholder, + year,volume,issue,firstpage, + onlinefirstyear,coveryear,doisuffix,onlinedate, + draftcopy +} +% \end{macrocode} +% +% \subsubsection{Choose publisher features} +% This is the macro for springer publishing services. Note that it +% should be called only once, best right after |\documentclass|. +% \begin{macrocode} +\newcommand{\ccsps}[1]{% + \if@cctextarea\else\ClassError{cc}{Wrong textarea chosen} + {Remove any textarea or noccpublish option from documentclass.}\fi + \global\@ccpublishtrue + \global\@abstractoptionalfalse% Abstract required + \global\@keywordsoptionalfalse% Keywords required + \global\@subjectoptionalfalse% Subject class. required + \global\@ccackfalse% Acknowledgements required + \global\@ccheadtrue + \global\@autotitletrue + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%% Now scan the key, key=value list: + \setkeys{ccsps}{sps,#1} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %\gdef\@cctxt{cc \textbf{\@ccvolume}(\@ccissue)}% MN2011/07/27: Shouldn't it be this? + \gdef\@cctxt{cc \textbf{\@ccvolume} (\@ccyear)}% + %%% \global\@twosidefalse + %%% MN2011/07/26 Note that the following makes it necessary that + %%% \ccsps is used only once! + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%% During revisionstage line numbers, a helper strip and a + %%% watermark shall be added. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \RequirePackage[mathlines]{lineno}[2005/11/02] + \ifKV@ccsps@pdfpage + \setkeys{ccsps}{helperstrip=false}% + %%% This case should turn off draftcopy but cannot do this + %%% since draftcopy is badly written. + %%% Consequently, this makes a double use of ccsps impossible. + \nolinenumbers + \else + \setkeys{ccsps}{helperstrip=true}% + \RequirePackage[conditional,draft]{draftcopy} + \draftcopyPageTransform{155 75 translate 65 rotate} + \draftcopyName{\cc@watermarktext}{75} + %%% Scaling by a factor 75 is fine for a text like "Uncorrected proof". + \linenumbers + \fi + %%% With the option xlink the final pdf shall have bookmarks and + %%% blue links. Otherwise there are no bookmarks and black links. + \RequirePackage[dvips, + bookmarks=\ifKV@ccsps@xlink true\else false\fi, + breaklinks=true, + colorlinks=\ifKV@ccsps@xlink true\else false\fi, + linkcolor=\ifKV@ccsps@xlink blue\else black\fi, + unicode]{hyperref}% + %%% \RequirePackage{xcolor}% + \RequirePackage{breakurl}% + \def\l@title##1{\@dottedtocline{-1}{0pt}{0pt}{{\large\textbf{##1}}}}% + \let\l@title\l@part + %%% + %\ExecuteOptions{nonatbib} + %\usepackage[comma,square]{modnatbib}% + %%% The package natbib was modified only marginally. On the one + %%% hand, spacing after superscripted references was modified, which + %%% is irrelevant to \cc{}. On the other hand the references were + %%% also added to the table of contents. This is superfluous since + %%% \Lclass{cc} redefines \Lenv{thebibliography} and adds that entry + %%% there. Further punctuation was modified but that is set by + %%% \Lclass{cc} anyways. + %%% + %\usepackage{hypernat}% + %%% The package \Lpackage{hypernat} would at most be needed if cc + %%% articles would combine natbib options number and + %%% sort&compress. However, number is deprecated and sort&compress + %%% is not used in the journal versions. + %%% + \ifKV@ccsps@xlink% + \def\@urlcolor{blue} + \def\@citecolor{blue} + \def\externalref##1##2{\hyperimage{##1}{##2}}% + \def\DOIexternalref##1##2{\hyperimage{##1}{##2}}%%%% + \InputIfFileExists{bookmarkgreeks.tex}{}{}% + \else + \def\@urlcolor{black}% + \def\@citecolor{black} + \def\externalref##1##2{##2}% + \def\DOIexternalref##1##2{##2}% + \fi% + %%% The option grid produces a grid to check or align the page and + %%% column boundarys. + \ifKV@ccsps@grid + \overfullrule=6pt + \let\twidth\textwidth + \let\theight\textheight +%%% \let\orgGd@draw\Gd@draw +%%% \def\Gd@draw##1{% +%%% \newGd@draw{##1}% +%%% \orgGd@draw{##1}% + %%% define Gd@draw (and rename later) + %%% \renewcommand{\twidth}{119mm}% + %%% \renewcommand{\theight}{45.5pc}% 19.46cm + \else\overfullrule=0pt\fi + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + %%% JS_info (MN2011/07/27: What's this?) + \InputIfFileExists{JS_info.tex}{}{}% +} +% \end{macrocode} +% \end{macro} +% +% The following code is based on \Lpackage{ccspsmacros} and +% \Lpackage{modlineno} as used by Springer. Actually, the only +% significant modification to \Lpackage{modlineno} seems to be that +% its option \Lclo{pagewise} is disabled; but it's easy not to use it. % \begin{macro}{\printed} % \begin{macro}{\electronic} % The printed and the electronic version of \cc{} have different @@ -3953,7 +4449,7 @@ computational complexity % \end{macro} % All environments and macros from this section can only be used in % the preamble. -% \changes{v2.01}{2000/07/12}{Some things shall work until \cs{maketitle}!} +% \changes{v2.01}{2000/07/12}{Some things shall work until \cs{maketitle}.} % \begin{macrocode} % \@onlypreamble\author % \@onlypreamble\title @@ -3965,6 +4461,7 @@ computational complexity % \@onlypreamble\authorhead % \@onlypreamble\received \@onlypreamble\ccpublish +\@onlypreamble\ccsps \@onlypreamble\electronic \@onlypreamble\printed % \end{macrocode} @@ -4198,7 +4695,10 @@ computational complexity % The environment \Lenv{@ffiliation} is used for each address % block. It produces a minipage whose lines are set like verse % lines: if a line is too long it continues indented. +% \changes{v2.18}{2011/07/27}{Added onecolumn layout for +% affiliations. Michael N{\"{u}}sken, Bonn} % \begin{macrocode} +\if@twocolumnendtitle \newenvironment{@ffiliation} {% \minipage[t]{.48\hsize} @@ -4207,6 +4707,19 @@ computational complexity \def\\{\unskip\par}% } {\strut\par\medskip\endminipage} +\else +\def\affilpre{\par} +\def\affilpost{\par} +\def\affilsep{\par} +\newenvironment{@ffiliation} + {% + \minipage[t]{\hsize}\footnotesize + \dimen@\hsize \advance\dimen@ -1.5em + \everypar{\parshape 2 \z@ \hsize 1.5em \dimen@}% + \def\\{\unskip\par}% + } + {\endminipage\bigskip} +\fi % \end{macrocode} % \end{environment} % @@ -4226,8 +4739,16 @@ computational complexity % \changes{v2.13}{2010/06/22}{Disabled the file control, instead with % ccpublish the compilation will abort with a FATAL ERROR. Michael % N{\"{u}}sken, Bonn} +% \changes{v2.17b}{2011/07/13}{Repaired case handling. Michael +% N{\"{u}}sken, Bonn} +% \changes{v2.18}{2011/07/26}{Adapted to Springer's ccspsmacros, +% added modified papersize. Michael N{\"{u}}sken, Bonn} % \begin{macrocode} -\if@cctextarea +\@abstrwidth0.85\textwidth +\ifcase\@textareaversion +% version 0: nocctextarea +% +\or% version 1, used until June 2011 \textwidth=141mm \@abstrwidth=120mm \textheight=200mm @@ -4237,33 +4758,65 @@ computational complexity \marginparwidth=25mm \headheight=1.25\headheight \ifnum\@marginmode<\z@\@marginmode\z@\fi -\else -\@abstrwidth0.85\textwidth +% +\or% version 2, used since July 2011 +\special{papersize=155mm,235mm}% Springer's papersize +\paperwidth=155mm +\paperheight=235mm +\topmargin=-9.6mm%% MN2011/07/25 this is from ccspsmacros but should + %% be rethought!!! Use \voffset, \hoffset instead... +\textheight=45.5pc +\textwidth=119mm +\@abstrwidth=\textwidth +\oddsidemargin=-7.6mm% should be 18mm, will be calculated acc.to \@marginmode +\evensidemargin=-7.6mm% should be 18mm, will be calculated acc.to \@marginmode +\marginparwidth=10mm% will be adapted below +\headheight=1.25\headheight +\ifnum\@marginmode<\z@\@marginmode\tw@\fi% use balanced margins +% +\else% version negative or larger than max: emptypage +\newdimen\allsidemargin \allsidemargin=.5in +%% LARGE width +\textwidth=\paperwidth +\advance\textwidth-2\allsidemargin% margin left/right +\marginparsep=1pt +%% LARGE height +\topmargin-1in +\advance\topmargin\allsidemargin +\textheight=\paperheight +\advance\textheight-\allsidemargin +\advance\textheight-\headheight +\advance\textheight-\headsep +\advance\textheight-\footskip +%%% \advance\textheight-\headheight% assuming as much space for foot as head. +\advance\textheight-\allsidemargin +\@marginmode\tw@ +\sloppy \fi -%%% \if@ccpublish -%%% \expandafter\xdef\csname ver@fullpage.sty\endcsname{9999}% -%%% \expandafter\xdef\csname ver@a4wide.sty\endcsname{9999}% -%%% \ClassWarning{cc}{The packages fullpage, a4wide are ignored -%%% when publishing in the journal \cc.}{}% -%%% \fi +\newdimen\cc@topmargin \cc@topmargin\topmargin +\newdimen\cc@textwidth \cc@textwidth\textwidth +\newdimen\cc@textheight \cc@textheight\textheight \AtBeginDocument{% - \if@ccpublish\@tempswafalse - \ifdim\topmargin=0mm\relax\else\@tempswatrue\fi - \ifdim\textwidth=141mm\relax\else\@tempswatrue\fi - \ifdim\textheight=200mm\relax\else\@tempswatrue\fi - \if@tempswa - \ClassError{cc}{FATAL ERROR! For publishing in cc the page and text - dimension must not be manipulated. Remove any packages that - modify the text or page dimensions. In particular: remove the - packages^^J - fullpage.sty,^^J - a4wide.sty,^^J - geometry.sty,^^J - vmargin.sty,^^J - typearea.sty}{}% - \endinput - \fi - \fi + {\if@ccpublish + \@tempswafalse + \ifnum\@textareaversion>0 + \ifdim\topmargin=\cc@topmargin\relax\else\@tempswatrue\fi + \ifdim\textwidth=\cc@textwidth\relax\else\@tempswatrue\fi + \ifdim\textheight=\cc@textheight\relax\else\@tempswatrue\fi + \fi + \if@tempswa + \ClassError{cc}{FATAL ERROR! For publishing in cc the page and text + dimension must not be manipulated. Remove any packages that + modify the text or page dimensions. In particular: remove the + packages^^J + fullpage.sty,^^J + a4wide.sty,^^J + geometry.sty,^^J + vmargin.sty,^^J + typearea.sty}{}% + \aftergroup\endinput + \fi + \fi}% } % \end{macrocode} % We fit the margins so that 1~in + |\oddsidemargin| + |\textwidth| + @@ -4300,14 +4853,14 @@ computational complexity % fall off the paper. % \begin{macrocode} \AtEndOfClass{% -\marginparwidth1in -\advance\marginparwidth-5mm -\advance\marginparwidth-2\marginparsep -\ifdim\evensidemargin<\oddsidemargin -\advance\marginparwidth\evensidemargin -\else -\advance\marginparwidth\oddsidemargin -\fi + \marginparwidth1in + \advance\marginparwidth-5mm + \advance\marginparwidth-2\marginparsep + \ifdim\evensidemargin<\oddsidemargin + \advance\marginparwidth\evensidemargin + \else + \advance\marginparwidth\oddsidemargin + \fi } % \end{macrocode} % In this document, we have marginmode @@ -4321,7 +4874,9 @@ computational complexity % following values: % \begin{center} % \makeatletter -% \def\themm#1{\dimen@5.6233568#1\relax\divide\dimen@ by 16 +% \def\themm#1{\dimen@5.6233568#1\relax +% \ifnum\dimen@<0-\dimen@-\dimen@\fi +% \divide\dimen@ by 16 % \expandafter\@themmchk\the\dimen@0000\@@@ % \edef\@tempa{\noexpand\th@mm\the\dimen@}\@tempa} % \def\@themmchk#1.#2#3#4#5#6\@@@{\if#5p\else\if#5t\else\ifnum#5>4 @@ -4347,6 +4902,15 @@ computational complexity % |\headsep| & \themm\headsep\\ % |\textheight| & \themm\textheight\\ % |\footskip| & \themm\footskip\\ +% remainder & +% \dimen@\paperheight +% \advance\dimen@-1in +% \advance\dimen@-\topmargin +% \advance\dimen@-\headheight +% \advance\dimen@-\headsep +% \advance\dimen@-\textheight +% \advance\dimen@-\footskip +% \themm\dimen@ % \end{tabular} % \end{center} % @@ -4362,7 +4926,23 @@ computational complexity \newskip\headerindent \headerindent=10mm \newdimen\headrulewidth \headrulewidth.4pt \def\ps@cc{\let\@mkboth\markboth - \def\@oddhead{\vbox{\hbox to\textwidth{\reset@font\strut + \let\@oddfoot\@empty + \let\@evenfoot\@empty + \let\@oddhead\@empty + \let\@evenhead\@empty + \if@ccpublish + \ps@ccfirst + \def\@oddfoot{% + \ifKV@ccsps@helperstrip% + \begin{picture}(0,0)% + \put(340,3){{\stripbox}}% + \end{picture}% + \fi + }% + \let\@evenfoot\@oddfoot + \fi + \expandafter\def\expandafter\@oddhead\expandafter{\@oddhead + \vbox{\hbox to\textwidth{\reset@font\strut {\small\@cctxt}% \hfil {\small @@ -4382,8 +4962,8 @@ computational complexity \vskip\z@ }% }% - \def\@oddfoot{} - \def\@evenhead{\vbox{\hbox to\textwidth{\reset@font\strut + \expandafter\def\expandafter\@evenhead\expandafter{\@evenhead + \vbox{\hbox to\textwidth{\reset@font\strut \hbox to\headerindent{\thepage\hfil}% {\small\@authorhead}% \hfil @@ -4397,10 +4977,71 @@ computational complexity \vskip\z@ }% }% - \let\@evenfoot\@oddfoot } % \end{macrocode} % \end{macro} +% +% For some publishing features graphics and colors are used. +% \begin{macrocode} +\RequirePackage{graphicx} +\RequirePackage{xcolor}% +\IfFileExists{Birkh_logo_2010_sps.eps}{% + \def\birklogo{\bgroup\includegraphics{Birkh_logo_2010_sps.eps}\egroup} +}{% + \def\birklogo{{\ixpt Birkh{\"{a}}user}} +} +\IfFileExists{dummy_sps.eps}{% + \def\spslogo{\bgroup\includegraphics{dummy_sps.eps}\egroup} +}{% + \def\spslogo{{\ixpt Springer Publishing}} +} +%\definecolor{tint}{gray}{0.7} +% \end{macrocode} +% +% \begin{macro}{\ps@ccfirst} +% The page style \texttt{ccfirst} is provided for typesetting the +% first page during the publishing process. +% \begin{macrocode} +\def\ps@ccfirst{% + \def\@oddfoot{% + \if@ccpublish + \ifKV@ccsps@revisionstage% + \begin{picture}(0,0)% + \put(0,15){{\smash{\raisebox{-2.25pt}{\spslogo}}}}% + \end{picture}% + \fi% + \ifKV@ccsps@sps + \begin{picture}(0,0)% + \put(289.5,15){{\birklogo}}% + \end{picture}% + \fi + \ifKV@ccsps@helperstrip% + \begin{picture}(0,0)% + \put(340,3){{\stripbox}}% + \end{picture}% + \fi + \fi}% + \let\@evenfoot\@oddfoot + \def\@oddhead{% + \ifKV@ccsps@grid + \hbox to\z@{\vbox to\z@{% + \hsize\twidth + \vskip\headsep + \fboxrule=.25pt + \fboxsep=-.25pt + \textcolor{lightgray}{% + \fbox{\vbox to\theight{\hbox to\twidth{\hss}\vss}}% + }% + }% + \hss + }% + \fi + \hss + }% + \let\@evenhead\@oddhead +} +% \end{macrocode} +% \end{macro} % Select \cc's page style at the end of the class. % \begin{macrocode} \AtEndOfClass{\pagestyle{cc}} @@ -4417,15 +5058,49 @@ computational complexity % after those inserted by \protect\Lpackage{natbib}) in order to % handle citations correctly. This is done via \cs{@onlypreamble} % that disables the first token of its argument and executes the -% rest.} +% rest; this disabling and execution happen after executing all +% \cs{AtBeginDocument} commands in \cs{begin}\texttt{\{document\}}.} % \begin{macrocode} \AtEndOfClass{% \AtBeginDocument{\@onlypreamble{\author{\if@autotitle\maketitle\fi}}} %\AtBeginDocument{\if@autotitle\maketitle\fi} \AtEndDocument{\if@autotitle\makeendtitle\fi} - } +} % \end{macrocode} -% +% +% \begin{macro}{\stripbox} +% The macro \cs{stripbox} produces a box with information for the +% publishing service. This is put in the foot of every page during +% the revisionstage, see \cs{ccsps}. +% \begin{macrocode} +\def\stripbox{\kern -11.7cm% + {}{% + \raisebox{.8mm}{% + \tiny + \fboxsep1mm\framebox{% + Journal: {\bf \@journalname}\enspace + Article No.: {\bf \@DOImsnr}\enspace + \fboxsep.2mm\fbox{% + \ifx Y\TYPESET{$\checkmark$}\else{\phantom{$\checkmark$}}\fi + }~TYPESET\enspace + \fbox{% + \ifx Y\DISK{$\checkmark$}\else{\phantom{$\checkmark$}}\fi + }~DISK\enspace + \fbox{% + \ifx Y\LE{$\checkmark$}\else{\phantom{$\checkmark$}}\fi + }~LE\enspace + \fbox{% + \ifx Y\CP{$\checkmark$}\else{\phantom{$\checkmark$}}\fi + }~CP\enspace + Disp.: \textbf{\the\year/\the\month/\the\day}\enspace + Pages: \textbf{\@ccnumberofpages} + }% + }% + }% +} %% +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\maketitle} % |\maketitle| generates the first page. It also produces errors % or warnings if abstract, keywords, or subject are missing. @@ -4437,21 +5112,116 @@ computational complexity % \changes{v2.08}{2008/04/25}{Bug repair: Added \cs{protect} to % \cs{ClassWarningNoLine} calls in \cs{maketitle}, Michael % N{\"{u}}sken, Bonn} +% \changes{v2.17}{2011/07/07}{Adapted \maketitle to new textarea and +% modified firstpage headline \cs{maketitle}, Michael N{\"{u}}sken, +% Bonn} +% \changes{v2.17c}{2011/07/15}{Moved \cs{thispagestyle} to an earlier +% point so it always applies to the first page (even when the +% abstract is very long), Michael N{\"{u}}sken, Bonn} +% \changes{v2.18}{2011/07/25}{Adapted \maketitle to Springer's +% version, Michael N{\"{u}}sken, Bonn} % \begin{macrocode} -\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 +\newcommand{\maketitleheadA}{% version before 2011 (Birkhäuser) + \hbox to\textwidth{% + \vbox to\z@{\vss + \baselineskip=12pt% + \halign{\ixpt##\hfil\cr + comput. complex.~\textbf{\@ccvolume}~(\@ccyear), + \thepage\ -- \@cclast\cr + \issn/\expandafter\@gobbletwo\@ccyear% + %% use + instead --? + /\cc@fixelen20\@ccissue\relax + \cc@fixelen40\@ccfirst\relax + --\@ccnumberofpages\ + \$ 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 +} +\newcommand{\maketitleheadB}{% version since 2011 (Springer) + \hbox to\textwidth{% + \vbox to\z@{\vss + \baselineskip=12pt% + \halign{\ixpt##\hfil\cr + comput. complex.~\textbf{\@ccvolume}~(\@ccyear), + \thepage\ -- \@cclast\cr + \issn/\expandafter\@gobbletwo\@ccyear% + %% use + instead --? + /\cc@fixelen20\@ccissue\relax + \cc@fixelen40\@ccfirst\relax + --\@ccnumberofpages\ + \$ 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 +} +\newcommand{\maketitleheadSPS}{% version since 2011 (Springer) + \hbox to\textwidth{% + \vbox to\z@{\vss + \baselineskip=12pt% + \halign{% + \ixpt##\hfil\cr + comput. complex.% + \ifKV@ccsps@issuestage% + ~\textbf{\@ccvolume}~(\@ccyear),~\@ccfirst\ -- \@cclast +%%% {% No coloring on this pageref. +%%% \def\Hy@colorlink##1{\begingroup\color{black}}% +%%% \def\Hy@endcolorlink{\endgroup}% +%%% \pageref{ccenddocument}% +%%% %%% \def\Hy@colorlink##1{\begingroup\color{##1}}% +%%% %%% \def\Hy@endcolorlink{\endgroup}% +%%% }% + \fi\cr + \ifKV@ccsps@openaccess + \copyright{} \@copyholdername\ \@ccyear. + This article is published\cr with open access + at Springerlink.com\cr + \else\copyright{} \@copyholdername\ \@ccyear\cr\fi + \ifKV@ccsps@issuestage + {\printed@issn/\cc@fixelen20\@coveryear/% + \cc@fixelen20\@ccissue% + \cc@fixelen50\@ccfirst% + -% MN2011/07/27: use + instead? + \@ccnumberofpages}\cr + {{\it published online}\ \@onlinedate}\cr + \else\relax\fi + DOI \@doiinfo\cr} + }\hss + \vbox to\z@{\vss + \offinterlineskip% + \halign{##&##\hfil\cr + \vertrulea&\ixpt\cr + %%\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 +} +\def\l@title#1#2{}% Usually ignore title entries. +\def\@@today{\today}% for comparison \renewcommand{\maketitle}{% \global\@topnum\z@ % Prevents figures from going at top of page. \cite@hook{}% \if@cchead + \ifnum\@textareaversion=\tw@\vspace*{15pt}\fi \vbox to\z@{\vss \@ifundefined{r@ccenddocument}{\@tempcnta\z@}{% \@tempcnta\@ne @@ -4465,30 +5235,17 @@ computational complexity \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} + \ifcase\@textareaversion\maketitleheadA + \or\maketitleheadA + \or\maketitleheadSPS + \else\maketitleheadA + \fi + }% \fi \hrule\@height\z@ \vskip2.2ex% 4.0mm \relax + \thispagestyle{ccfirst} \begin{center} \if@ccpublish \renewcommand{\footnote}[1]{\protect\ClassWarningNoLine{cc}{% @@ -4511,11 +5268,13 @@ computational complexity \Large\bfseries \def\\{\penalty-\@M}% \expandafter\MakeUppercase\expandafter{\@title}% + \addcontentsline{toc}{title}{\@title}% \par }% \@ifundefined{@subtitle}{}{{% \large\itshape \@subtitle + %%\if!\@subtitle!\relax\else\addcontentsline{toc}{subtitle}{\@subtitle}\fi% \par }} \@ifundefined{@version}{}{{% @@ -4531,8 +5290,8 @@ computational complexity \extractnamesfr@m@author \par }% - \if@ccpublish - \ifx\@date\today\else + \ifKV@ccsps@sps%\if@ccpublish + \ifx\@date\@@today\else \ClassWarningNoLine{cc}{Date ignored! (\@date)}% \fi \else{% @@ -4550,7 +5309,8 @@ computational complexity \protect\begin{abstract} ... \protect\end{abstract}.}% \fi \else - \@tempa\leavevmode\unvbox\@abstract\par + \addcontentsline{toc}{section}{\ccabstractname}% + \@tempa\leavevmode\unvbox\@abstract\par \fi }{% \ifvoid\@abstract\else @@ -4561,6 +5321,7 @@ computational complexity \@abstr{\ccabstractname} \the\@abstract@toks \end@abstr + \addcontentsline{toc}{section}{\ccabstractname}% \@tempa\leavevmode\unvbox\@abstract\par } \ifvoid\@keywords @@ -4588,7 +5349,6 @@ computational complexity \@thanks \ifx\@tempa\relax\vskip3ex\fi \end{center} - \thispagestyle{empty} \setcounter{footnote}{0}% \global\let\maketitle\relax \global\let\thanks\@gobble @@ -4885,6 +5645,63 @@ computational complexity % % \end{macrocode} % +% \GetFileInfo{ccref.sty} +% \CodelinePrefix{r} +% +% \section{Source of \filename (\fileprefix)} +% +% This file (\file{\filename}) has version number \fileversion, last +% revised \filedate. +% \changes{v2.15}{2010/10/21}{Moved this from the main part into a +% seperate file.} +% \begin{macrocode} +%<*ccref> +% \end{macrocode} +% \begin{macro}{\defprefix} +% \LaTeX{} already defined the features for nice references, although +% they were not really used. The package \Lpackage{relabel} provides +% some macros to use these features. Especially, a macro +% |\defprefix| is defined which allows to define a prefix for the +% label of a counter: +% |\defprefix{|\meta{counter}|}|\meta{definition}. +% \changes{v2.01}{2000/09/15}{Internationalized prefixes. +% Michael N{\"{u}}sken, Paderborn} +% \changes{v2.01}{2000/11/28}{Added \cs{chaptername}. +% Michael N{\"{u}}sken, Paderborn} +% \begin{macrocode} +\RequirePackage{relabel}[1998/09/07 v1.01] +\let\nref\ref +% \end{macrocode} +% \end{macro} +% We define prefixes for the standard counters. +% \begin{macrocode} +\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} +% +% \end{macrocode} +% % \GetFileInfo{thcc.sty} % \CodelinePrefix{t} % @@ -4893,6 +5710,11 @@ computational complexity % This file (\file{\filename}) has version number \fileversion, last % revised \filedate. % \changes{v0.91}{2000/02/29}{Advanced version to official 2.00} +% \changes{v2.15b}{2010/10/21}{Pretending that amsthm is loaded makes +% hyperref do strange things. Logic adapted.} +% \changes{v2.15b}{2010/10/26}{Pretending that amsthm is loaded makes +% hyperref do strange things. Loading amsthm causes strange +% errors. Logic adapted so that either way no harm is done.} % \begin{macrocode} %<*thcc> \NeedsTeXFormat{LaTeX2e}[1995/12/01] @@ -4903,10 +5725,26 @@ computational complexity % We require Frank Mittelbach's \Lpackage{theorem} package. % \begin{macrocode} \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!} +% \end{macrocode} +% The following is actually a really dirty trick. On the one hand +% side we pretend that \Lpackage{amsthm} is loaded by defining +% \cs{ver@amsthm.sty}, which is checked when reading a new package by +% the LaTeX internal command \cs{@ifl@aded}. On the other hand side, +% we tell \Lpackage{hyperref} that it is not loaded by manipulating +% the LaTeX internal command \cs{@ifpackageloaded} used there. (If +% further problems occur we may really run into trouble with this +% technique.) +% \begin{macrocode} +\def\cc@forbiddenpackage{2010/10/26 Forbidden by cc.cls/thcc.sty. Not loaded!} +\expandafter\global\expandafter\let\csname ver@amsthm.sty\endcsname\cc@forbiddenpackage +\expandafter\global\expandafter\let\csname ver@apthm.sty\endcsname\cc@forbiddenpackage +\let\orig@ifpackageloaded\@ifpackageloaded +\def\@ifpackageloaded#1{% + \expandafter\ifx\csname ver@#1.\@pkgextension\endcsname\cc@forbiddenpackage + \expandafter\@secondoftwo% consider it as not loaded + \else + \gdef\cc@reserved{\orig@ifpackageloaded{#1}}\expandafter\cc@reserved% + \fi} % \end{macrocode} % The macro |\shortcite| might have been provided by the package % \Lpackage{cccite} or predecessors of it. If not we let it be equal @@ -5076,15 +5914,15 @@ computational complexity \def\theenumi{\@roman\c@enumi}% \def\labelenumi{(\theenumi)}% \defprefix{enumi}##1{% - %%\Iflabelchanged{#1}{\uselabel{#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)}% + %\def\theenumii{\@alph\c@enumii}% + %\def\labelenumii{(\theenumii)}% \defprefix{enumii}##1{% - %%\Iflabelchanged{#1}{\uselabel{#1}}% + %\Iflabelchanged{#1}{\uselabel{#1}}% \protect\protect\protect\@@conduselabel {{\protect\csname the#1\endcsname}}% {\@thm@bare@currentlabel}{\@thm@currentlabel}% @@ -5092,15 +5930,15 @@ computational complexity \def\theenumiii{\@arabic\c@enumiii}% \def\labelenumiii{(\theenumiii)}% \defprefix{enumiii}##1{% - %%\Iflabelchanged{#1}{\uselabel{#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.}% + %\def\theenumiv{\@Alph\c@enumiv}% + %\def\labelenumiv{\theenumiv.}% \defprefix{enumiv}##1{% - %%\Iflabelchanged{#1}{\uselabel{#1}}% + %\Iflabelchanged{#1}{\uselabel{#1}}% \protect\protect\protect\@@conduselabel {{\protect\csname the#1\endcsname}}% {\@thm@bare@currentlabel}{\@thm@currentlabel}% @@ -5111,14 +5949,14 @@ computational complexity \def\theenumi{\@roman\c@enumi}% \def\labelenumi{(\theenumi)}% \defprefix{enumi}##1{(##1)}% - %%\def\theenumii{\@alph\c@enumii}% - %%\def\labelenumii{(\theenumii)}% + %\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.}% + %\def\theenumiv{\@Alph\c@enumiv}% + %\def\labelenumiv{\theenumiv.}% \defprefix{enumiv}##1{(\theenumi.\theenumii.\theenumiii##1)} } \fi @@ -5235,7 +6073,7 @@ computational complexity \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}% +%\newtheorem{example*}[namedth@@r@m*]{Example}% \babel\def\Example{Example}[german=Beispiel,french=Exemple] \newenvironment{example*}[1][]{% \cc@ifempty{#1} @@ -5675,7 +6513,7 @@ computational complexity % This macro restores the parshape of the current list. % \begin{macrocode} \def\list@parshape{% - %%\typeout{parshape 1 \the\@totalleftmargin+\the\linewidth}% + %\typeout{parshape 1 \the\@totalleftmargin+\the\linewidth}% \parshape \@ne \@totalleftmargin \linewidth} % \end{macrocode} % Reinitializing the list means to readjust the left margin while @@ -5683,8 +6521,8 @@ computational complexity % \begin{macrocode} \newdimen\reinit@list@last \def\reinit@list#1{% -%%% \dimen@i#1\relax -%%% \typeout{Reinit: old \the\reinit@list@last, new \the\dimen@i}%%% DEBUG +% \dimen@i#1\relax +% \typeout{Reinit: old \the\reinit@list@last, new \the\dimen@i}%%% DEBUG \advance\itemindent\reinit@list@last \advance\@totalleftmargin-\reinit@list@last \advance\linewidth\reinit@list@last @@ -5694,7 +6532,7 @@ computational complexity \advance\itemindent-\reinit@list@last \advance\@totalleftmargin\reinit@list@last \advance\linewidth-\reinit@list@last - %%\typeout{\the\@totalleftmargin + \the\linewidth}% + %\typeout{\the\@totalleftmargin + \the\linewidth}% \list@parshape} % \end{macrocode} % Often reinitialization is needed with respect to the label's @@ -5867,7 +6705,6 @@ computational complexity % \begin{macrocode} \newcommand{\algonumerate@postprocess}[1]{% \expandafter\count@\value{algonumerate}% - %%{\tracingall\nonstopmode\showbox\@tempboxa}% % \end{macrocode} % We insert a \cs{medskip} if a (positively) numbered item follows an % automatic or explicit text item. @@ -5909,7 +6746,7 @@ computational complexity % paragraph formatting as desired. % \begin{macrocode} \newcommand{\algonumerate@labelexplicit}[1]{% For algorithm i/o -%%% \typeout{item explicit [#1]}% +% \typeout{item explicit [#1]}% \algonumerate@makelabelexplicit{#1}% % \end{macrocode} % @@ -5929,7 +6766,7 @@ computational complexity \global}% } \newcommand{\algonumerate@labelempty}[1]{% For algorithm i/o -%%% \typeout{item empty [#1]}% +% \typeout{item empty [#1]}% \algonumerate@makelabelempty{}% \global\let\algonumerate@global\global \gdef\global{\algonumerate@global\let\global\algonumerate@global @@ -5937,7 +6774,7 @@ computational complexity \global}% } \newcommand{\algonumerate@labelautomatic}[1]{% For algorithm steps -%%% \typeout{item automatic [#1]}% +% \typeout{item automatic [#1]}% \algonumerate@makelabelautomatic{#1}% \global\let\algonumerate@global\global \gdef\global{\algonumerate@global\let\global\algonumerate@global @@ -5949,14 +6786,14 @@ computational complexity \global}% } \newcommand{\algonumerate@labelnumber}[1]{% For algorithm steps -%%% \typeout{item numbered [#1]}% +% \typeout{item numbered [#1]}% \algonumerate@makelabelnumber{#1}% \global\let\algonumerate@global\global \gdef\global{\algonumerate@global\let\global\algonumerate@global \algonumerate@postprocess{}% \global}% } -%%% +% \newdimen\algonumerate@maxindent % \end{macrocode} % We add a mechanism to find and store the length of the longest @@ -6072,11 +6909,11 @@ computational complexity \let\@tempa\relax \protected@edef\@tempa{% \csname r@\the\algorithmmasterkey-#1\endcsname}% - %%\show\@tempa + %\show\@tempa \let\@tempc\relax \protected@edef\@tempc{% \csname r@\the\algorithmmasterkey-#2\endcsname}% - %%\show\@tempc + %\show\@tempc \ifx\@tempa\@tempc\global\@trivialrangetrue \else\global\@trivialrangefalse\fi }% @@ -6189,9 +7026,9 @@ computational complexity \@newlistfalse \vskip\topskip \par - %%\meta@indent\leftmargin - %%\advance\meta@indent\algo@labelsep - %%\advance\meta@indent\steplabelwidth + %\meta@indent\leftmargin + %\advance\meta@indent\algo@labelsep + %\advance\meta@indent\steplabelwidth \meta@indent\@totalleftmargin \advance\labelsep-\meta@indent \advance\@totalleftmargin-\meta@indent @@ -7705,24 +8542,25 @@ computational complexity % \cs{jobname}. Michael N{\"{u}}sken, Bonn} % \begin{macrocode} %<*cctemplate> +%%% Template (2011/07/27) for an article using cc \begin{filecontents*}{\jobname.bib} %% Insert your bibliography file here \end{filecontents*} \begin{filecontents}{\jobname.bbl} - %% Insert your bbl file here (please also add your bib file above!) + %% Insert your bbl file here if you do not have a bibliography file \end{filecontents} + \documentclass{cc} +%%\ccsps{} %%% personal macros and packages %%% end of personal macros and packages - -%%\ccpublish{}{}{}{} \contact{}% Insert contact email address here. -\received{}% Insert the date on which you made the original +\submitted{}% Insert the date on which you made the original % submission of your paper to computational complexity, - % in the format \received{8 August 2008}. + % in the format \submitted{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 @@ -7758,6 +8596,8 @@ computational complexity \begin{acknowledge} %% Insert your acknowledgments here. \end{acknowledge} +%% \noacknowledge% This command must be here if there are no + % acknowledgements. \bibliography{journals,\jobname}% Put your bibliography into the above % filecontents environment! @@ -7932,14 +8772,14 @@ computational complexity \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}).]}% -%% } +% \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}[% @@ -7963,7 +8803,7 @@ computational complexity % It allows to use the document class \Lclass{svjour3} or derivatives % of it for a file that has been written with the document class % \Lclass{cc}. To do this add a |\usepackage{cc4svjour}| after it. -% \changes{v2.14}{2010/10/14}{Derived from \Lpackage{cc4amsart.sty}.} +% \changes{v2.14}{2010/10/14}{Derived from \lpackage{cc4amsart}\texttt{.sty}.} % \begin{macrocode} %<*cc4svjour> \NeedsTeXFormat{LaTeX2e}[1995/12/01] @@ -7977,16 +8817,16 @@ computational complexity \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}).]}% -%% } -%% -%%% Deactivate svjour3's theorem definitions: +% \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}).]}% +% } +% +%% Deactivate svjour3's theorem definitions: \let\claim\relax \let\endclaim\relax \let\conjecture\relax \let\endconjecture\relax \let\corollary\relax \let\endcorollary\relax @@ -8010,26 +8850,6 @@ computational complexity \let\thesis\relax \let\endthesis\relax \let\warning\relax \let\endwarning\relax \let\example\relax \let\endexample\relax -%%% \makeatletter -%%% \def\gund@f#1{% -%%% \expandafter\global\expandafter\let\csname #1\endcsname\@undefined -%%% \expandafter\global\expandafter\let\csname end#1\endcsname\@undefined -%%% } -%%% \makeatother -%%% \gund@f{claim} -%%% \gund@f{conjecture} -%%% \gund@f{corollary} -%%% \gund@f{definition} -%%% \gund@f{example} -%%% \gund@f{exercise} -%%% \gund@f{fact} -%%% \gund@f{lemma} -%%% \gund@f{note} -%%% \gund@f{problem} -%%% \gund@f{proposition} -%%% \gund@f{question} -%%% \gund@f{remark} -%%% \gund@f{theorem} \@longarticletrue \RequirePackage{ccthm} \babel\def\ccacknowledgementsname{Acknowledgements}[% @@ -8088,6 +8908,7 @@ computational complexity \let\thesis\relax \let\endthesis\relax \let\warning\relax \let\endwarning\relax \let\example\relax \let\endexample\relax +\let\proof\relax \let\endproof\relax % Load our definitions \RequirePackage{amsmath}[1997/03/20 v1.2d] % amsmath contains amstext, amsgen, amsbsy, amsopn @@ -8097,7 +8918,8 @@ computational complexity \@longarticletrue \RequirePackage{ccreltx}% deactivate amsthm.sty and reactive LaTeX's % definitions. -\RequirePackage{ccthm} +\RequirePackage{ccref} +\RequirePackage{ccthm,ccproof} \theoremheaderfont{\upshape\bfseries} \RequirePackage{ccalgo} % Load our citation scheme but keep llncs environment thebibliography. @@ -8119,7 +8941,6 @@ computational complexity \pagebreak[3]% \vskip 0pt plus -#1% \relax} -%%% % % \end{macrocode} % @@ -8161,7 +8982,7 @@ computational complexity \RequirePackage{ccaux} \RequirePackage{ccreltx}% deactivate amsthm.sty and reactive LaTeX's % definitions. -%% \PassOptionsToPackage{bare}{relabel} +% \PassOptionsToPackage{bare}{relabel} \RequirePackage{ccthm} \RequirePackage{relabel} \RequirePackage{cc2cite} @@ -8207,14 +9028,14 @@ computational complexity \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}).]}% -%% } +% \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} @@ -8277,15 +9098,15 @@ computational complexity % 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}).]}% -%%% %% } +% \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 @@ -8326,8 +9147,8 @@ computational complexity \RequirePackage{amssymb}[1996/11/03 v2.2b] \numberallwithin{section} \AtBeginDocument{\@adjustnumbering} -%%% \RequirePackage{cc2cite} -%%% \RequirePackage{url} +% \RequirePackage{cc2cite} +% \RequirePackage{url} % % \end{macrocode} % @@ -10486,13 +11307,10 @@ STRINGS { mode s t } 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$ } @@ -11234,7 +12052,6 @@ FUNCTION {inproceedings} } { address output.nonnull format.date output -%%%% new.sentence organization output publisher output } diff --git a/Master/texmf-dist/source/latex/computational-complexity/cc.ins b/Master/texmf-dist/source/latex/computational-complexity/cc.ins index 659b6f05efa..21f8810ce81 100644 --- a/Master/texmf-dist/source/latex/computational-complexity/cc.ins +++ b/Master/texmf-dist/source/latex/computational-complexity/cc.ins @@ -56,6 +56,7 @@ See cc.dtx for license information. \file{cc-cls.sty}{\from{cc.dtx}{ccsty,chartab}} \file{cclayout.sty}{\from{cc.dtx}{cclayout,chartab}} \file{ccreltx.sty}{\from{cc.dtx}{ccreltx,chartab}} + \file{ccref.sty}{\from{cc.dtx}{ccref,chartab}} \file{ccthm.sty}{\from{cc.dtx}{ccthm,chartab}} \file{ccproof.sty}{\from{cc.dtx}{ccproof,chartab}} \file{ccalgo.sty}{\from{cc.dtx}{ccalgo,chartab}} -- cgit v1.2.3