17 %% Right bracket \] Circumflex \^ Underscore \_ |
17 %% Right bracket \] Circumflex \^ Underscore \_ |
18 %% Grave accent \` Left brace \{ Vertical bar \| |
18 %% Grave accent \` Left brace \{ Vertical bar \| |
19 %% Right brace \} Tilde \~} |
19 %% Right brace \} Tilde \~} |
20 %% |
20 %% |
21 \NeedsTeXFormat{LaTeX2e}[1995/12/01] |
21 \NeedsTeXFormat{LaTeX2e}[1995/12/01] |
22 \ProvidesClass{llncs}[2002/01/28 v2.13 |
22 \ProvidesClass{llncs}[2014/03/31 v2.19 |
23 ^^J LaTeX document class for Lecture Notes in Computer Science] |
23 ^^J LaTeX document class for Lecture Notes in Computer Science] |
24 % Options |
24 % Options |
25 \let\if@envcntreset\iffalse |
25 \let\if@envcntreset\iffalse |
26 \DeclareOption{envcountreset}{\let\if@envcntreset\iftrue} |
26 \DeclareOption{envcountreset}{\let\if@envcntreset\iftrue} |
27 \DeclareOption{citeauthoryear}{\let\citeauthoryear=Y} |
27 \DeclareOption{citeauthoryear}{\let\citeauthoryear=Y} |
33 \let\if@envcntsect\iffalse |
33 \let\if@envcntsect\iffalse |
34 \DeclareOption{envcountsect}{\let\if@envcntsect\iftrue} |
34 \DeclareOption{envcountsect}{\let\if@envcntsect\iftrue} |
35 \let\if@runhead\iffalse |
35 \let\if@runhead\iffalse |
36 \DeclareOption{runningheads}{\let\if@runhead\iftrue} |
36 \DeclareOption{runningheads}{\let\if@runhead\iftrue} |
37 |
37 |
|
38 \let\if@openright\iftrue |
38 \let\if@openbib\iffalse |
39 \let\if@openbib\iffalse |
39 \DeclareOption{openbib}{\let\if@openbib\iftrue} |
40 \DeclareOption{openbib}{\let\if@openbib\iftrue} |
40 |
41 |
41 % languages |
42 % languages |
42 \let\switcht@@therlang\relax |
43 \let\switcht@@therlang\relax |
47 |
48 |
48 \ProcessOptions |
49 \ProcessOptions |
49 |
50 |
50 \LoadClass[twoside]{article} |
51 \LoadClass[twoside]{article} |
51 \RequirePackage{multicol} % needed for the list of participants, index |
52 \RequirePackage{multicol} % needed for the list of participants, index |
|
53 \RequirePackage{aliascnt} |
52 |
54 |
53 \setlength{\textwidth}{12.2cm} |
55 \setlength{\textwidth}{12.2cm} |
54 \setlength{\textheight}{19.3cm} |
56 \setlength{\textheight}{19.3cm} |
55 \renewcommand\@pnumwidth{2em} |
57 \renewcommand\@pnumwidth{2em} |
56 \renewcommand\@tocrmarg{3.5em} |
58 \renewcommand\@tocrmarg{3.5em} |
73 \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% |
75 \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% |
74 \par}% |
76 \par}% |
75 \fi} |
77 \fi} |
76 % |
78 % |
77 \def\switcht@albion{% |
79 \def\switcht@albion{% |
78 \def\abstractname{Abstract.} |
80 \def\abstractname{Abstract.}% |
79 \def\ackname{Acknowledgement.} |
81 \def\ackname{Acknowledgement.}% |
80 \def\andname{and} |
82 \def\andname{and}% |
81 \def\lastandname{\unskip, and} |
83 \def\lastandname{\unskip, and}% |
82 \def\appendixname{Appendix} |
84 \def\appendixname{Appendix}% |
83 \def\chaptername{Chapter} |
85 \def\chaptername{Chapter}% |
84 \def\claimname{Claim} |
86 \def\claimname{Claim}% |
85 \def\conjecturename{Conjecture} |
87 \def\conjecturename{Conjecture}% |
86 \def\contentsname{Table of Contents} |
88 \def\contentsname{Table of Contents}% |
87 \def\corollaryname{Corollary} |
89 \def\corollaryname{Corollary}% |
88 \def\definitionname{Definition} |
90 \def\definitionname{Definition}% |
89 \def\examplename{Example} |
91 \def\examplename{Example}% |
90 \def\exercisename{Exercise} |
92 \def\exercisename{Exercise}% |
91 \def\figurename{Fig.} |
93 \def\figurename{Fig.}% |
92 \def\keywordname{{\bf Key words:}} |
94 \def\keywordname{{\bf Keywords:}}% |
93 \def\indexname{Index} |
95 \def\indexname{Index}% |
94 \def\lemmaname{Lemma} |
96 \def\lemmaname{Lemma}% |
95 \def\contriblistname{List of Contributors} |
97 \def\contriblistname{List of Contributors}% |
96 \def\listfigurename{List of Figures} |
98 \def\listfigurename{List of Figures}% |
97 \def\listtablename{List of Tables} |
99 \def\listtablename{List of Tables}% |
98 \def\mailname{{\it Correspondence to\/}:} |
100 \def\mailname{{\it Correspondence to\/}:}% |
99 \def\noteaddname{Note added in proof} |
101 \def\noteaddname{Note added in proof}% |
100 \def\notename{Note} |
102 \def\notename{Note}% |
101 \def\partname{Part} |
103 \def\partname{Part}% |
102 \def\problemname{Problem} |
104 \def\problemname{Problem}% |
103 \def\proofname{Proof} |
105 \def\proofname{Proof}% |
104 \def\propertyname{Property} |
106 \def\propertyname{Property}% |
105 \def\propositionname{Proposition} |
107 \def\propositionname{Proposition}% |
106 \def\questionname{Question} |
108 \def\questionname{Question}% |
107 \def\remarkname{Remark} |
109 \def\remarkname{Remark}% |
108 \def\seename{see} |
110 \def\seename{see}% |
109 \def\solutionname{Solution} |
111 \def\solutionname{Solution}% |
110 \def\subclassname{{\it Subject Classifications\/}:} |
112 \def\subclassname{{\it Subject Classifications\/}:}% |
111 \def\tablename{Table} |
113 \def\tablename{Table}% |
112 \def\theoremname{Theorem}} |
114 \def\theoremname{Theorem}} |
113 \switcht@albion |
115 \switcht@albion |
114 % Names of theorem like environments are already defined |
116 % Names of theorem like environments are already defined |
115 % but must be translated if another language is chosen |
117 % but must be translated if another language is chosen |
116 % |
118 % |
118 \def\switcht@francais{%\typeout{On parle francais.}% |
120 \def\switcht@francais{%\typeout{On parle francais.}% |
119 \def\abstractname{R\'esum\'e.}% |
121 \def\abstractname{R\'esum\'e.}% |
120 \def\ackname{Remerciements.}% |
122 \def\ackname{Remerciements.}% |
121 \def\andname{et}% |
123 \def\andname{et}% |
122 \def\lastandname{ et}% |
124 \def\lastandname{ et}% |
123 \def\appendixname{Appendice} |
125 \def\appendixname{Appendice}% |
124 \def\chaptername{Chapitre}% |
126 \def\chaptername{Chapitre}% |
125 \def\claimname{Pr\'etention}% |
127 \def\claimname{Pr\'etention}% |
126 \def\conjecturename{Hypoth\`ese}% |
128 \def\conjecturename{Hypoth\`ese}% |
127 \def\contentsname{Table des mati\`eres}% |
129 \def\contentsname{Table des mati\`eres}% |
128 \def\corollaryname{Corollaire}% |
130 \def\corollaryname{Corollaire}% |
129 \def\definitionname{D\'efinition}% |
131 \def\definitionname{D\'efinition}% |
130 \def\examplename{Exemple}% |
132 \def\examplename{Exemple}% |
131 \def\exercisename{Exercice}% |
133 \def\exercisename{Exercice}% |
132 \def\figurename{Fig.}% |
134 \def\figurename{Fig.}% |
133 \def\keywordname{{\bf Mots-cl\'e:}} |
135 \def\keywordname{{\bf Mots-cl\'e:}}% |
134 \def\indexname{Index} |
136 \def\indexname{Index}% |
135 \def\lemmaname{Lemme}% |
137 \def\lemmaname{Lemme}% |
136 \def\contriblistname{Liste des contributeurs} |
138 \def\contriblistname{Liste des contributeurs}% |
137 \def\listfigurename{Liste des figures}% |
139 \def\listfigurename{Liste des figures}% |
138 \def\listtablename{Liste des tables}% |
140 \def\listtablename{Liste des tables}% |
139 \def\mailname{{\it Correspondence to\/}:} |
141 \def\mailname{{\it Correspondence to\/}:}% |
140 \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}% |
142 \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}% |
141 \def\notename{Remarque}% |
143 \def\notename{Remarque}% |
142 \def\partname{Partie}% |
144 \def\partname{Partie}% |
143 \def\problemname{Probl\`eme}% |
145 \def\problemname{Probl\`eme}% |
144 \def\proofname{Preuve}% |
146 \def\proofname{Preuve}% |
145 \def\propertyname{Caract\'eristique}% |
147 \def\propertyname{Caract\'eristique}% |
146 %\def\propositionname{Proposition}% |
148 %\def\propositionname{Proposition}% |
147 \def\questionname{Question}% |
149 \def\questionname{Question}% |
148 \def\remarkname{Remarque}% |
150 \def\remarkname{Remarque}% |
149 \def\seename{voir} |
151 \def\seename{voir}% |
150 \def\solutionname{Solution}% |
152 \def\solutionname{Solution}% |
151 \def\subclassname{{\it Subject Classifications\/}:} |
153 \def\subclassname{{\it Subject Classifications\/}:}% |
152 \def\tablename{Tableau}% |
154 \def\tablename{Tableau}% |
153 \def\theoremname{Th\'eor\`eme}% |
155 \def\theoremname{Th\'eor\`eme}% |
154 } |
156 } |
155 % |
157 % |
156 % German section |
158 % German section |
167 \def\corollaryname{Korollar}% |
169 \def\corollaryname{Korollar}% |
168 %\def\definitionname{Definition}% |
170 %\def\definitionname{Definition}% |
169 \def\examplename{Beispiel}% |
171 \def\examplename{Beispiel}% |
170 \def\exercisename{\"Ubung}% |
172 \def\exercisename{\"Ubung}% |
171 \def\figurename{Abb.}% |
173 \def\figurename{Abb.}% |
172 \def\keywordname{{\bf Schl\"usselw\"orter:}} |
174 \def\keywordname{{\bf Schl\"usselw\"orter:}}% |
173 \def\indexname{Index} |
175 \def\indexname{Index}% |
174 %\def\lemmaname{Lemma}% |
176 %\def\lemmaname{Lemma}% |
175 \def\contriblistname{Mitarbeiter} |
177 \def\contriblistname{Mitarbeiter}% |
176 \def\listfigurename{Abbildungsverzeichnis}% |
178 \def\listfigurename{Abbildungsverzeichnis}% |
177 \def\listtablename{Tabellenverzeichnis}% |
179 \def\listtablename{Tabellenverzeichnis}% |
178 \def\mailname{{\it Correspondence to\/}:} |
180 \def\mailname{{\it Correspondence to\/}:}% |
179 \def\noteaddname{Nachtrag}% |
181 \def\noteaddname{Nachtrag}% |
180 \def\notename{Anmerkung}% |
182 \def\notename{Anmerkung}% |
181 \def\partname{Teil}% |
183 \def\partname{Teil}% |
182 %\def\problemname{Problem}% |
184 %\def\problemname{Problem}% |
183 \def\proofname{Beweis}% |
185 \def\proofname{Beweis}% |
184 \def\propertyname{Eigenschaft}% |
186 \def\propertyname{Eigenschaft}% |
185 %\def\propositionname{Proposition}% |
187 %\def\propositionname{Proposition}% |
186 \def\questionname{Frage}% |
188 \def\questionname{Frage}% |
187 \def\remarkname{Anmerkung}% |
189 \def\remarkname{Anmerkung}% |
188 \def\seename{siehe} |
190 \def\seename{siehe}% |
189 \def\solutionname{L\"osung}% |
191 \def\solutionname{L\"osung}% |
190 \def\subclassname{{\it Subject Classifications\/}:} |
192 \def\subclassname{{\it Subject Classifications\/}:}% |
191 \def\tablename{Tabelle}% |
193 \def\tablename{Tabelle}% |
192 %\def\theoremname{Theorem}% |
194 %\def\theoremname{Theorem}% |
193 } |
195 } |
194 |
196 |
195 % Ragged bottom for the actual page |
197 % Ragged bottom for the actual page |
537 \nobreak % Never break after part entry |
539 \nobreak % Never break after part entry |
538 \endgroup} |
540 \endgroup} |
539 |
541 |
540 \def\@dotsep{2} |
542 \def\@dotsep{2} |
541 |
543 |
|
544 \let\phantomsection=\relax |
|
545 |
542 \def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else |
546 \def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else |
543 {chapter.\thechapter}\fi} |
547 {}\fi} |
544 |
548 |
545 \def\addnumcontentsmark#1#2#3{% |
549 \def\addnumcontentsmark#1#2#3{% |
546 \addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline |
550 \addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline |
547 {\thechapter}#3}{\thepage}\hyperhrefextend}} |
551 {\thechapter}#3}{\thepage}\hyperhrefextend}}% |
548 \def\addcontentsmark#1#2#3{% |
552 \def\addcontentsmark#1#2#3{% |
549 \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}} |
553 \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}% |
550 \def\addcontentsmarkwop#1#2#3{% |
554 \def\addcontentsmarkwop#1#2#3{% |
551 \addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}} |
555 \addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}% |
552 |
556 |
553 \def\@adcmk[#1]{\ifcase #1 \or |
557 \def\@adcmk[#1]{\ifcase #1 \or |
554 \def\@gtempa{\addnumcontentsmark}% |
558 \def\@gtempa{\addnumcontentsmark}% |
555 \or \def\@gtempa{\addcontentsmark}% |
559 \or \def\@gtempa{\addcontentsmark}% |
556 \or \def\@gtempa{\addcontentsmarkwop}% |
560 \or \def\@gtempa{\addcontentsmarkwop}% |
557 \fi\@gtempa{toc}{chapter}} |
561 \fi\@gtempa{toc}{chapter}% |
558 \def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}} |
562 } |
|
563 \def\addtocmark{% |
|
564 \phantomsection |
|
565 \@ifnextchar[{\@adcmk}{\@adcmk[3]}% |
|
566 } |
559 |
567 |
560 \def\l@chapter#1#2{\addpenalty{-\@highpenalty} |
568 \def\l@chapter#1#2{\addpenalty{-\@highpenalty} |
561 \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup |
569 \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup |
562 \parindent \z@ \rightskip \@tocrmarg |
570 \parindent \z@ \rightskip \@tocrmarg |
563 \advance\rightskip by 0pt plus 2cm |
571 \advance\rightskip by 0pt plus 2cm |
585 \@dotsep mu$}\hfill |
593 \@dotsep mu$}\hfill |
586 \nobreak\hbox to\@pnumwidth{\hss #2}\par |
594 \nobreak\hbox to\@pnumwidth{\hss #2}\par |
587 \penalty\@highpenalty \endgroup} |
595 \penalty\@highpenalty \endgroup} |
588 |
596 |
589 \def\l@author#1#2{\addpenalty{\@highpenalty} |
597 \def\l@author#1#2{\addpenalty{\@highpenalty} |
590 \@tempdima=\z@ %15\p@ |
598 \@tempdima=15\p@ %\z@ |
591 \begingroup |
599 \begingroup |
592 \parindent \z@ \rightskip \@tocrmarg |
600 \parindent \z@ \rightskip \@tocrmarg |
593 \advance\rightskip by 0pt plus 2cm |
601 \advance\rightskip by 0pt plus 2cm |
594 \pretolerance=10000 |
602 \pretolerance=10000 |
595 \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip |
603 \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip |
596 \textit{#1}\par |
604 \textit{#1}\par |
597 \penalty\@highpenalty \endgroup} |
605 \penalty\@highpenalty \endgroup} |
598 |
606 |
599 %\setcounter{tocdepth}{0} |
607 \setcounter{tocdepth}{0} |
600 \newdimen\tocchpnum |
608 \newdimen\tocchpnum |
601 \newdimen\tocsecnum |
609 \newdimen\tocsecnum |
602 \newdimen\tocsectotal |
610 \newdimen\tocsectotal |
603 \newdimen\tocsubsecnum |
611 \newdimen\tocsubsecnum |
604 \newdimen\tocsubsectotal |
612 \newdimen\tocsubsectotal |
871 \AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}% |
880 \AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}% |
872 \@ifpackageloaded{babel}{% |
881 \@ifpackageloaded{babel}{% |
873 \@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}% |
882 \@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}% |
874 \@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}% |
883 \@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}% |
875 \@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}% |
884 \@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}% |
|
885 \@ifundefined{extrasngerman}{}{\addto\extrasngerman{\switcht@deutsch}}% |
876 }{\switcht@@therlang}% |
886 }{\switcht@@therlang}% |
|
887 \providecommand{\keywords}[1]{\par\addvspace\baselineskip |
|
888 \noindent\keywordname\enspace\ignorespaces#1}% |
877 } |
889 } |
878 \def\homedir{\~{ }} |
890 \def\homedir{\~{ }} |
879 |
891 |
880 \def\subtitle#1{\gdef\@subtitle{#1}} |
892 \def\subtitle#1{\gdef\@subtitle{#1}} |
881 \clearheadinfo |
893 \clearheadinfo |
882 |
894 % |
|
895 %%% to avoid hyperref warnings |
|
896 \providecommand*{\toclevel@author}{999} |
|
897 %%% to make title-entry parent of section-entries |
|
898 \providecommand*{\toclevel@title}{0} |
|
899 % |
883 \renewcommand\maketitle{\newpage |
900 \renewcommand\maketitle{\newpage |
|
901 \phantomsection |
884 \refstepcounter{chapter}% |
902 \refstepcounter{chapter}% |
885 \stepcounter{section}% |
903 \stepcounter{section}% |
886 \setcounter{section}{0}% |
904 \setcounter{section}{0}% |
887 \setcounter{subsection}{0}% |
905 \setcounter{subsection}{0}% |
888 \setcounter{figure}{0} |
906 \setcounter{figure}{0} |
907 % |
925 % |
908 \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}% |
926 \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}% |
909 \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}% |
927 \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}% |
910 \instindent=\hsize |
928 \instindent=\hsize |
911 \advance\instindent by-\headlineindent |
929 \advance\instindent by-\headlineindent |
912 % \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else |
930 \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else |
913 % \addcontentsline{toc}{title}{\the\toctitle}\fi |
931 \addcontentsline{toc}{title}{\the\toctitle}\fi |
914 \if@runhead |
932 \if@runhead |
915 \if!\the\titlerunning!\else |
933 \if!\the\titlerunning!\else |
916 \edef\@title{\the\titlerunning}% |
934 \edef\@title{\the\titlerunning}% |
917 \fi |
935 \fi |
918 \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}% |
936 \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}% |
932 \else |
950 \else |
933 \def\\{\noexpand\protect\noexpand\newline}% |
951 \def\\{\noexpand\protect\noexpand\newline}% |
934 \protected@xdef\scratch{\the\tocauthor}% |
952 \protected@xdef\scratch{\the\tocauthor}% |
935 \protected@xdef\toc@uthor{\scratch}% |
953 \protected@xdef\toc@uthor{\scratch}% |
936 \fi |
954 \fi |
937 % \addcontentsline{toc}{author}{\toc@uthor}% |
955 \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}% |
|
956 \addcontentsline{toc}{author}{\toc@uthor}% |
938 \if@runhead |
957 \if@runhead |
939 \if!\the\authorrunning! |
958 \if!\the\authorrunning! |
940 \value{@inst}=\value{@auth}% |
959 \value{@inst}=\value{@auth}% |
941 \setcounter{@auth}{1}% |
960 \setcounter{@auth}{1}% |
942 \else |
961 \else |
1036 \global\@namedef{end#1}{\@endtheorem}}} |
1055 \global\@namedef{end#1}{\@endtheorem}}} |
1037 |
1056 |
1038 \def\@spothm#1[#2]#3#4#5{% |
1057 \def\@spothm#1[#2]#3#4#5{% |
1039 \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}% |
1058 \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}% |
1040 {\expandafter\@ifdefinable\csname #1\endcsname |
1059 {\expandafter\@ifdefinable\csname #1\endcsname |
1041 {\global\@namedef{the#1}{\@nameuse{the#2}}% |
1060 {\newaliascnt{#1}{#2}% |
1042 \expandafter\xdef\csname #1name\endcsname{#3}% |
1061 \expandafter\xdef\csname #1name\endcsname{#3}% |
1043 \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}% |
1062 \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}% |
1044 \global\@namedef{end#1}{\@endtheorem}}}} |
1063 \global\@namedef{end#1}{\@endtheorem}}}} |
1045 |
1064 |
1046 \def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@ |
1065 \def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@ |
1047 \refstepcounter{#1}% |
1066 \refstepcounter{#1}% |
1048 \@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}} |
1067 \@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}} |