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