commit 19c47ad8fffb3450abd2715126686827887b4e63
parent 7c09169adb688f0e7794f72ebdcab55f3d00ba90
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Mon, 22 Apr 2019 11:08:00 +0300
paper boilerplate.
Diffstat:
14 files changed, 3658 insertions(+), 355 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -304,4 +304,4 @@ tags
# End of https://www.gitignore.io/api/vim,latex,linux
-/build
+build
diff --git a/Makefile b/Makefile
@@ -22,3 +22,4 @@ clean:
@rm -rf build
.PHONY: build clean
+
diff --git a/Waves_01.png b/Waves_01.png
Binary files differ.
diff --git a/abstract.odt b/abstract.odt
Binary files differ.
diff --git a/abstract/Makefile b/abstract/Makefile
@@ -0,0 +1,24 @@
+LATEXMK = env max_print_line=1000 texfot --no-stderr --quiet latexmk
+
+FLAGS = \
+ -8bit \
+ -interaction=nonstopmode \
+ -output-directory=build \
+ -pdf \
+ -bibtex \
+ -shell-escape
+
+NAME = mmcp-19-gerstner
+
+build/$(NAME).pdf: build
+build/$(NAME).pdf: main.tex
+ @echo " LATEX $<"
+ @-$(LATEXMK) $(FLAGS) -f $<
+
+build:
+ @mkdir -p build
+
+clean:
+ @rm -rf build
+
+.PHONY: build clean
diff --git a/abstract/Waves_01.png b/abstract/Waves_01.png
Binary files differ.
diff --git a/abstract/abstract.odt b/abstract/abstract.odt
Binary files differ.
diff --git a/abstract/main.tex b/abstract/main.tex
@@ -0,0 +1,140 @@
+% !TeX spellcheck = en_US
+\documentclass[8pt]{extarticle}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{hyperref}
+\usepackage[pdftex]{graphicx}
+\usepackage{mmcpauth}
+
+% START of users changes
+
+\mmcpDate{\today} % date on which was created agreement
+
+% \mmcpTitle{Name of abstract}
+\mmcpTitle{Computational model of unsteady hydromechanics~of~large-amplitude Gerstner waves}
+
+% \mmcpAuthor{institute number. If multiple, delimited by comma}{Authors name}
+\mmcpAuthor{1}{Alexander Degtyarev}
+\mmcpAuthor{1}{Ivan Gankevich}{}
+\mmcpAuthor{1}{Nataliia Kulabukhova}{}
+\mmcpAuthor{1,2}{Vasily Khramushin}{}
+
+% \mmcpAffil{Institute number (exactly one!)}{Institute name and address}
+\mmcpAffil{1}{Saint Petersburg State University, Russia}
+\mmcpAffil{2}{Scientific Society of Shipbuilders named after Alexey Krylov, Russia}
+
+% Full text of abstract. If you use some graphics, don't forget to send it together with abstract.
+\mmcpAbstract{%
+
+Numerical experiments in ship hydromechanics involve non-stationary interaction
+of a ship hull and wavy surface that include formation of vortices, surfaces of
+jet discontinuities, and discontinuities in fluid under influence of negative
+pressure. These physical phenomena occur not only near ship hull, but also at
+a distance where waves break as a result of interference of sea waves and waves
+reflected from the hull.
+
+In the study reported here we simulate wave breaking and reflection near the
+ship hull. We use explicit numerical schemes to simulate propagation of
+large-amplitude sea waves and their transformation after the impact with a
+ship. The problem reduces to determining wave kinematics on a moving boundary
+of a ship hull and a free boundary of a computational domain. We build a grid
+of large particles having a form of a parallelepiped, and in wave equation in
+place of velocity field we integrate streams of fluid represented by functions
+as smooth as wavy surface elevation field. We assume that within boundaries of
+computational domain waves do not disperse, i.e.~their length and period stays
+the same. Under this assumption we simulate trochoidal Gerstner
+waves~\mcite{gerstner} of a particular period. Wavy surface boundary have to
+satisfy Bernoulli equation: pressure on the surface of the wave becomes
+non-constant, fluid particles drift in the upper layers of a fluid in the
+direction of wave propagation~\mcite{shuleikin}, and vortices form as a result.
+The drift is simulated by changing curvatures of particles trajectories based
+on the instantaneous change of wavy surface elevation.
+
+This approach allows to simulate wave breaking and reflection near ship hull.
+The goal of the research is to develop a new method of taking wave reflection
+into account in ship motion simulations as an alternative to the classic method
+that uses added masses.
+
+}
+
+% Acknowledgement. Leave parameter empty if nothing should be acknowledged, i.e., \mmcpAcknowledgement{}
+\mmcpAcknowledgement{Research work is supported by Saint Petersburg State
+University (grant no.~26520170 and~39417213).}
+
+\mmcpLiterature{%
+\begin{thebibliography}{2}\footnotesize
+\mbibitem{gerstner}F.~J.~Gerstner, Theorie der Wellen samt einer daraus
+abgeleiteten Theorie der Deichprofile, Prag (1804).
+\mbibitem{shuleikin}V.~V.~Shuleikin, Physics of the sea, Moscow, Science (1968).
+\end{thebibliography}
+}
+
+% END of users changes
+
+% Don't edit anything beyond this line without discussion with organizers.
+\begin{document}
+\thispagestyle{empty}
+
+{
+\begin{center}
+\Large
+Conference Mathematical Modeling and Computational Physics \\[1ex]
+July 1--5, 2019 \\[5mm]
+
+\huge Abstract License Agreement
+\end{center}
+
+\bigskip
+
+\noindent
+In submitting this abstract to the MMCP2019 conference, I certify the Conference Organizers that:
+
+\begin{enumerate}
+\item I am authorized by my co-authors to enter into these arrangements.
+\item I warrant, on behalf of myself and my co-authors, that:
+\begin{itemize}
+\item the document is original, has not been formally published in any other journal, is not under consideration by any other journal and does not infringe any existing copyright or any other third party rights;
+\item I am/we are the sole author(s) of the abstract and have full authority to enter into this agreement and in granting rights to the Conference Organizers that are not in breach of any other obligation;
+\item the document contains nothing that is unlawful, libelous, or which would, if published, constitute a breach of contract or of confidence or of commitment given to secrecy;
+\item I/we have taken due care to ensure the integrity of the abstract. To my/our -- and currently accepted scientific -- knowledge all statements contained in it purporting to be facts are true and any formula or instruction contained in the abstract will not, if followed accurately, cause any injury, illness or damage to the user.
+\end{itemize}
+\item I agree to the Creative Commons Attribution License (\url{https://creativecommons.org/licenses/by/4.0/})
+\item \textbf{I agree that the title of the abstract together with the names and the affiliations of the author(s) be published on the webpage of the conference MMCP2019 and in the MMCP2019 Book of Abstracts.}
+\end{enumerate}
+
+\medskip
+
+Title of the conference:
+
+\textbf{Mathematical Modeling and Computational Physics, 2019}
+
+\medskip
+
+Title of the document:
+
+\textbf{\laTitle}
+
+\medskip
+
+Author(s):
+
+\textbf{\laauthors}
+
+\bigskip
+
+\bigskip
+
+Date: \printMMCPDate
+
+\bigskip
+
+\bigskip
+
+Author's signature:
+}
+
+\newpage
+
+\printAbstract
+\end{document}
diff --git a/abstract/mmcpauth.sty b/abstract/mmcpauth.sty
@@ -0,0 +1,214 @@
+%!TEX root=mmcp_abstract.tex
+%%
+%% This is file `mmcpauth.sty',
+%% created from authblk.sty with changes on saving
+%% list of authors and title so that they can be
+%% reused later. Special for the MMCP conference.
+%%
+%% Full documentation can be obtained by LaTeXing that original file.
+%% Only a few abbreviated comments remain here to describe the usage.
+%% =============================================
+%% Original authblk.sty copyright:
+%% Copyright 1997-1999 Patrick W Daly
+%% Max-Planck-Institut f\"ur Aeronomie
+%% Max-Planck-Str. 2
+%% D-37191 Katlenburg-Lindau
+%% Germany
+%% E-mail: daly@linmpi.mpg.de
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{mmcpauth}
+ [2019/02/28 1.0]
+ %-------------------------------------------------------------------
+ % NOTICE:
+ % This file may be used for non-profit purposes.
+ % It may not be distributed in exchange for money,
+ % other than distribution costs.
+ %
+ % The author provides it `as is' and does not guarantee it in any way.
+ %
+ %-----------------------------------------------------------
+ % Author/Affiliation Blocks
+ % A LaTeX2e package to redefine the \author command to work as normal or
+ % to allow a footnote style of author/affiliation input.
+ %
+ % Three methods of input:
+ % 1. Standard LaTeX
+ % \author{Name1\\Affil1 /and Name2 and Name3\\Affil2 . . .}
+ % (use \authorcr, not \\, to force new line within the author text)
+ % 2. Automatic mode (selects modes 1 or 3 depending on number of affiliations)
+ % \author{Name1}
+ % \affil{Affil1}
+ % \author{Name2}
+ % \author{Name3}
+ % \affil{Affil2}
+ % . . .
+ % 3. Footnotes explicitly
+ % \author[*]{Name1}
+ % \author[**]{Name2}
+ % \author[**]{Name3}
+ % \affil[*]{Affil1}
+ % \affil[**]{Affil2}
+ % . . .
+ % See documentation in authblk.dtx for further configuration possibilities.
+ %-----------------------------------------------------------
+\date{}
+\newcommand{\printAcknowledgement}{}
+\newcommand{\laTitle}{}
+\def\refname{{\small References}}
+\def\mmcpTitle#1{%
+ \title{#1}
+ \renewcommand{\laTitle}{#1}
+}
+
+\def\mmcpAffil#1#2{\affil[#1]{#2}}
+\def\mmcpAuthor#1#2{%
+ \author[#1]{#2}
+ \laauthor{#2}
+}
+
+\newcommand\Authfont{\normalfont}
+\newcommand\Affilfont{\normalfont}
+\newcommand\Authsep{, }
+\newcommand\Authands{, and }
+\newcommand\Authand{ and }
+\newlength{\affilsep}\setlength{\affilsep}{1em}
+\newlength{\@affilsep}
+\newcounter{Maxaffil}
+\setcounter{Maxaffil}{2}
+\DeclareOption{blocks}{\setcounter{Maxaffil}{\maxdimen}}
+\DeclareOption{noblocks}{\setcounter{Maxaffil}{0}}
+\DeclareOption{max2}{\setcounter{Maxaffil}{2}}
+\DeclareOption{max3}{\setcounter{Maxaffil}{3}}
+\DeclareOption{max4}{\setcounter{Maxaffil}{4}}
+\DeclareOption{max5}{\setcounter{Maxaffil}{5}}
+\DeclareOption{max6}{\setcounter{Maxaffil}{6}}
+\DeclareOption{auth-sc}{\renewcommand\Authfont{\scshape}}
+\DeclareOption{auth-sc-lg}{\renewcommand\Authfont{\large\scshape}}
+\DeclareOption{auth-lg}{\renewcommand\Authfont{\large}}
+\DeclareOption{affil-sl}{\renewcommand\Affilfont{\slshape}}
+\DeclareOption{affil-it}{\renewcommand\Affilfont{\itshape}}
+\DeclareOption{german}{\renewcommand\Authand{, und }%
+ \renewcommand\Authands{, und }}
+\ProcessOptions
+\newcounter{authors}
+\newcounter{laauthors}
+\setcounter{laauthors}{0}
+\newcounter{affil}
+\newif\ifnewaffil \newaffiltrue
+\newcommand\AB@authnote[1]{\textsuperscript{\normalfont#1}}
+\newcommand\AB@affilnote[1]{\textsuperscript{\normalfont#1}}
+\providecommand\textsuperscript[1]{$^{#1}$}
+\newcommand\AB@blk@and{\protect\Authfont\protect\AB@setsep}
+\newcommand\AB@pand{\protect\and \protect\Authfont \protect\AB@setsep}
+\@namedef{@sep1}{}
+\@namedef{@sep2}{\Authand}
+\newcommand\AB@affilsep{\protect\Affilfont}
+\newcommand\AB@affilsepx{\protect\\\protect\Affilfont}
+\newcommand\AB@setsep{\setlength{\@affilsep}{\affilsep}}
+\newcommand\AB@resetsep{\setlength{\@affilsep}{\z@}}
+\newcommand\AB@authlist{}
+\newcommand\AB@affillist{}
+\newcommand\AB@authors{}
+\newcommand\AB@empty{}
+\xdef\AB@author{\noexpand\AB@blk@and\@author}
+\renewcommand\author[2][]%
+ {\ifnewaffil\addtocounter{affil}{1}%
+ \edef\AB@thenote{\arabic{affil}}\fi
+ \if\relax#1\relax\def\AB@note{\AB@thenote}\else\def\AB@note{#1}%
+ \setcounter{Maxaffil}{0}\fi
+ \ifnum\value{authors}>1\relax
+ \@namedef{@sep\number\c@authors}{\Authsep}\fi
+ \addtocounter{authors}{1}%
+ \begingroup
+ \let\protect\@unexpandable@protect \let\and\AB@pand
+ \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
+ \@temptokena=\expandafter{\AB@authors}%
+ {\def\\{\protect\\[\@affilsep]\protect\Affilfont
+ \protect\AB@resetsep}%
+ \xdef\AB@author{\AB@blk@and#2}%
+ \ifnewaffil\gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}%
+ \xdef\AB@authors{\the\@temptokena\AB@blk@and}%
+ \else
+ \xdef\AB@authors{\the\@temptokena\AB@as\AB@au@str}%
+ \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}%
+ \gdef\AB@as{\Authsep}%
+ \fi
+ \gdef\AB@au@str{#2}}%
+ \@temptokena=\expandafter{\AB@authlist}%
+ \let\\=\authorcr
+ \xdef\AB@authlist{\the\@temptokena
+ \protect\@nameuse{@sep\number\c@authors}%
+ \protect\Authfont#2\AB@authnote{\AB@note}}%
+ \endgroup
+ \ifnum\value{authors}>2\relax
+ \@namedef{@sep\number\c@authors}{\Authands}\fi
+ \newaffilfalse
+}
+\newcommand\authorcr{\protect\\ \protect\Authfont \protect\AB@setsep}%
+\newcommand\affil[2][]%
+ {\newaffiltrue\let\AB@blk@and\AB@pand
+ \if\relax#1\relax\def\AB@note{\AB@thenote}\else\def\AB@note{#1}%
+ \setcounter{Maxaffil}{0}\fi
+ \begingroup
+ \let\protect\@unexpandable@protect
+ \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
+ \@temptokena=\expandafter{\AB@authors}%
+ {\def\\{\protect\\\protect\Affilfont}\xdef\AB@temp{#2}}%
+ \xdef\AB@authors{\the\@temptokena\AB@las\AB@au@str
+ \protect\\[\affilsep]\protect\Affilfont\AB@temp}%
+ \gdef\AB@las{}\gdef\AB@au@str{}%
+ {\def\\{, \ignorespaces}\xdef\AB@temp{#2}}%
+ \@temptokena=\expandafter{\AB@affillist}%
+ \xdef\AB@affillist{\the\@temptokena \AB@affilsep
+ \AB@affilnote{\AB@note}\protect\Affilfont\AB@temp}%
+ \endgroup
+ \let\AB@affilsep\AB@affilsepx
+}
+\def\@author{}
+\renewcommand\@author{\ifx\AB@affillist\AB@empty\AB@author\else
+ \ifnum\value{affil}>\value{Maxaffil}\def\rlap##1{##1}%
+ \AB@authlist\\[\affilsep]\AB@affillist
+ \else \AB@authors\fi\fi}
+\let\AB@maketitle=\maketitle
+\def\maketitle
+ {{\renewenvironment{tabular}[2][]{\begin{center}}
+ {\end{center}}
+ \AB@maketitle}}
+\def\laauthor#1{
+ \ifnum\value{laauthors}<1
+ \newcommand{\laauthors}{#1}
+ \addtocounter{laauthors}{1}
+ \else
+ \g@addto@macro\laauthors{, #1}
+ \addtocounter{laauthors}{1}
+ \fi
+}
+
+\newcommand{\printLiterature}{}
+\newcommand{\printMMCPAbstract}{}
+\newcommand{\mmcpAbstract}[1]{\renewcommand{\printMMCPAbstract}{#1}}
+\newcommand{\mmcpLiterature}[1]{\renewcommand{\printLiterature}{#1}}
+
+\newcommand{\mmcpDate}[1]{\def\printMMCPDate{#1}}
+\newcommand{\mmcpAcknowledgement}[1]{%
+\ifx\relax#1\relax
+ \renewcommand{\printAcknowledgement}{}
+\else
+ \renewcommand{\printAcknowledgement}{\medskip \noindent\textbf{Acknowledgement:} #1}\fi}
+
+\newcommand{\bibkey}{key}
+\newcommand{\mcite}[1]{\cite{\bibkey#1}}
+\newcommand{\mbibitem}[1]{\bibitem{\bibkey#1}}
+
+\def\printAbstract{%
+\setcounter{page}{1}
+
+\maketitle
+
+\printMMCPAbstract
+
+\printAcknowledgement
+
+\printLiterature
+}
+%% End of file `mmcpauth.sty'.
diff --git a/main.tex b/main.tex
@@ -1,140 +1,70 @@
-% !TeX spellcheck = en_US
-\documentclass[8pt]{extarticle}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{lmodern}
-\usepackage{hyperref}
-\usepackage[pdftex]{graphicx}
-\usepackage{mmcpauth}
-
-% START of users changes
-
-\mmcpDate{\today} % date on which was created agreement
-
-% \mmcpTitle{Name of abstract}
-\mmcpTitle{Computational model of unsteady hydromechanics~of~large-amplitude Gerstner waves}
-
-% \mmcpAuthor{institute number. If multiple, delimited by comma}{Authors name}
-\mmcpAuthor{1}{Alexander Degtyarev}
-\mmcpAuthor{1}{Ivan Gankevich}{}
-\mmcpAuthor{1}{Nataliia Kulabukhova}{}
-\mmcpAuthor{1,2}{Vasily Khramushin}{}
-
-% \mmcpAffil{Institute number (exactly one!)}{Institute name and address}
-\mmcpAffil{1}{Saint Petersburg State University, Russia}
-\mmcpAffil{2}{Scientific Society of Shipbuilders named after Alexey Krylov, Russia}
-
-% Full text of abstract. If you use some graphics, don't forget to send it together with abstract.
-\mmcpAbstract{%
-
-Numerical experiments in ship hydromechanics involve non-stationary interaction
-of a ship hull and wavy surface that include formation of vortices, surfaces of
-jet discontinuities, and discontinuities in fluid under influence of negative
-pressure. These physical phenomena occur not only near ship hull, but also at
-a distance where waves break as a result of interference of sea waves and waves
-reflected from the hull.
-
-In the study reported here we simulate wave breaking and reflection near the
-ship hull. We use explicit numerical schemes to simulate propagation of
-large-amplitude sea waves and their transformation after the impact with a
-ship. The problem reduces to determining wave kinematics on a moving boundary
-of a ship hull and a free boundary of a computational domain. We build a grid
-of large particles having a form of a parallelepiped, and in wave equation in
-place of velocity field we integrate streams of fluid represented by functions
-as smooth as wavy surface elevation field. We assume that within boundaries of
-computational domain waves do not disperse, i.e.~their length and period stays
-the same. Under this assumption we simulate trochoidal Gerstner
-waves~\mcite{gerstner} of a particular period. Wavy surface boundary have to
-satisfy Bernoulli equation: pressure on the surface of the wave becomes
-non-constant, fluid particles drift in the upper layers of a fluid in the
-direction of wave propagation~\mcite{shuleikin}, and vortices form as a result.
-The drift is simulated by changing curvatures of particles trajectories based
-on the instantaneous change of wavy surface elevation.
-
-This approach allows to simulate wave breaking and reflection near ship hull.
-The goal of the research is to develop a new method of taking wave reflection
-into account in ship motion simulations as an alternative to the classic method
-that uses added masses.
-
-}
-
-% Acknowledgement. Leave parameter empty if nothing should be acknowledged, i.e., \mmcpAcknowledgement{}
-\mmcpAcknowledgement{Research work is supported by Saint Petersburg State
-University (grant no.~26520170 and~39417213).}
-
-\mmcpLiterature{%
-\begin{thebibliography}{2}\footnotesize
-\mbibitem{gerstner}F.~J.~Gerstner, Theorie der Wellen samt einer daraus
-abgeleiteten Theorie der Deichprofile, Prag (1804).
-\mbibitem{shuleikin}V.~V.~Shuleikin, Physics of the sea, Moscow, Science (1968).
-\end{thebibliography}
-}
-
-% END of users changes
-
-% Don't edit anything beyond this line without discussion with organizers.
-\begin{document}
-\thispagestyle{empty}
-
-{
-\begin{center}
-\Large
-Conference Mathematical Modeling and Computational Physics \\[1ex]
-July 1--5, 2019 \\[5mm]
-
-\huge Abstract License Agreement
-\end{center}
-
-\bigskip
-
-\noindent
-In submitting this abstract to the MMCP2019 conference, I certify the Conference Organizers that:
-
-\begin{enumerate}
-\item I am authorized by my co-authors to enter into these arrangements.
-\item I warrant, on behalf of myself and my co-authors, that:
-\begin{itemize}
-\item the document is original, has not been formally published in any other journal, is not under consideration by any other journal and does not infringe any existing copyright or any other third party rights;
-\item I am/we are the sole author(s) of the abstract and have full authority to enter into this agreement and in granting rights to the Conference Organizers that are not in breach of any other obligation;
-\item the document contains nothing that is unlawful, libelous, or which would, if published, constitute a breach of contract or of confidence or of commitment given to secrecy;
-\item I/we have taken due care to ensure the integrity of the abstract. To my/our -- and currently accepted scientific -- knowledge all statements contained in it purporting to be facts are true and any formula or instruction contained in the abstract will not, if followed accurately, cause any injury, illness or damage to the user.
-\end{itemize}
-\item I agree to the Creative Commons Attribution License (\url{https://creativecommons.org/licenses/by/4.0/})
-\item \textbf{I agree that the title of the abstract together with the names and the affiliations of the author(s) be published on the webpage of the conference MMCP2019 and in the MMCP2019 Book of Abstracts.}
-\end{enumerate}
-
-\medskip
-
-Title of the conference:
-
-\textbf{Mathematical Modeling and Computational Physics, 2019}
-
-\medskip
-
-Title of the document:
-
-\textbf{\laTitle}
-
-\medskip
-
-Author(s):
-
-\textbf{\laauthors}
-
-\bigskip
-
-\bigskip
-
-Date: \printMMCPDate
-
-\bigskip
-
-\bigskip
-
-Author's signature:
-}
-
-\newpage
-
-\printAbstract
-\end{document}
+\documentclass{webofc}
+
+\usepackage[varg]{txfonts}
+
+\begin{document}
+
+\title{Computational model of unsteady hydromechanics\\of large amplitude Gerstner waves}
+%\subtitle{Do you have a subtitle?\\ If so, write it here}
+
+\author{%
+\firstname{Alexander} \lastname{Degtyarev}\inst{1}%
+\and%
+\firstname{Ivan} \lastname{Gankevich}\inst{1}%
+\fnsep\thanks{\email{i.gankevich@spbu.ru}}%
+\and%
+\firstname{Nataliia} \lastname{Kulabukhova}\inst{1}%
+\and%
+\firstname{Vasily} \lastname{Khramushin}\inst{1,2}%
+}
+
+\institute{%
+Saint Petersburg State University, Russia%
+\and%
+Scientific Society of Shipbuilders named after Alexey Krylov, Russia%
+}
+
+\abstract{%
+Numerical experiments in ship hydromechanics involve non-stationary interaction
+of a ship hull and wavy surface that include formation of vortices, surfaces of
+jet discontinuities, and discontinuities in fluid under influence of negative
+pressure. These physical phenomena occur not only near ship hull, but also at
+a distance where waves break as a result of interference of sea waves and waves
+reflected from the hull.
+In the study reported here we simulate wave breaking and reflection near the
+ship hull. We use explicit numerical schemes to simulate propagation of
+large-amplitude sea waves and their transformation after the impact with a
+ship. The problem reduces to determining wave kinematics on a moving boundary
+of a ship hull and a free boundary of a computational domain. We build a grid
+of large particles having a form of a parallelepiped, and in wave equation in
+place of velocity field we integrate streams of fluid represented by functions
+as smooth as wavy surface elevation field. We assume that within boundaries of
+computational domain waves do not disperse, i.e.~their length and period stays
+the same. Under this assumption we simulate trochoidal Gerstner
+waves of a particular period. Wavy surface boundary have to
+satisfy Bernoulli equation: pressure on the surface of the wave becomes
+non-constant, fluid particles drift in the upper layers of a fluid in the
+direction of wave propagation, and vortices form as a result.
+The drift is simulated by changing curvatures of particles trajectories based
+on the instantaneous change of wavy surface elevation.
+This approach allows to simulate wave breaking and reflection near ship hull.
+The goal of the research is to develop a new method of taking wave reflection
+into account in ship motion simulations as an alternative to the classic method
+that uses added masses.
+}
+
+\maketitle
+
+\section{Introduction}
+\section{Methods}
+\section{Results}
+\section{Conslusion}
+
+\begin{acknowledgement}
+Research work is supported by Saint Petersburg State University (grant
+no.~26520170 and~39417213).
+\end{acknowledgement}
+
+\bibliography{refs.bib}
+
+\end{document}
diff --git a/mmcpauth.sty b/mmcpauth.sty
@@ -1,214 +0,0 @@
-%!TEX root=mmcp_abstract.tex
-%%
-%% This is file `mmcpauth.sty',
-%% created from authblk.sty with changes on saving
-%% list of authors and title so that they can be
-%% reused later. Special for the MMCP conference.
-%%
-%% Full documentation can be obtained by LaTeXing that original file.
-%% Only a few abbreviated comments remain here to describe the usage.
-%% =============================================
-%% Original authblk.sty copyright:
-%% Copyright 1997-1999 Patrick W Daly
-%% Max-Planck-Institut f\"ur Aeronomie
-%% Max-Planck-Str. 2
-%% D-37191 Katlenburg-Lindau
-%% Germany
-%% E-mail: daly@linmpi.mpg.de
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{mmcpauth}
- [2019/02/28 1.0]
- %-------------------------------------------------------------------
- % NOTICE:
- % This file may be used for non-profit purposes.
- % It may not be distributed in exchange for money,
- % other than distribution costs.
- %
- % The author provides it `as is' and does not guarantee it in any way.
- %
- %-----------------------------------------------------------
- % Author/Affiliation Blocks
- % A LaTeX2e package to redefine the \author command to work as normal or
- % to allow a footnote style of author/affiliation input.
- %
- % Three methods of input:
- % 1. Standard LaTeX
- % \author{Name1\\Affil1 /and Name2 and Name3\\Affil2 . . .}
- % (use \authorcr, not \\, to force new line within the author text)
- % 2. Automatic mode (selects modes 1 or 3 depending on number of affiliations)
- % \author{Name1}
- % \affil{Affil1}
- % \author{Name2}
- % \author{Name3}
- % \affil{Affil2}
- % . . .
- % 3. Footnotes explicitly
- % \author[*]{Name1}
- % \author[**]{Name2}
- % \author[**]{Name3}
- % \affil[*]{Affil1}
- % \affil[**]{Affil2}
- % . . .
- % See documentation in authblk.dtx for further configuration possibilities.
- %-----------------------------------------------------------
-\date{}
-\newcommand{\printAcknowledgement}{}
-\newcommand{\laTitle}{}
-\def\refname{{\small References}}
-\def\mmcpTitle#1{%
- \title{#1}
- \renewcommand{\laTitle}{#1}
-}
-
-\def\mmcpAffil#1#2{\affil[#1]{#2}}
-\def\mmcpAuthor#1#2{%
- \author[#1]{#2}
- \laauthor{#2}
-}
-
-\newcommand\Authfont{\normalfont}
-\newcommand\Affilfont{\normalfont}
-\newcommand\Authsep{, }
-\newcommand\Authands{, and }
-\newcommand\Authand{ and }
-\newlength{\affilsep}\setlength{\affilsep}{1em}
-\newlength{\@affilsep}
-\newcounter{Maxaffil}
-\setcounter{Maxaffil}{2}
-\DeclareOption{blocks}{\setcounter{Maxaffil}{\maxdimen}}
-\DeclareOption{noblocks}{\setcounter{Maxaffil}{0}}
-\DeclareOption{max2}{\setcounter{Maxaffil}{2}}
-\DeclareOption{max3}{\setcounter{Maxaffil}{3}}
-\DeclareOption{max4}{\setcounter{Maxaffil}{4}}
-\DeclareOption{max5}{\setcounter{Maxaffil}{5}}
-\DeclareOption{max6}{\setcounter{Maxaffil}{6}}
-\DeclareOption{auth-sc}{\renewcommand\Authfont{\scshape}}
-\DeclareOption{auth-sc-lg}{\renewcommand\Authfont{\large\scshape}}
-\DeclareOption{auth-lg}{\renewcommand\Authfont{\large}}
-\DeclareOption{affil-sl}{\renewcommand\Affilfont{\slshape}}
-\DeclareOption{affil-it}{\renewcommand\Affilfont{\itshape}}
-\DeclareOption{german}{\renewcommand\Authand{, und }%
- \renewcommand\Authands{, und }}
-\ProcessOptions
-\newcounter{authors}
-\newcounter{laauthors}
-\setcounter{laauthors}{0}
-\newcounter{affil}
-\newif\ifnewaffil \newaffiltrue
-\newcommand\AB@authnote[1]{\textsuperscript{\normalfont#1}}
-\newcommand\AB@affilnote[1]{\textsuperscript{\normalfont#1}}
-\providecommand\textsuperscript[1]{$^{#1}$}
-\newcommand\AB@blk@and{\protect\Authfont\protect\AB@setsep}
-\newcommand\AB@pand{\protect\and \protect\Authfont \protect\AB@setsep}
-\@namedef{@sep1}{}
-\@namedef{@sep2}{\Authand}
-\newcommand\AB@affilsep{\protect\Affilfont}
-\newcommand\AB@affilsepx{\protect\\\protect\Affilfont}
-\newcommand\AB@setsep{\setlength{\@affilsep}{\affilsep}}
-\newcommand\AB@resetsep{\setlength{\@affilsep}{\z@}}
-\newcommand\AB@authlist{}
-\newcommand\AB@affillist{}
-\newcommand\AB@authors{}
-\newcommand\AB@empty{}
-\xdef\AB@author{\noexpand\AB@blk@and\@author}
-\renewcommand\author[2][]%
- {\ifnewaffil\addtocounter{affil}{1}%
- \edef\AB@thenote{\arabic{affil}}\fi
- \if\relax#1\relax\def\AB@note{\AB@thenote}\else\def\AB@note{#1}%
- \setcounter{Maxaffil}{0}\fi
- \ifnum\value{authors}>1\relax
- \@namedef{@sep\number\c@authors}{\Authsep}\fi
- \addtocounter{authors}{1}%
- \begingroup
- \let\protect\@unexpandable@protect \let\and\AB@pand
- \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
- \@temptokena=\expandafter{\AB@authors}%
- {\def\\{\protect\\[\@affilsep]\protect\Affilfont
- \protect\AB@resetsep}%
- \xdef\AB@author{\AB@blk@and#2}%
- \ifnewaffil\gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}%
- \xdef\AB@authors{\the\@temptokena\AB@blk@and}%
- \else
- \xdef\AB@authors{\the\@temptokena\AB@as\AB@au@str}%
- \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}%
- \gdef\AB@as{\Authsep}%
- \fi
- \gdef\AB@au@str{#2}}%
- \@temptokena=\expandafter{\AB@authlist}%
- \let\\=\authorcr
- \xdef\AB@authlist{\the\@temptokena
- \protect\@nameuse{@sep\number\c@authors}%
- \protect\Authfont#2\AB@authnote{\AB@note}}%
- \endgroup
- \ifnum\value{authors}>2\relax
- \@namedef{@sep\number\c@authors}{\Authands}\fi
- \newaffilfalse
-}
-\newcommand\authorcr{\protect\\ \protect\Authfont \protect\AB@setsep}%
-\newcommand\affil[2][]%
- {\newaffiltrue\let\AB@blk@and\AB@pand
- \if\relax#1\relax\def\AB@note{\AB@thenote}\else\def\AB@note{#1}%
- \setcounter{Maxaffil}{0}\fi
- \begingroup
- \let\protect\@unexpandable@protect
- \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
- \@temptokena=\expandafter{\AB@authors}%
- {\def\\{\protect\\\protect\Affilfont}\xdef\AB@temp{#2}}%
- \xdef\AB@authors{\the\@temptokena\AB@las\AB@au@str
- \protect\\[\affilsep]\protect\Affilfont\AB@temp}%
- \gdef\AB@las{}\gdef\AB@au@str{}%
- {\def\\{, \ignorespaces}\xdef\AB@temp{#2}}%
- \@temptokena=\expandafter{\AB@affillist}%
- \xdef\AB@affillist{\the\@temptokena \AB@affilsep
- \AB@affilnote{\AB@note}\protect\Affilfont\AB@temp}%
- \endgroup
- \let\AB@affilsep\AB@affilsepx
-}
-\def\@author{}
-\renewcommand\@author{\ifx\AB@affillist\AB@empty\AB@author\else
- \ifnum\value{affil}>\value{Maxaffil}\def\rlap##1{##1}%
- \AB@authlist\\[\affilsep]\AB@affillist
- \else \AB@authors\fi\fi}
-\let\AB@maketitle=\maketitle
-\def\maketitle
- {{\renewenvironment{tabular}[2][]{\begin{center}}
- {\end{center}}
- \AB@maketitle}}
-\def\laauthor#1{
- \ifnum\value{laauthors}<1
- \newcommand{\laauthors}{#1}
- \addtocounter{laauthors}{1}
- \else
- \g@addto@macro\laauthors{, #1}
- \addtocounter{laauthors}{1}
- \fi
-}
-
-\newcommand{\printLiterature}{}
-\newcommand{\printMMCPAbstract}{}
-\newcommand{\mmcpAbstract}[1]{\renewcommand{\printMMCPAbstract}{#1}}
-\newcommand{\mmcpLiterature}[1]{\renewcommand{\printLiterature}{#1}}
-
-\newcommand{\mmcpDate}[1]{\def\printMMCPDate{#1}}
-\newcommand{\mmcpAcknowledgement}[1]{%
-\ifx\relax#1\relax
- \renewcommand{\printAcknowledgement}{}
-\else
- \renewcommand{\printAcknowledgement}{\medskip \noindent\textbf{Acknowledgement:} #1}\fi}
-
-\newcommand{\bibkey}{key}
-\newcommand{\mcite}[1]{\cite{\bibkey#1}}
-\newcommand{\mbibitem}[1]{\bibitem{\bibkey#1}}
-
-\def\printAbstract{%
-\setcounter{page}{1}
-
-\maketitle
-
-\printMMCPAbstract
-
-\printAcknowledgement
-
-\printLiterature
-}
-%% End of file `mmcpauth.sty'.
diff --git a/refs.bib b/refs.bib
diff --git a/webofc.cls b/webofc.cls
@@ -0,0 +1,828 @@
+%% This is file 'webofc.cls'
+%%
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\def\filedate{2016/07/20}
+\def\fileversion{2.01}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{webofc}
+ [\filedate\space v\fileversion\space
+ ^^JLaTeX Class for the Web of Conference Journal
+ (EDP Sciences)]
+%
+\LoadClass[fleqn]{article}
+%
+%%%%%%%%%%%%%%%%%%%%
+%%% Class option %%%
+%%%%%%%%%%%%%%%%%%%%
+%
+\newlength\woc@textwidth
+\newlength\woc@textheight
+\newlength\woc@left
+\newlength\woc@top
+\newlength\woc@bottom
+%
+\newif\if@online
+\@onlinefalse
+\DeclareOption{online}{\@onlinetrue}
+%
+\DeclareOption{bio}{%
+ \def\woc@name{BIO Web of Conferences}%
+}
+\DeclareOption{mat}{%
+ \def\woc@name{MATEC Web of Conferences}%
+}
+\DeclareOption{itm}{%
+ \def\woc@name{ITM Web of Conferences}%
+}
+\DeclareOption{e3s}{%
+ \def\woc@name{E3S Web of Conferences}%
+}
+\DeclareOption{shs}{%
+ \def\woc@name{SHS Web of Conferences}%
+}
+\DeclareOption{epj}{%
+ \def\woc@name{EPJ Web of Conferences}%
+}
+\def\wocname#1{\gdef\woc@name{#1}}
+\newcommand*\woc@name{The Journal's name}
+%
+\newif\ifwoc@twocolumn
+\DeclareOption{onecolumn}{%
+ \woc@twocolumnfalse
+ \renewcommand*\woc@column{onecolumn}%
+ \renewcommand*\woc@paper{papersize={170mm,250mm}}%
+ \setlength\woc@textwidth{142mm}%
+ \setlength\woc@textheight{190mm}%
+ \setlength\woc@left{14mm}%
+ \setlength\woc@top{28mm}%
+ \setlength\woc@bottom{19mm}%
+ \def\woc@crop{\RequirePackage[cam,center]{crop}}%
+}
+\DeclareOption{twocolumn}{%
+ \woc@twocolumntrue
+ \renewcommand*\woc@column{twocolumn}%
+ \renewcommand*\woc@paper{a4paper}%
+ \setlength\woc@textwidth{170mm}%
+ \setlength\woc@textheight{240mm}%
+ \setlength\woc@left{20mm}%
+ \setlength\woc@top{28mm}%
+ \setlength\woc@bottom{16mm}%
+ \def\woc@crop{}%
+}
+\newcommand*\woc@column{}
+\newcommand*\woc@paper{}
+%
+\DeclareOption{ascii}{%
+ \def\woc@input{\RequirePackage[ascci]{inputenc}}%
+}
+\DeclareOption{latin1}{%
+ \def\woc@input{\RequirePackage[latin1]{inputenc}}%
+}
+\DeclareOption{latin9}{%
+ \def\woc@input{\RequirePackage[latin9]{inputenc}}%
+}
+\DeclareOption{ansinews}{%
+ \def\woc@input{\RequirePackage[ansinews]{inputenc}}%
+}
+\DeclareOption{applemac}{%
+ \def\woc@input{\RequirePackage[applemac]{inputenc}}%
+}
+\DeclareOption{utf8}{%
+ \def\woc@input{\RequirePackage[utf8]{inputenc}}%
+}
+%
+\DeclareOption{anglais}{%
+ \def\woc@language{\RequirePackage[english]{babel}}%
+}
+\DeclareOption{francais}{%
+ \def\woc@language{\RequirePackage[english,frenchb]{babel}}%
+}
+%
+\DeclareOption{showoverfull}{\setlength\overfullrule{0pt}}
+\DeclareOption{hideoverfull}{\setlength\overfullrule{5pt}}
+%
+\DeclareOption{bibnumber}{%
+ \def\woc@biblio{%
+ \bibpunct{[}{]}{,}{n}{}{}%
+ \def\@biblabel##1{[##1]}%
+ \bibliographystyle{woc}%
+ \def\bibfont{\@BibliographyFont}%
+ \setlength{\bibsep}{1pt}%
+ }
+}
+\DeclareOption{bibauthoryear}{%
+ \def\woc@biblio{%
+ \bibpunct{(}{)}{;}{a}{}{,}%
+ \bibliographystyle{woc}%
+ \def\bibfont{\@BibliographyFont}%
+ \setlength{\bibsep}{1pt}%
+ }%
+}
+%
+\ExecuteOptions{anglais,onecolumn,online,utf8,showoverfull,bibnumber}
+%
+\ProcessOptions
+%
+\if@online\else
+\woc@crop
+\fi
+%
+\RequirePackage{calc}
+\RequirePackage[T1]{fontenc}
+\woc@input % input method (RequirePackage[<method>]{inputenc})
+\RequirePackage[official]{eurosym}
+% one column = 81.5mm, columnsep = 6mm => textwidth = 84x2+7 = 170mm
+\ifx\pdfoutput\undefined
+ \newcount\pdfoutput
+\fi
+\ifnum\pdfoutput=\z@
+ \newcommand\woc@driver{dvips}
+\else
+ \newcommand\woc@driver{pdftex}
+\fi
+\RequirePackage[\woc@driver, \woc@paper, \ifwoc@twocolumn\woc@column\fi, twoside,
+ top=\woc@top, bottom=\woc@bottom, heightrounded,
+ left=\woc@left, textwidth=\woc@textwidth, columnsep=7mm,
+ marginparwidth=0in, marginparsep=0in,
+ headheight=20.5pt,headsep=16.5pt, nofoot]{geometry}
+\RequirePackage[tbtags]{amsmath}
+\RequirePackage{amssymb}
+\RequirePackage{fancyhdr}
+\RequirePackage{cuted}
+%
+\let\@setmarks\relax
+\RequirePackage{graphicx}
+\RequirePackage{url, enumerate}
+\RequirePackage[sort&compress]{natbib}
+\woc@biblio
+\RequirePackage{xspace}
+\woc@language
+%
+%%%%%%%%%%%%%%%%%
+%%% Registers %%%
+%%%%%%%%%%%%%%%%%
+%
+\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star}{\star}\or{\star}{\star}{\star}%
+ \or {\star}{\star}{\star}{\star}\or \dagger\or \ddagger\or
+ \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger
+ \or \ddagger\ddagger \else\@ctrerr\fi}}
+\newcommand\fnsep{\unskip$^,$}
+%
+\newcounter{@institutecpt}
+%
+\newlength{\@figgap}
+\setlength{\@figgap}{10pt}
+%
+\newlength{\@floatheight}
+%
+\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
+\setlength\@fptop{0\p@}
+\setlength\@fpsep{12\p@ \@plus 2\p@ \@minus 2\p@}
+\setlength\@dblfptop{0\p@}
+\setlength\@dblfpsep{12\p@ \@plus 2\p@ \@minus 2\p@}
+\setcounter{topnumber}{4}
+\renewcommand\topfraction{.9}
+\setcounter{bottomnumber}{2}
+\renewcommand\bottomfraction{.7}
+\setcounter{totalnumber}{6}
+\renewcommand\textfraction{.1}
+\renewcommand\floatpagefraction{.85}
+\setcounter{dbltopnumber}{3}
+\renewcommand\dbltopfraction{.85}
+\renewcommand\dblfloatpagefraction{.85}
+%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Predefined names %%%
+%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\addto\captionsfrench{%
+ \def\proofname{Preuve}%
+ \def\andname{\unskip, }%
+ \def\andlastname{\unskip, et }%
+ \def\andtwoname{\unskip{} et }%
+ \def\acknowledgementname{Remerciements}%
+ \def\tablename{Tableau}%
+ \def\correspondingauthorname{Auteur à contacter}%
+ \def\@datereceiptname{Les dates de réception et d'acceptation}%
+ \def\@dateacceptancename{seront indiquées par l'éditeur.}%
+ \let\listFB\listORI \def\itemize{%
+ \ifnum \@itemdepth >\thr@@\@toodeep \else \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \expandafter \list \csname\@itemitem\endcsname {%
+ \setlength{\topsep}{4\p@ \@plus2\p@ \@minus\p@}%
+ \setlength{\partopsep}{0pt}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\labelwidth}{9pt}%
+ \setlength{\labelsep}{0pt}%
+ \setlength{\itemindent}{0pt}%
+ \setlength{\leftmargin}{9pt}%
+ \def\makelabel##1{\rlap{##1}\hss}%
+ }%
+ \fi }%
+} \addto\captionsenglish{%
+ \def\proofname{Proof}%
+ \def\andname{\unskip, }%
+ \def\andlastname{\unskip, and }% was {, and }
+ \def\andtwoname{\unskip{} and }%
+ \def\acknowledgementname{Acknowledgements}%
+ \def\tablename{Table}%
+ \def\correspondingauthorname{Corresponding author}%
+ \def\@datereceiptname{The date of receipt and acceptance}%
+ \def\@dateacceptancename{will be inserted by the editor.}%
+ \renewcommand\labelitemi{\textbullet}%
+ \renewcommand\labelitemii{--}%
+ \renewcommand\labelitemiii{--}%
+ \renewcommand\labelitemiv{--}%
+ \def\itemize{%
+ \ifnum \@itemdepth >\thr@@\@toodeep \else \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \expandafter \list \csname\@itemitem\endcsname {%
+ \setlength{\topsep}{4\p@ \@plus2\p@ \@minus\p@}%
+ \setlength{\partopsep}{0pt}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\labelwidth}{9pt}%
+ \setlength{\labelsep}{0pt}%
+ \setlength{\itemindent}{0pt}%
+ \setlength{\leftmargin}{9pt}%
+ \def\makelabel##1{\rlap{##1}\hss}%
+ }%
+ \fi }%
+}
+\newcommand\CopyrightTitlename{%
+ \copyright{} Owned by the authors, published by EDP Sciences, \number\year %
+}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%% Font definitions %%%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\newcommand\@HeadFont{\normalfont\small}
+\newcommand\@HeadPageFont{\normalfont\normalsize}
+\newcommand\@TitleFont{\normalfont\fontsize{14pt}{16pt}\sffamily\bfseries}
+\newcommand\@SubtitleFont{\normalfont\fontsize{12pt}{14pt}\sffamily\bfseries}
+\newcommand\@AuthorFont{\normalfont\normalsize\sffamily}
+\newcommand\@FirstNameAuthorFont{\itshape}
+\newcommand\@LastNameAuthorFont{\bfseries}
+\newcommand\@InstituteFont{\normalfont\small\sffamily\slshape}
+\newcommand\@ThanksFont{\normalfont\fontsize{8pt}{9.6pt}\selectfont}
+\newcommand\@ThanksEmail{\normalfont\fontsize{8pt}{9.6pt}\selectfont}
+\newcommand\@FootnoteFont{\normalfont\small}
+\newcommand\@EmailFont{\normalfont\fontsize{8pt}{9.6pt}\sffamily\slshape}
+\newcommand\@ResumeTitleFont{\normalfont\small\bfseries}
+\newcommand\@ResumeFont{\normalfont\small}
+\newcommand\@AbstractTitleFont{\normalfont\small\bfseries}
+\newcommand\@AbstractFont{\normalfont\small}
+\newcommand\@SectionFont{\normalfont\fontsize{12pt}{14pt}\sffamily\bfseries}
+\newcommand\@SubsectionFont{\normalfont\normalsize\sffamily\bfseries}
+\newcommand\@SubsubsectionFont{%
+ \normalfont\normalsize\sffamily\slshape}
+\newcommand\@ParagraphFont{\normalfont\normalsize\itshape}
+\newcommand\@BibliographyFont{\normalfont\normalsize}
+\newcommand\@TitleTheoremFont{\normalfont\normalsize\bfseries}
+\newcommand\@TitleAcknowledgementFont{\fontsize{9pt}{10.8pt}\itshape}
+\newcommand\@TextAcknowledgementFont{%
+ \normalfont\fontsize{9pt}{10.8pt}\selectfont}
+\newcommand\@CaptionFont{\normalfont\small}
+\newcommand\@CaptionTitleFont{\bfseries}
+\newcommand\@DatesFont{%
+ \normalfont\fontsize{9pt}{10.8pt}\itshape
+ \raggedleft
+}
+\newcommand\@CopyrightFont{\fontsize{8pt}{9.6pt}\itshape}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Length definitions %%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\newlength{\betweenumberspace}
+\setlength{\betweenumberspace}{6pt}
+%
+\setlength{\parskip}{0pt plus1pt}
+\newlength{\@VSpaceBeforeTitle}
+\setlength{\@VSpaceBeforeTitle}{2cm}
+\newlength{\@VSpaceAfterTitle}
+\setlength{\@VSpaceAfterTitle}{10pt}
+\newlength{\@VSpaceBeforeInstitute}
+\setlength{\@VSpaceBeforeInstitute}{5pt}
+\newlength{\@VSpaceAfterAbstract}
+\setlength{\@VSpaceAfterAbstract}{9pt}
+\newlength{\@VSpaceBeforeAbstract}
+\setlength{\@VSpaceBeforeAbstract}{3pt}
+\newlength{\@VSpaceBeforeThanks}
+\setlength{\@VSpaceBeforeThanks}{10pt}
+\newlength{\@VSpaceBeforeEmail}
+\setlength{\@VSpaceBeforeEmail}{10pt}
+%
+%%%%%%%%%%%%%%%%%%%
+%%% header page %%%
+%%%%%%%%%%%%%%%%%%%
+%
+\newcommand*\idline[1]{\renewcommand*\woc@idline{\woc@name~#1}}
+%\newcommand*\woc@idline{\woc@name~will be set by the publisher}
+\newcommand*\woc@idline{}
+%
+\newcommand*\doi[1]{%
+ \renewcommand*\woc@doi{DOI: #1}%
+}
+\newcommand*\woc@doi{DOI: will be set by the publisher}
+%
+\def\woctitle#1{\gdef\@woctitle{#1}}
+\def\@woctitle{Give the exact title of the conference}
+%
+\fancypagestyle{firstpage}{%
+ \fancyhf{} % clear all
+ \renewcommand{\headrulewidth}{0pt}%
+ \renewcommand{\footrulewidth}{0pt}%
+ \fancyhead[L]{%
+ \minipage[t][\baselineskip]{\linewidth}
+ \@HeadFont
+\ifx\woc@idline\empty
+\else
+ \woc@idline\\
+ \woc@doi\\
+ \CopyrightTitlename
+\fi
+ \endminipage
+ }%
+}
+\fancypagestyle{otherpage}{%
+ \fancyhf{} % clear all
+ \renewcommand{\headrulewidth}{0pt}%
+ \renewcommand{\footrulewidth}{0pt}%
+ \fancyhead[CE]{%
+ \@HeadFont
+\ifx\woc@idline\empty
+\else
+ \woc@name
+\fi
+ }%
+ \fancyhead[CO]{%
+ \@HeadFont
+\ifx\woc@idline\empty
+\else
+ \@woctitle
+\fi
+ }%
+}
+\pagestyle{otherpage}
+%
+\clubpenalty=10000
+\widowpenalty=10000
+%
+\flushbottom
+\sloppy
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% One column introduction %%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\newcommand\headnote[1]{\def\@headnote{#1}}
+\renewcommand\title[1]{\def\@title{#1}}
+\newcommand\titlerunning[1]{\def\@titlerunning{#1}}
+\newcommand\subtitle[1]{\def\@subtitle{#1}}
+\newcommand\authorrunning[1]{\def\@authorrunning{#1}}
+\newcommand\offprints[1]{\def\@offprints{#1}}
+\newcommand\institute[1]{\def\@institute{#1}}
+\renewcommand\abstract[1]{\def\@abstract{#1}}
+\newcommand\resume[1]{\def\@resume{#1}}
+\def\UrlFont{}
+\newcommand\inst[1]{\unskip$^{\sf #1}$\ignorespaces}
+\DeclareUrlCommand\@email{\urlstyle{same}} % \@e-mail: \@email
+\newcommand\email[1]{%
+e-mail: \protect\@email{#1}%
+}
+\renewcommand\date[2]{
+ \def\@datereceipt{#1}%
+ \def\@dateacceptance{#2}%
+}
+%
+\def\@headnote{}
+\def\@title{%
+ \ClassError{webofc}
+ {No title given}
+ {You have to define a title with \noexpand\title{your title}.}
+}
+\def\@titlerunning{}
+\def\@subtitle{}
+\def\@author{%
+ \ClassError{webofc}
+ {No author given}
+ {You have to indicate author(s) with
+ \noexpand\author{author name \noexpand\and\space author
+ name ...}.}
+}
+\def\@authorrunning{}
+\def\@offprints{}
+\def\@institute{}
+\def\@abstract{%
+ \ClassError{webofc}
+ {No abstract given}
+ {You have to define an abstract with
+ \noexpand\abstract{your abstract (in english)}.}%
+}
+\def\@datereceipt{\@datereceiptname}
+\def\@dateacceptance{\@dateacceptancename}
+%
+% Parse authors, institutes, thanks, and email
+%
+\def\firstname#1{{\@FirstNameAuthorFont#1\protect}}
+\def\lastname#1{{#1}}
+\def\@parseauthor{%
+ \count@ \z@
+ \expandafter\@countand\@author\and\@nil\and
+ \gdef\@headerauthor{}%
+ \def\@typeauthor{0}%
+ \ifnum\count@=1\relax
+ % no \and to process
+ % one author in header
+ \def\@typeauthor{1}%
+ \else\ifnum\count@=2\relax
+ % juste one \and
+ \let\@andlastauthor\andtwoname
+ % two author in header
+ \def\@typeauthor{2}%
+ \else % > 2
+ % real list
+ \let\@andauthor\andname
+ \let\@andlastauthor\andlastname
+ % one author et al. in header
+ \def\@typeauthor{3}%
+ \fi\fi
+ \@AuthorFont
+ \expandafter\@typesetauthor\@author\and\@nil\and
+}
+\def\@countand#1\and{%
+ \def\@rg{#1}%
+ \ifx\@rg\@nnil\else
+ \advance\count@ \@ne
+ \expandafter\@countand
+ \fi
+}
+\def\@typesetauthor#1\and{%
+ \def\@rg{#1}%
+ \advance\count@ \m@ne
+ \ifnum\count@>-1\relax
+ % for header
+ \ifnum\@typeauthor>0
+ \@extractauthor
+ \gdef\@headerauthor{\@currentheaderauthor}%
+ \ifcase\@typeauthor
+ % 0 impossible
+ \or
+ % 1 -> nothing to do
+ % no more author
+ \def\@typeauthor{0}%
+ \or
+ % 2 -> and
+ \protected@xdef\@headerauthor{%
+ \@headerauthor\space and
+ }
+ % add the next author
+ \def\@typeauthor{-1}%
+ \or
+ % 3 -> et al.
+ \protected@xdef\@headerauthor{%
+ \@headerauthor\space et al.%
+ }
+ % no more author
+ \def\@typeauthor{0}%
+ \fi
+ \else\ifnum\@typeauthor<0
+ \@extractauthor
+ \protected@xdef\@headerauthor{%
+ \@headerauthor \@currentheaderauthor
+ }
+ \fi\fi
+ % for first page
+ \ifnum\count@=0\relax
+ #1
+ \else\ifnum\count@=1\relax
+ #1\@andlastauthor
+ \else
+ #1\@andauthor
+ \fi\fi
+ \expandafter\@typesetauthor
+ \fi
+}
+\def\@extractauthor{%
+ % examine \@rg = <first name> <name>
+ % exctract first letter of <first name>
+ % and add <name>. Result in \@currentheaderauthor
+ \def\@currentheaderauthor{}%
+ \expandafter\@@extractauthor\@rg\inst\thanks\@nil
+}
+\def\@@extractauthor#1#2 #3\inst#4\thanks#5\@nil{%
+ \def\@currentheaderauthor{#1 #3}%
+}
+%
+\newcount\woc@nbinstitutes
+\def\@parseinstitute{\par%
+ \count@ \z@
+ \expandafter\@countand\@institute\and\@nil\and
+ \setcounter{@institutecpt}{0}%
+ \@InstituteFont
+ \global\woc@nbinstitutes \z@
+ \expandafter\@typesetinstitute\@institute\and\@nil\and
+}
+\def\@typesetinstitute#1\and{%
+ \def\@rg{#1}%
+ \advance\count@ \m@ne
+ \global\advance\woc@nbinstitutes \@ne
+ \refstepcounter{@institutecpt}%
+ \ifnum\count@>-1\relax
+ \@textsuperscript{\normalfont\sffamily\the@institutecpt}%
+ \ignorespaces#1\\
+ \expandafter\@typesetinstitute
+ \fi
+}
+%
+\newenvironment{abstract@margin}
+{\vspace*{\@VSpaceBeforeAbstract}%
+ \list{}{%
+ \listparindent 0em
+ \itemindent \listparindent
+ \leftmargin 1.5cm
+ \rightmargin \leftmargin
+ \parsep \z@ \@plus\p@
+ }%
+ \item\relax
+}
+{\endlist\vspace*{\@VSpaceAfterAbstract}}
+%
+% real command to typeset introduction
+%
+\renewcommand*\maketitle{%
+ \thispagestyle{firstpage}
+ \ifwoc@twocolumn
+ \begingroup
+ \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
+ \def\switch@fnmark{\def\thefootnote{\text{\alph{footnote}}}}
+ \def\@makefnmark{\@textsuperscript{\scriptsize\@thefnmark}}
+ \begin{strip}
+ \woc@maketitle
+ \end{strip}
+ \@thanks
+ \endgroup
+ \else
+ \begingroup
+ \parindent=0pt
+ \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
+ \def\switch@fnmark{\def\thefootnote{\text{\alph{footnote}}}}
+ \def\@makefnmark{\@textsuperscript{\scriptsize\@thefnmark}}
+ \let\thanks\footnote
+ \woc@maketitle
+ \endgroup \fi
+ \setcounter{footnote}{0}%
+}
+\newcommand\woc@maketitle{%
+ \par\vspace*{\@VSpaceBeforeTitle}
+ % title
+ {\@TitleFont \@title\par}
+ \vspace*{\@VSpaceAfterTitle}
+ % subtitle
+ \ifx\relax\@subtitle\relax\else
+ {\@SubtitleFont \@subtitle\par}
+ \vspace*{\@VSpaceAfterTitle}
+ \fi
+ %author
+ % process \and display author(s) and build header
+ %\switch@fnmark
+ %\protected@xdef\@thanks{\@thanks\protect\switch@fnmark}
+ \protected@xdef\@thanks{\@thanks}
+ %\setcounter{footnote}{0}
+ \@parseauthor
+ % display institute(s)
+ \ifx\@institute\empty
+ \else
+ \par\vspace*{\@VSpaceBeforeInstitute}
+ \@FootnoteFont
+ \@parseinstitute
+ \fi
+ % abstract
+ \begin{abstract@margin}
+ \@AbstractTitleFont
+ \abstractname.\
+ \@AbstractFont
+ \@abstract
+ \end{abstract@margin}
+}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Automatic Balancing %%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\AtEndDocument{%
+ \ifwoc@twocolumn
+ \begin{strip}
+ \null \par
+ \end{strip}
+ \par\vspace*{\stretch{1}}
+ \fi
+}
+%
+%%%%%%%%%%%%%%%%%%%%%%
+%%% section macros %%%
+%%%%%%%%%%%%%%%%%%%%%%
+%
+\def\sectcounterend{}
+\def\@seccntformat#1{\csname the#1\endcsname\sectcounterend
+\hskip\betweenumberspace}
+\def\Special@bs{\let\\\newline}
+\renewcommand\part{%
+ \ClassError{webofc}
+ {Macro \noexpand\part\space isn't allowed}
+ {You can use only macros from \noexpand\section\space to
+ \noexpand\paragraph}%
+}
+\renewcommand\section{%
+ \@startsection {section}{1}{\z@}%
+ {-16dd plus-4pt minus-4pt}%
+ {8dd plus4pt minus4pt}%
+ {\@SectionFont\raggedright}%
+}
+\renewcommand\subsection{%
+ \@startsection{subsection}{2}{\z@}%
+ {-16dd plus-4pt minus-4pt}%
+ {8dd plus4pt minus4pt}%
+ {\@SubsectionFont\raggedright}%
+}
+\renewcommand\subsubsection{%
+ \@startsection{subsubsection}{3}{\z@}%
+ {-16dd plus-4pt minus-4pt}%
+ {8dd plus4pt minus4pt}%
+ {\@SubsubsectionFont\raggedright}%
+}
+\renewcommand\paragraph{%
+ \@startsection{paragraph}{4}{\z@}%
+ {-13dd plus-4pt minus-4pt}%
+ {5.5pt}%
+ {\@ParagraphFont\raggedright}%
+}
+\renewcommand\subparagraph{%
+ \ClassError{webofc}
+ {Macro \noexpand\subparagraph\space isn't allowed}
+ {You can use only macros from \noexpand\section\space to
+ \noexpand\paragraph}
+}
+%
+%%%%%%%%%%%%%%%%%%%%%%
+%%% Aknowledgement %%%
+%%%%%%%%%%%%%%%%%%%%%%
+%
+\newenvironment{acknowledgement}
+{%\section*{\acknowledgementname}%
+\noindent\ignorespaces\@TextAcknowledgementFont}{}
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% modified standard description environment %%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\renewenvironment{description}[1][]
+{%
+ \list{}
+ {%
+ \setlength{\leftmargin}{0pt}%
+ \setlength{\labelsep}{0pt}%
+ \ifnum\@listdepth<2
+ \setlength{\labelwidth}
+ {\widthof{\descriptionlabel{#1}}}%
+ \else
+ \labelwidth\z@
+ \fi
+ \setlength{\itemindent}{\labelwidth}%
+ \let\makelabel\descriptionlabel
+ }%
+}
+{\endlist}
+\renewcommand*\descriptionlabel[1]{%
+ \normalfont\bfseries #1
+ \hss % add
+}
+%
+%%%%%%%%%%%%%%
+%%% Floats %%%
+%%%%%%%%%%%%%%
+%
+% Float placement
+%
+\def\fps@figure{tbp}
+\def\fps@table{tbp}
+%
+% Float Body
+%
+% figure
+\renewenvironment{figure}
+ {\@float{figure}}
+ {\end@float}
+\renewenvironment{figure*}
+ {\@dblfloat{figure}}
+ {\end@dblfloat}
+% table
+\renewenvironment{table}
+ {\@float{table}}
+ {\end@float}
+\renewenvironment{table*}
+ {\@dblfloat{table}}
+ {\end@dblfloat}
+%
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{10\p@}
+\def\string@table{table}
+%
+% Captions
+%
+\newcommand\@FloatCounterEnd{}
+\newcommand\@FloatCounterSep{. }
+%
+\renewcommand\@makecaption[2]{%
+ \par\addvspace\abovecaptionskip
+ \ifx\@captype\string@table
+ % Table: centering caption
+ \begingroup
+ \centering
+ \@CaptionFont{%
+ \@CaptionTitleFont #1%
+ \@FloatCounterEnd\@FloatCounterSep
+ }\ignorespaces#2%
+ \par
+ \endgroup
+ \else
+ % Figure (and others?): justified
+ \begingroup
+ \@CaptionFont{%
+ \@CaptionTitleFont #1%
+ \@FloatCounterEnd\@FloatCounterSep
+ }\ignorespaces#2%
+ \par
+ \endgroup
+ %
+ \fi
+ \par\addvspace\belowcaptionskip
+}
+\newcommand\@makesidecaption[2]{%
+ \raisebox{0.5\@floatheight}{%
+ \parbox{\@tempdima}{%
+ \raggedright
+ \@CaptionFont{%
+ \@CaptionTitleFont #1%
+ \@FloatCounterEnd\@FloatCounterSep
+ }\ignorespaces#2%
+ }%
+ }%
+}
+\long\def\sidecaption#1\caption{%
+ \setbox\@tempboxa=\hbox{\unskip#1\unskip\ignorespaces}%
+ \setlength{\@floatheight}{\ht\@tempboxa+\dp\@tempboxa}%
+ \setlength{\@tempdima}{\columnwidth-\@figgap-\wd\@tempboxa}%
+ \ifdim\@tempdima<3cm
+ \ClassWarning{webofc}{%
+ \string\sidecaption: No sufficient room for the legend;
+ using normal \string\caption.
+ }%
+ \leavevmode
+ \box\@tempboxa
+ \let\@capcommand=\@caption
+ \else
+ \let\@capcommand=\@sidecaption
+ \leavevmode
+ \box\@tempboxa\hspace*{\@figgap}%
+ \fi
+ \refstepcounter\@captype
+ \@dblarg{\@capcommand\@captype}%
+}
+
+\long\def\@sidecaption#1[#2]#3{%
+ \addcontentsline{\csname ext@#1\endcsname}
+ {#1}
+ {%
+ \protect\numberline{\csname the#1\endcsname}%
+ {\ignorespaces #2}%
+ }%
+ \begingroup
+ \@parboxrestore
+ \@makesidecaption{\csname fnum@#1\endcsname}
+ {\ignorespaces #3}%
+ \par
+ \endgroup
+}
+%
+\endinput
+%%
+%% End of file `webofc.cls'
+
diff --git a/woc.bst b/woc.bst
@@ -0,0 +1,2380 @@
+%%
+%% This is file ``woc.bst'' derived from ``apsrev'' for the Web of Conferences Journal,
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `head,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% physjour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% geojour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% photjour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% merlin.mbs (with options: `tail,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}')
+%% ----------------------------------------
+%% *** Bibliographic Style for The Web of Conferences Journal ***
+%%
+%% Copyright 2005 (EDP Sciences)
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2000/05/04 4.01 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al.(1990)]{key}...
+ % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
+ % The essential feature is that the label (the part in brackets) consists
+ % of the author names, as they should appear in the citation, with the year
+ % in parentheses following. There must be no space before the opening
+ % parenthesis!
+ % With natbib v5.3, a full list of authors may also follow the year.
+ % In natbib.sty, it is possible to define the type of enclosures that is
+ % really wanted (brackets or parentheses), but in either case, there must
+ % be parentheses in the label.
+ % The \cite command functions as follows:
+ % \citet{key} ==>> Jones et al. (1990)
+ % \citet*{key} ==>> Jones, Baker, and Smith (1990)
+ % \citep{key} ==>> (Jones et al., 1990)
+ % \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
+ % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
+ % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
+ % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
+ % \citeauthor{key} ==>> Jones et al.
+ % \citeauthor*{key} ==>> Jones, Baker, and Smith
+ % \citeyear{key} ==>> 1990
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ archive
+ author
+ booktitle
+ chapter
+ collaboration
+ edition
+ editor
+ eid
+ eprint
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ month
+ note
+ number
+ numpages
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ skip$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bolden}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+FUNCTION {bib.name.font}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "" swap$ * "" * }
+ if$
+}
+FUNCTION {bib.fname.font}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "" swap$ * "" * }
+ if$
+}
+FUNCTION {cite.name.font}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "{" swap$ * "}" * } %%EDP Sciences: il y avait "\citenamefont"
+ if$
+}
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ ","}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "eds." }
+
+FUNCTION {bbl.editor}
+{ "ed." }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edn." }
+
+FUNCTION {bbl.volume}
+{ "Vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "Number" }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pp." }
+
+FUNCTION {bbl.page}
+{ "p." }
+
+FUNCTION {bbl.eidpp}
+{ "" } %%EDP Sciences: il y avait "pages"
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+FUNCTION {bbl.first}
+{ "1st" }
+
+FUNCTION {bbl.second}
+{ "2nd" }
+
+FUNCTION {bbl.third}
+{ "3rd" }
+
+FUNCTION {bbl.fourth}
+{ "4th" }
+
+FUNCTION {bbl.fifth}
+{ "5th" }
+
+FUNCTION {bbl.st}
+{ "st" }
+
+FUNCTION {bbl.nd}
+{ "nd" }
+
+FUNCTION {bbl.rd}
+{ "rd" }
+
+FUNCTION {bbl.th}
+{ "th" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %-------------------------------------------------------------------
+
+ % Begin module:
+
+
+ % \ProvidesFile{physjour.mbs}[1999/10/05 2.1 (PWD)]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MACRO {aa}{"Astron. \& Astrophys."}
+
+
+MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."}
+
+
+MACRO {aj} {"Astron. J."}
+
+
+MACRO {aph} {"Acta Phys."}
+
+MACRO {advp} {"Adv. Phys."}
+
+MACRO {ajp} {"Amer. J. Phys."}
+
+MACRO {ajm} {"Amer. J. Math."}
+
+MACRO {amsci} {"Amer. Sci."}
+
+MACRO {anofd} {"Ann. Fluid Dyn."}
+
+MACRO {am} {"Ann. Math."}
+
+MACRO {ap} {"Ann. Phys. (NY)"}
+
+MACRO {adp} {"Ann. Phys. (Leipzig)"}
+
+MACRO {ao} {"Appl. Opt."}
+
+MACRO {apl} {"Appl. Phys. Lett."}
+
+MACRO {app} {"Astroparticle Phys."}
+
+MACRO {apj} {"Astrophys. J."}
+
+
+MACRO {apjsup} {"Astrophys. J. Suppl."}
+
+
+MACRO {apss} {"Astrophys. Space Sci."}
+
+
+MACRO {araa} {"Ann. Rev. Astron. Astrophys."}
+
+
+MACRO {baas} {"Bull. Amer. Astron. Soc."}
+
+
+MACRO {baps} {"Bull. Amer. Phys. Soc."}
+
+MACRO {cmp} {"Comm. Math. Phys."}
+
+MACRO {cpam} {"Commun. Pure Appl. Math."}
+
+MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"}
+
+MACRO {cpc} {"Comp. Phys. Comm."}
+
+MACRO {cqg} {"Class. Quant. Grav."}
+
+MACRO {cra} {"C. R. Acad. Sci. A"}
+
+MACRO {fed} {"Fusion Eng. \& Design"}
+
+MACRO {ft} {"Fusion Tech."}
+
+MACRO {grg} {"Gen. Relativ. Gravit."}
+
+MACRO {ieeens} {"IEEE Trans. Nucl. Sci."}
+
+MACRO {ieeeps} {"IEEE Trans. Plasma Sci."}
+
+MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"}
+
+MACRO {ip} {"Infrared Phys."}
+
+MACRO {irp} {"Infrared Phys."}
+
+MACRO {jap} {"J. Appl. Phys."}
+
+MACRO {jasa} {"J. Acoust. Soc. America"}
+
+MACRO {jcp} {"J. Comp. Phys."}
+
+MACRO {jocp} {"J. Chem. Phys."} %%EDP Sciences: 03/11/2011
+
+MACRO {jetp} {"Sov. Phys.--JETP"}
+
+MACRO {jfe} {"J. Fusion Energy"}
+
+MACRO {jfm} {"J. Fluid Mech."}
+
+MACRO {jmp} {"J. Math. Phys."}
+
+MACRO {jne} {"J. Nucl. Energy"}
+
+MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."}
+
+MACRO {jnm} {"J. Nucl. Mat."}
+
+MACRO {jpc} {"J. Phys. Chem."}
+
+MACRO {jpp} {"J. Plasma Phys."}
+
+MACRO {jpsj} {"J. Phys. Soc. Jpn"}
+
+MACRO {jsi} {"J. Sci. Instrum."}
+
+MACRO {jvst} {"J. Vac. Sci. \& Tech."}
+
+MACRO {nat} {"Nature"}
+
+MACRO {nature} {"Nature"}
+
+
+
+MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"}
+
+MACRO {nf} {"Nucl. Fusion"}
+
+MACRO {nim} {"Nucl. Inst. \& Meth."}
+
+MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."}
+
+MACRO {np} {"Nucl. Phys."}
+
+MACRO {npb} {"Nucl. Phys. B"}
+
+MACRO {nt/f} {"Nucl. Tech./Fusion"}
+
+MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"}
+
+MACRO {inc} {"Nuovo Cimento"}
+
+MACRO {nc} {"Nuovo Cimento"}
+
+MACRO {pf} {"Phys. Fluids"}
+
+MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."}
+
+MACRO {pfb} {"Phys. Fluids B: Plasma Phys."}
+
+MACRO {pl} {"Phys. Lett."}
+
+MACRO {pla} {"Phys. Lett. A"}
+
+MACRO {plb} {"Phys. Lett. B"}
+
+MACRO {prep} {"Phys. Rep."}
+
+MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"}
+
+MACRO {pp} {"Phys. Plasmas"}
+
+MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"}
+
+MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"}
+
+MACRO {prl} {"Phys. Rev. Lett."}
+
+MACRO {pr} {"Phys. Rev."}
+
+MACRO {physrev} {"Phys. Rev."}
+
+MACRO {pra} {"Phys. Rev. A"}
+
+MACRO {prb} {"Phys. Rev. B"}
+
+MACRO {prc} {"Phys. Rev. C"}
+
+MACRO {prd} {"Phys. Rev. D"}
+
+MACRO {pre} {"Phys. Rev. E"}
+
+MACRO {ps} {"Phys. Scripta"}
+
+MACRO {procrsl} {"Proc. Roy. Soc. London"}
+
+MACRO {rmp} {"Rev. Mod. Phys."}
+
+MACRO {rsi} {"Rev. Sci. Inst."}
+
+MACRO {science} {"Science"}
+
+
+MACRO {sciam} {"Sci. Am."}
+
+MACRO {sam} {"Stud. Appl. Math."}
+
+MACRO {sjpp} {"Sov. J. Plasma Phys."}
+
+MACRO {spd} {"Sov. Phys.--Doklady"}
+
+MACRO {sptp} {"Sov. Phys.--Tech. Phys."}
+
+MACRO {spu} {"Sov. Phys.--Uspeki"}
+
+MACRO {st} {"Sky and Telesc."}
+
+
+
+
+
+ % End module: physjour.mbs
+
+
+
+ %-------------------------------------------------------------------
+ % Begin module:
+ % \ProvidesFile{geojour.mbs}[1999/11/16 2.0g (PWD)]
+MACRO {aisr} {"Adv. Space Res."}
+MACRO {ag} {"Ann. Geophys."}
+MACRO {anigeo} {"Ann. Geofis."}
+MACRO {angl} {"Ann. Glaciol."}
+MACRO {andmet} {"Ann. d. Meteor."}
+MACRO {andgeo} {"Ann. d. Geophys."}
+MACRO {andphy} {"Ann. Phys.-Paris"}
+MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."}
+MACRO {atph} {"Atm\'osphera"}
+MACRO {aao} {"Atmos. Ocean"}
+MACRO {ass}{"Astrophys. Space Sci."}
+MACRO {atenv} {"Atmos. Environ."}
+MACRO {aujag} {"Aust. J. Agr. Res."}
+MACRO {aumet} {"Aust. Meteorol. Mag."}
+MACRO {blmet} {"Bound.-Lay. Meteorol."}
+MACRO {bams} {"Bull. Amer. Meteorol. Soc."}
+MACRO {cch} {"Clim. Change"}
+MACRO {cdyn} {"Clim. Dynam."}
+MACRO {cbul} {"Climatol. Bull."}
+MACRO {cap} {"Contrib. Atmos. Phys."}
+MACRO {dsr} {"Deep-Sea Res."}
+MACRO {dhz} {"Dtsch. Hydrogr. Z."}
+MACRO {dao} {"Dynam. Atmos. Oceans"}
+MACRO {eco} {"Ecology"}
+MACRO {empl}{"Earth, Moon and Planets"}
+MACRO {envres} {"Environ. Res."}
+MACRO {envst} {"Environ. Sci. Technol."}
+MACRO {ecms} {"Estuarine Coastal Mar. Sci."}
+MACRO {expa}{"Exper. Astron."}
+MACRO {geoint} {"Geofis. Int."}
+MACRO {geopub} {"Geofys. Publ."}
+MACRO {geogeo} {"Geol. Geofiz."}
+MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."}
+MACRO {gfd} {"Geophys. Fluid Dyn."}
+MACRO {geomag} {"Geophys. Mag."}
+MACRO {georl} {"Geophys. Res. Lett."}
+MACRO {grl} {"Geophys. Res. Lett."}
+MACRO {ga} {"Geophysica"}
+MACRO {gs} {"Geophysics"}
+MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."}
+MACRO {ijawp} {"Int. J. Air Water Pollut."}
+MACRO {ijc} {"Int. J. Climatol."}
+MACRO {ijrs} {"Int. J. Remote Sens."}
+MACRO {jam} {"J. Appl. Meteorol."}
+MACRO {jaot} {"J. Atmos. Ocean. Technol."}
+MACRO {jatp} {"J. Atmos. Terr. Phys."}
+MACRO {jce} {"J. Climate"}
+MACRO {jcam} {"J. Climate Appl. Meteor."}
+MACRO {jcm} {"J. Climate Meteor."}
+MACRO {jcy} {"J. Climatol."}
+MACRO {jgr} {"J. Geophys. Res."}
+MACRO {jga} {"J. Glaciol."}
+MACRO {jh} {"J. Hydrol."}
+MACRO {jmr} {"J. Mar. Res."}
+MACRO {jmrj} {"J. Meteor. Res. Japan"}
+MACRO {jm} {"J. Meteor."}
+MACRO {jpo} {"J. Phys. Oceanogr."}
+MACRO {jra} {"J. Rech. Atmos."}
+MACRO {jaes} {"J. Aeronaut. Sci."}
+MACRO {japca} {"J. Air Pollut. Control Assoc."}
+MACRO {jas} {"J. Atmos. Sci."}
+MACRO {jmts} {"J. Mar. Technol. Soc."}
+MACRO {jmsj} {"J. Meteorol. Soc. Japan"}
+MACRO {josj} {"J. Oceanogr. Soc. Japan"}
+MACRO {jwm} {"J. Wea. Mod."}
+MACRO {lao} {"Limnol. Oceanogr."}
+MACRO {mwl} {"Mar. Wea. Log"}
+MACRO {mau} {"Mausam"}
+MACRO {meteor} {"``Meteor'' Forschungsergeb."}
+MACRO {map} {"Meteorol. Atmos. Phys."}
+MACRO {metmag} {"Meteor. Mag."}
+MACRO {metmon} {"Meteor. Monogr."}
+MACRO {metrun} {"Meteor. Rundsch."}
+MACRO {metzeit} {"Meteor. Z."}
+MACRO {metgid} {"Meteor. Gidrol."}
+MACRO {mwr} {"Mon. Weather Rev."}
+MACRO {nwd} {"Natl. Weather Dig."}
+MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."}
+MACRO {npg} {"Nonlin. Proc. Geophys."}
+MACRO {om} {"Oceanogr. Meteorol."}
+MACRO {ocac} {"Oceanol. Acta"}
+MACRO {oceanus} {"Oceanus"}
+MACRO {paleoc} {"Paleoceanography"}
+MACRO {pce} {"Phys. Chem. Earth"}
+MACRO {pmg} {"Pap. Meteor. Geophys."}
+MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."}
+MACRO {physzeit} {"Phys. Z."}
+MACRO {pps} {"Planet. Space Sci."}
+MACRO {pss} {"Planet. Space Sci."}
+MACRO {pag} {"Pure Appl. Geophys."}
+MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."}
+MACRO {quatres} {"Quat. Res."}
+MACRO {rsci} {"Radio Sci."}
+MACRO {rse} {"Remote Sens. Environ."}
+MACRO {rgeo} {"Rev. Geophys."}
+MACRO {rgsp} {"Rev. Geophys. Space Phys."}
+MACRO {rdgeo} {"Rev. Geofis."}
+MACRO {revmeta} {"Rev. Meteorol."}
+MACRO {sgp}{"Surveys in Geophys."}
+MACRO {sp} {"Solar Phys."}
+MACRO {ssr} {"Space Sci. Rev."}
+MACRO {tellus} {"Tellus"}
+MACRO {tac} {"Theor. Appl. Climatol."}
+MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"}
+MACRO {wrr} {"Water Resour. Res."}
+MACRO {weather} {"Weather"}
+MACRO {wafc} {"Weather Forecast."}
+MACRO {ww} {"Weatherwise"}
+MACRO {wmob} {"WMO Bull."}
+MACRO {zeitmet} {"Z. Meteorol."}
+ % End module: geojour.mbs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %-------------------------------------------------------------------
+
+ % Begin module:
+
+
+ % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MACRO {appopt} {"Appl. Opt."}
+
+MACRO {bell} {"Bell Syst. Tech. J."}
+
+MACRO {ell} {"Electron. Lett."}
+
+MACRO {jasp} {"J. Appl. Spectr."}
+
+MACRO {jqe} {"IEEE J. Quantum Electron."}
+
+MACRO {jlwt} {"J. Lightwave Technol."}
+
+MACRO {jmo} {"J. Mod. Opt."}
+
+MACRO {josa} {"J. Opt. Soc. America"}
+
+MACRO {josaa} {"J. Opt. Soc. Amer.~A"}
+
+MACRO {josab} {"J. Opt. Soc. Amer.~B"}
+
+MACRO {jdp} {"J. Phys. (Paris)"}
+
+MACRO {oc} {"Opt. Commun."}
+
+MACRO {ol} {"Opt. Lett."}
+
+MACRO {phtl} {"IEEE Photon. Technol. Lett."}
+
+MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."}
+
+MACRO {sse} {"Solid-State Electron."}
+
+MACRO {sjot} {"Sov. J. Opt. Technol."}
+
+MACRO {sjqe} {"Sov. J. Quantum Electron."}
+
+MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."}
+
+MACRO {stph} {"Sov. Phys.--Techn. Phys."}
+
+MACRO {stphl} {"Sov. Techn. Phys. Lett."}
+
+MACRO {vr} {"Vision Res."}
+
+MACRO {zph} {"Z. f. Physik"}
+
+MACRO {zphb} {"Z. f. Physik~B"}
+
+MACRO {zphd} {"Z. f. Physik~D"}
+
+MACRO {CLEO} {"CLEO"}
+
+MACRO {ASSL} {"Adv. Sol.-State Lasers"}
+
+MACRO {OSA} {"OSA"}
+
+
+
+
+ % End module: photjour.mbs
+
+
+
+%% Copyright 1994-2000 Patrick W Daly
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Software Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput. Aid. Des."}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Program."}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Graphic."}
+
+MACRO {toms} {"ACM Trans. Math. Software"}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+
+MACRO {tcs} {"Theor. Comput. Sci."}
+
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ "" * swap$ * "" *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ "" * swap$ * "" *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.eprint}
+{ eprint duplicate$ empty$
+ 'skip$
+ { "\texttt" %%EDP Sciences: il y avait "\eprint"
+ archive empty$
+ 'skip$
+ { "[" * archive * "]" * }
+ if$
+ "{" * swap$ * "}" *
+ }
+ if$
+}
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { "\urlstyle{tt}\url{" url * "}" * } %%Correction by foley at ru dot is
+ if$
+}
+
+STRINGS { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f{.}.}" format.name$ duplicate$ empty$ 'skip$
+ { tie.or.space.prefix bib.fname.font swap$ * }
+ if$
+ s nameptr
+ "{vv~}{ll}" format.name$ bib.name.font *
+ s nameptr
+ "{jj}" format.name$ duplicate$ empty$ 'skip$
+ { bib.fname.font ", " swap$ * }
+ if$
+ *
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #0
+ #10 +
+ #1 + =
+ numnames #0
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal bib.name.font *
+ }
+ {
+ bbl.and
+ bib.name.font
+ " " * * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ format.names
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "" format.names
+ duplicate$ empty$ 'skip$
+ { collaboration "" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { " (" swap$ * ")" * }
+ if$
+ *
+ }
+ if$
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "" format.names duplicate$ empty$ 'skip$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ *
+ }
+ if$
+}
+FUNCTION {format.isbn}
+{ isbn "" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISBN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn "" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ "ISSN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$
+ { skip$ }
+ { "t" change.case$ }
+ if$
+ "" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$
+ 't :=
+ nameptr #1 >
+ {
+ nameptr #0
+ #10 +
+ #1 + =
+ numnames #0
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.editor.key.full}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.key.full}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.key.full}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.full
+ { type$ "proceedings" =
+ 'editor.key.full
+ 'author.key.full
+ if$
+ }
+ if$
+}
+
+%%%%%%%%%%%%%%%%%% Houssni %%%%%%%%%%%%%%%%%%%%
+%FUNCTION {output.bibitem}
+%{ newline$
+% "\bibitem[{" write$
+% label write$
+% ")" make.full.names duplicate$ short.list =
+% { pop$ }
+% { * }
+% if$
+% "}]{" * write$
+% cite$ write$
+% "}" write$
+% newline$
+% ""
+% before.all 'output.state :=
+%}
+%
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem" "{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in
+ " " * }
+
+FUNCTION {format.date}
+{ year "" bibinfo.check duplicate$ empty$
+ {
+ "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????"
+ }
+ 'skip$
+ if$
+ extra.label *
+ before.all 'output.state :=
+ " (" swap$ * ")" *
+}
+FUNCTION {format.date.misc}
+{
+ year empty$ 'skip$ {
+ format.date "year" output.check
+ } if$
+}
+FUNCTION {format.btitle}
+{ title "" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "" bibinfo.check * *
+ series "" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "" bibinfo.check
+ }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "" bibinfo.check * *
+ bbl.in space.word *
+ series "" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.num
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ convert.edition
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "" bibinfo.check
+ "~" * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "" bibinfo.check
+ * *
+ }
+ if$
+}
+FUNCTION {first.page}
+{ 't :=
+ ""
+ { t empty$ not t #1 #1 substring$ "-" = not and }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+}
+
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ", " *
+ swap$
+ first.page
+ "" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ", " *
+ }
+ if$
+ swap$
+ numpages empty$ 'skip$
+ { bbl.eidpp numpages tie.or.space.prefix
+ "" bibinfo.check * *
+ " (" swap$ * ")" * *
+ }
+ if$
+ }
+ if$ *
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ bolden
+%%EDP Sciences: 19/04/2012
+ number empty$
+ 'skip$
+ { %"(" number * ")" * *
+ volume empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ }
+ if$
+%%
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ editor "" format.names.ed duplicate$ empty$ 'pop$
+ {
+ bbl.edby
+ " " * swap$ *
+ swap$
+ "," *
+ " " * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ swap$ tie.or.space.prefix "" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ add.blank "(" *
+ t empty$
+ { address "" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ year duplicate$ empty$
+ { "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????" }
+ { "" bibinfo.check
+ extra.label * }
+ if$
+ t empty$ address empty$ and
+ { * }
+ { ", " swap$ * * }
+ if$
+ ")" *
+}
+FUNCTION {format.publisher.address}
+{ publisher "" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "" bibinfo.check
+format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ crossref missing$
+ {
+ ""
+ journal
+ duplicate$ empty$
+ { pop$ pop$ } {
+ "" bibinfo.check
+ * "journal" output.check
+ add.blank
+ } if$
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ %format.issn output %%EDP Sciences: 03/11/2011
+ format.note output
+ format.eprint output
+ %format.url output %%EDP Sciences: 03/11/2011
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ format.number.series output
+ format.edition output
+ format.publisher.address output
+ }
+ {
+ format.book.crossref output.nonnull
+ format.date "year" output.check
+ }
+ if$
+ format.isbn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title "title" output.check
+ howpublished "" bibinfo.check output
+ address "" bibinfo.check output
+ format.date "year" output.check
+ format.isbn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.publisher.address output
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ format.number.series output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ format.book.crossref output.nonnull
+ format.date "year" output.check
+ }
+ if$
+ format.edition output
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.publisher.address output
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ format.edition output
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.btitle "title" output.check
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ publisher empty$
+ { format.organization.address output }
+ { organization "" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.btitle "title" output.check
+ organization "" bibinfo.check output
+ address "" bibinfo.check output
+ format.edition output
+ format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ bbl.mthesis format.thesis.type output.nonnull
+ school "" bibinfo.warn output
+ address "" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ format.title output
+ howpublished "" bibinfo.check output
+ format.date.misc
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "" bibinfo.warn output
+ address "" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ publisher empty$
+ { format.organization.address output }
+ { organization "" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.isbn output
+ format.issn output
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.tr.number output.nonnull
+ institution "" bibinfo.warn output
+ address "" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ format.date.misc
+ format.note "note" output.check
+ format.eprint output
+ format.url output
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ cite.name.font
+ "others" 't :=
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+ t "others" =
+ 'skip$
+ { cite.name.font }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ nameptr #0
+ #10 +
+ #1 + =
+ numnames #0
+ #10 +
+ > and
+ { "others" 't :=
+ #1 'namesleft := }
+ 'skip$
+ if$
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" * }
+ { t sortify * }
+ if$
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+INTEGERS { seq.num }
+FUNCTION {init.seq}
+{ #0 'seq.num :=}
+EXECUTE {init.seq}
+FUNCTION {int.to.fix}
+{ "000000000" swap$ int.to.str$ *
+ #-1 #10 substring$
+}
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ seq.num #1 + 'seq.num :=
+ seq.num int.to.fix
+ 'sort.label :=
+ sort.label
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "" =
+ { "" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "" * } %%EDP Sciences: { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ *
+ " "
+ *
+ title field.or.null
+ sort.format.title
+ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `apsrev.bst'.