Merge branch 'master' into patch-3

This commit is contained in:
Oliver Kopp 2018-03-15 11:04:03 +01:00 committed by GitHub
commit 702e2d72bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 383 additions and 98 deletions

8
.gitignore vendored
View File

@ -1,4 +1,12 @@
# ---> TeX
## class files for examples
examples/acmart.cls
examples/entcs.cls
examples/IEEEtran.cls
examples/llncs.cls
examples/lni.cls
examples/sig-alternate.cls
## Core latex/pdflatex auxiliary files:
*.aux
*.lof

View File

@ -6,7 +6,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## [Unreleased]
### Added
- The links to the embedded files (references) are typeset at the bottom of the paper.
### Changed
- Updated LNCS output to the requirements of [Springer's Consent to Publish v3](http://resource-cms.springer.com/springer-cms/rest/v1/content/731196/data/v3).
- If `nourl` is active, the DOI is used as link for the QR code.
- Text is centered if no QR code (`nourl` + no DOI) is generated.
- File embedding is implemented using the [attachfilfe](https://ctan.org/pkg/attachfile) package.
- ACM format adapted to [acmart](https://github.com/borisveytsman/acmart) v1.50.
## 1.0.0 - 2018-02-21
### Added
- Initial version uploaded to CTAN.

View File

@ -11,6 +11,7 @@
* [Key/Value Options](#keyvalue-options)
- [Embedding Bibliography Entries](#embedding-bibliography-entries)
- [Development](#development)
- [Notes on Self-Archiving](#notes-on-self-archiving)
- [Alternative Packages](#alternative-packages)
- [License](#license)
@ -27,8 +28,8 @@ A simple use for LNCS-formatted papers is as follows:
\usepackage[LNCS,
key=brucker-authorarchive-2016,
year=2016,
publication={Anonymous et al. (eds). Proceedings of the International
Conference on LaTeX-Hacks, LNCS~42. Some Publisher, 2016.}
publication={Anonymous et al.\ (eds). Proceedings of the International
Conference on LaTeX-Hacks, LNCS~42. Some Publisher, 2016}
startpage={42},
doi={00/00_00},
doiText={0/00\_00},
@ -38,10 +39,10 @@ A simple use for LNCS-formatted papers is as follows:
The following layout-styles are pre-defined:
* `ACM` for the two-column layout used by many ACM conferences
* `ENTCS` for the Elsevier ENTCS layout
* `IEEE` for the two-column layout used by many IEEE conferences
* `LNCS` for the LNCS layout (as used by Springer)
* `LNI` for the Lecture Notes in Informatics, published by the GI
* `ENTCS` for the Elsevier ENTCS layout
By re-defining the font command (`authorcrfont{}`) and the command that is
used for positioning the copyright text (`\authorat{}`), the package can
@ -88,10 +89,56 @@ a paper. One solution to this issue is to embed the respective `.bib`
file exist in `bibtexdir`, it gets embedded in the PDF.
You can use the
[bibutils](https://sourceforge.net/p/bibutils/home/bib2xml/) for
[bibutils](https://sourceforge.net/p/bibutils/home/Bibutils/) for
converting between these different formats for bibliographic
references easily.
## Notes on Self-Archiving
Before using this package, please check with your signed copyright form,
which rights you have. None of the authors might be hold liable for copyright
violations by using this package.
### LNCS
Sprinter states in his [Springer's Consent to Publish v3](http://resource-cms.springer.com/springer-cms/rest/v1/content/731196/data/v3):
> Author may only post his/her own version, provided acknowledgment is given to the original source of publication and a link is inserted to the published article on Springers website.
> The link must be provided by inserting the DOI number of the article in the following sentence:
> "The final publication is available at Springer via `http://dx.doi.org/[insert DOI]`".
The DOI (Digital Object Identifier) can be found at the bottom of the first page of the published paper.
This package uses `https://doi.org` as `http://dx.doi.org` [is deprecated](https://www.doi.org/factsheets/DOIIdentifierSpecs.html).
Thus, the proposed configuration for Springer is as follows:
```latex
\usepackage[LNCS,
key=brucker-authorarchive-2016,
year=2016,
publication={Anonymous et al. (eds). Proceedings of the International
Conference on LaTeX-Hacks, LNCS~42. Springer, 2016.}
startpage={42},
doi={10.1038/authorarchive},
nocopyright
]{authorarchive}
```
## Other publishers
One does not need to specify a certain publisher. The default setting just
prints the note centered at the bottom of the first page.
```latex
\usepackage[
key=brucker-authorarchive-2017,
year=2017,
publication={Anonymous et al. (eds). Proceedings of the International
Conference on LaTeX-Hacks, CEUR-WS Vol~42, 2017.}
startpage={42},
doi={10.1039/authorarchive},
nocopyright
]{authorarchive}
```
## Alternative Packages
The package [coverpage](https://ctan.org/pkg/coverpage) prepends a
@ -103,7 +150,7 @@ bottom of the first page of the paper and required links to the
publisher are generated.
The package
[llncsconf](https://git.logicalhacking.com/adbrucker/llncsconf) is a
[llncsconf](https://ctan.org/pkg/llncsconf) is a
light-weight alternative to this package. It supports
[LNCS](http://www.springer.com/de/it-informatik/lncs) only. In
comparison to `authorarchive`, it provides support for the additional

View File

@ -7,19 +7,28 @@
%% version 1 of the License, or any later version.
%% OR
%% The 2-clause BSD-style license.
%%
%% SPDX-License-Identifier: LPPL-1.0+ OR BSD-2-Clause
\NeedsTeXFormat{LaTeX2e}\relax
\ProvidesClass{authorarchive}
[Unreleased v1.0.0+%
\ProvidesPackage{authorarchive}
[0000/00/00 Unreleased v1.0.0+%
Self-archiving information for scientific publications.]
%
\PassOptionsToPackage{hyphens}{url}
%
\RequirePackage{ifthen}
\RequirePackage[inline]{enumitem}
\RequirePackage{graphicx}
\RequirePackage{hyperref}
\RequirePackage{eso-pic}
\RequirePackage{embedfile}
\RequirePackage{attachfile}
\RequirePackage{kvoptions}
\RequirePackage{hyperref}
\RequirePackage{calc}
\RequirePackage{qrcode}
\RequirePackage{dtk-logos}
%
%Better url breaking
\g@addto@macro{\UrlBreaks}{\UrlOrds}
%
% Option declarations
% -------------------
@ -27,7 +36,7 @@
family=AA,
prefix=AA@
}
%
\DeclareStringOption[.]{bibtexdir}
\DeclareStringOption[https://duckduckgo.com/?q=]{baseurl}
\DeclareStringOption[.pdf]{suffix}
@ -41,13 +50,14 @@
\DeclareStringOption[UNKNOWN PUBLICATION]{publication}[]
\DeclareBoolOption{ACM}
\DeclareBoolOption{acmart}
\DeclareBoolOption{ENTCS}
\DeclareBoolOption{IEEE}
\DeclareBoolOption{LNCS}
\DeclareBoolOption{LNI}
\DeclareBoolOption{nocopyright}
\DeclareBoolOption{nourl}
\DeclareBoolOption{nobib}
\DeclareBoolOption{ENTCS}
%\ProcessOptions\relax
@ -80,29 +90,54 @@
\newlength\AA@y
\newlength\AA@width
\def\AA@bibBibTeX{\AA@bibtexdir/\AA@key.bib}
\def\AA@bibWord{\AA@bibtexdir/\AA@key.word.xml}
\def\AA@bibEndnote{\AA@bibtexdir/\AA@key.enw}
\def\AA@bibRIS{\AA@bibtexdir/\AA@key.ris}
\newboolean{AA@bibExists}
\setboolean{AA@bibExists}{false}
\IfFileExists{\AA@bibBibTeX}{\setboolean{AA@bibExists}{true}}{}
\IfFileExists{\AA@bibWord}{\setboolean{AA@bibExists}{true}}{}
\IfFileExists{\AA@bibEndnote}{\setboolean{AA@bibExists}{true}}{}
\IfFileExists{\AA@bibRIS}{\setboolean{AA@bibExists}{true}}{}
\setlength\AA@x{1in+\hoffset+\oddsidemargin}
\newcommand{\authorcrfont}{\footnotesize}
\newcommand{\authorat}[1]{\put(100,100){#1}}
\newcommand{\authorat}[1]{\AtPageUpperLeft{\put(\LenToUnit{\AA@x},\LenToUnit{.2cm-\paperheight}){#1}}}
\newcommand{\authorwidth}[1]{\setlength{\AA@width}{#1}}
\setlength{\AA@width}{\textwidth}
\setcounter{page}{\AA@startpage}
%%%% sig-alternate.cls
\ifAA@ACM%
\setkeys{AA}{publisher=ACM}
\global\boilerplate={}
\global\copyrightetc={}
\renewcommand{\conferenceinfo}[2]{}
\renewcommand{\authorcrfont}{\crnotice}
\renewcommand{\authorcrfont}{\scriptsize}
\setlength\AA@x{1in+\hoffset+\oddsidemargin}
\setlength\AA@y{-\textheight+\topmargin+\headheight} % -\voffset-\topmargin-\headheight-\footskip}
\setlength\AA@y{-\textheight+\topmargin+\headheight-\footskip} % -\voffset-\topmargin-\headheight-\footskip}
\renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},\LenToUnit{\AA@y}){#1}}
\setlength{\AA@width}{\columnwidth}
\fi
%
%%%% acmart.cls
\ifAA@acmart%
\setkeys{AA}{publisher=ACM}
\renewcommand{\authorat}[1]{\AtPageUpperLeft{\put(\LenToUnit{\AA@x},\LenToUnit{0.2cm-\paperheight}){#1}}}
\setlength{\AA@width}{\textwidth}
\fi
%
%%%% LNCS
\ifAA@LNCS%
\setkeys{AA}{publisher=Springer-Verlag}
\setlength\AA@x{1in+\hoffset+\oddsidemargin}
\renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},27){#1}}
\renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},23){#1}}
\renewcommand{\authorcrfont}{\scriptsize}
\pdfpagesattr{/CropBox [92 65 523 731]}% LNCS page: 152x235 mm
\setlength{\AA@width}{\textwidth}
@ -112,7 +147,6 @@
%%%% LNI
\ifAA@LNI%
\setkeys{AA}{publisher=GI}
\setlength\AA@x{1in+\hoffset+\oddsidemargin}
\renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},35){#1}}
\renewcommand{\authorcrfont}{\scriptsize}
\pdfpagesattr{/CropBox [70 65 526.378 748.15]} % TODO
@ -124,28 +158,15 @@
\ifAA@ENTCS%
\addtolength{\voffset}{1cm}
\setkeys{AA}{publisher=Elsevier Science B.~V.}
\setlength\AA@x{1in+\hoffset+\oddsidemargin}
\renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},-250){#1}}
\renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},\LenToUnit{-.5cm-\the\ht\AA@authoratBox}){#1}}
\renewcommand{\authorcrfont}{\scriptsize}
\def\@oddfoot{}
\def\@evenfoot{}
\def\firstfootline{}
\headsep 8pt
\renewcommand\rightheadline{\ifnum\value{page}=\hypergetpageref{FirstPage}\relax
\else{\hfil\scriptsize\emph{\lastname / \AA@publication} \hfil {\rmfamily\thepage}}\fi}
\renewcommand\leftheadline{\scriptsize{\rmfamily\thepage} \hfil \emph{\lastname /
\AA@publication}\hfil}
% 467.717 x 680.315 pts
% \pdfpagesattr{/CropBox [70 110 535 850]}
\pdfpagesattr{/CropBox [70 95 535 775]}
\setlength{\AA@width}{\textwidth}
\fi
%
%%%% IEEE
\ifAA@IEEE%
\setkeys{AA}{publisher=IEEE Computer Society}
\setlength\AA@x{1in+\hoffset+\oddsidemargin}
\renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},12){#1}}
\renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},6){#1}}
\renewcommand{\authorcrfont}{\scriptsize}
\setlength{\AA@width}{\textwidth}
\setcounter{tocdepth}{2}
@ -160,53 +181,31 @@
pdftitle = {\@title},
}
\ifAA@nobib\relax\else%
\AtBeginDocument{%
\IfFileExists{\AA@bibtexdir/\AA@key.bib}{%
\embedfile[filespec=\AA@key.bib,%
desc={BibTeX entry of this paper.},%
stringmethod=escape,%
mimetype=plain/text,%
]{\AA@bibtexdir/\AA@key.bib}}{
\typeout{No file \AA@bibtexdir/\AA@key.bib found. Not embedded reference in BibTeX format.}
}%
\IfFileExists{\AA@bibtexdir/\AA@key.enw}{%
\embedfile[filespec=\AA@key.enw,%
desc={Endnote entry of this paper.},%
stringmethod=escape,%
mimetype=plain/text,%
]{\AA@bibtexdir/\AA@key.enw}}{
\typeout{No file \AA@bibtexdir/\AA@key.enw found. Not embedded reference in Endnote format.}
}%
\IfFileExists{\AA@bibtexdir/\AA@key.ris}{%
\embedfile[filespec=\AA@key.ris,%
desc={RIS entry of this paper.},%
stringmethod=escape,%
mimetype=plain/text,%
]{\AA@bibtexdir/\AA@key.ris}}{
\typeout{No file \AA@bibtexdir/\AA@key.ris found. Not embedded reference in RIS format.}
}%
\IfFileExists{\AA@bibtexdir/\AA@key.word.xml}{%
\embedfile[filespec=\AA@key.word.xml,%
desc={XML entry of this paper (e.g., for Word 2007 and later).},%
stringmethod=escape,%
mimetype=plain/text,%
]{\AA@bibtexdir/\AA@key.word.xml}}{
\typeout{No file \AA@bibtexdir/\AA@key.word.xml found. Not embedded reference for Word 2007 and later.}
}%
}%
\fi
\AtEndDocument{\label{LastPage}}
\newsavebox{\AA@authoratBox}
\AddToShipoutPicture*{%
\setlength{\unitlength}{1mm}%
\authorat{%
\ifAA@nourl\relax\else%
\raisebox{.5cm}[.5cm]{\qrcode[hyperlink,height=1.17cm,padding]{\AA@baseurl/\AA@key\AA@suffix}}%
\fi%
\authorcrfont\parbox[b]{\AA@width-1.4cm}{
\savebox{\AA@authoratBox}{%
\parbox{1.4cm}{%
\bgroup%
\normallineskiplimit=0pt%
\ifAA@nourl%
\ifx\AA@doi\@empty%
\hspace{0.585cm}
\else%
\qrcode[hyperlink,height=1.17cm,padding]{https://doi.org/\AA@doi}%
\fi%
\else%
\qrcode[hyperlink,height=1.17cm,padding]{\AA@baseurl/\AA@key\AA@suffix}%
\fi%
\egroup%
}%
\parbox{\AA@width-1.4cm}{\authorcrfont%
\ifAA@LNCS%
\AA@publication, pp. \thepage--\pageref{LastPage}, \AA@year.\\%
\AA@publication, pp. \thepage--\pageref{LastPage}, \AA@year.
\ifAA@nocopyright\relax\else
\textcopyright~\AA@year~\AA@publisher.
\fi
@ -222,10 +221,9 @@
\ifx\AA@doi\@empty%
\relax
\else
The definitive
version was published with doi:
The final publication is available at Springer via
\ifx\AA@doiText\@empty%
\href{https://doi.org/\AA@doi}{\AA@doi}.
\url{https://doi.org/\AA@doi}.
\else
\href{https://doi.org/\AA@doi}{\AA@doiText}.
\fi
@ -258,6 +256,71 @@
\fi
\fi
\fi
\ifAA@nobib\relax\else%
\ifthenelse{\boolean{AA@bibExists}}{%
\hfill
% We need "doubleprint", because the text of \textattachfile
% is not printed when printing a PDF
% We use the idea from
% https://tex.stackexchange.com/a/19045/9075, accepting that
% the pointers to the files are renderedin semi-bold way
\newlength{\Urlname}
\newcommand{\doubleprint}[1]{\setlength{\Urlname}{\widthof{#1}}\hspace{-\Urlname}#1}
\begin{itemize*}[label={}, itemjoin={,}]
\IfFileExists{\AA@bibBibTeX}{%
\item \textattachfile[%
print=true,%
color=0 0 0,%
icon=Paperclip,%
description={BibTeX entry of this paper},%
mimetype=application/x-bibtex%
]{\AA@bibBibTeX}{\BibTeX}%
\doubleprint{\BibTeX}
}{
\typeout{No file \AA@bibBibTeX found. Not embedded reference in BibTeX format.}
}
\IfFileExists{\AA@bibWord}{%
\item \textattachfile[%
print=true,%
color=0 0 0,%
icon=Paperclip,%
description={XML entry of this paper (e.g., for Word 2007 and later)},%
mimetype=application/xml%
]{\AA@bibWord}{Word}%
\doubleprint{Word}%
}{
\typeout{No file \AA@bibWord found. Not embedded reference for Word 2007 and later.}
}
\IfFileExists{\AA@bibEndnote}{%
\item \textattachfile[%
print=true,%
color=0 0 0,%
icon=Paperclip,%
description={Endnote entry of this paper},%
mimetype=application/x-endnote-refer%
]{\AA@bibEndnote}{EndNote}%
\doubleprint{EndNote}%
}{
\typeout{No file \AA@bibEndnote found. Not embedded reference in Endnote format.}
}
\IfFileExists{\AA@bibRIS}{%
\item \textattachfile[%
print=true,%
color=0 0 0,%
icon=Paperclip,%
description={RIS entry of this paper},%
mimetype=application/x-research-info-systems%
]{\AA@bibRIS}{RIS}%
\doubleprint{RIS}%
}{
\typeout{No file \AA@bibRIS found. Not embedded reference in RIS format.}
}
\end{itemize*}\\
}{%
\PackageError{authorarchive}{No bibliographic files found. Specify option 'nobib' if this is intended.}
}
\fi
}
}
\authorat{\raisebox{\the\ht\AA@authoratBox}{\usebox{\AA@authoratBox}}}
}

Binary file not shown.

View File

@ -1,3 +1,4 @@
\authorsetup{%
baseurl={https://git.logicalhacking.com/adbrucker/authorarchive/src/master}
baseurl={https://git.logicalhacking.com/adbrucker/authorarchive/src/master/examples}
,bibtexdir={bib}
}

View File

@ -0,0 +1,23 @@
\documentclass[conference]{IEEEtran}
\usepackage[T1]{fontenc}
\usepackage[IEEE,
key=brucker-authorarchive-2016,
year=2016,
publication={Anonymous et al.\ (eds). Proceedings of the International
Conference on LaTeX-Hacks. Some Publisher, 2016},
startpage={42},
doi={00/00_00},
doiText={0/00\_00},
nocopyright
]{../authorarchive}
\usepackage{lipsum}
\title{A Simple Example of the \texttt{authorarchive} Package for \LaTeX}
\author{%
\IEEEauthorblockN{\protect\href{http://www.brucker.ch/}{Achim D. Brucker}}
\IEEEauthorblockA{Some Departement \\ Somewhere}
}
\input{input/body}

View File

@ -0,0 +1,27 @@
\documentclass[sigconf]{acmart}
\copyrightyear{2017}
\acmYear{2017}
\setcopyright{acmlicensed}
\acmConference[LHack '16]{1st International Conference on \LaTeX-Hacks}{December 4--6, 2017}{Salzburg, Austria}
\acmBooktitle{LHack '16: The 1st International Conference on \LaTeX-Hacks, December 4--6, 2017, Salzburg, Austria}
\acmPrice{15.00}
\acmDOI{10.1145/000000.000000}
\acmISBN{000-0-0000-0000-0/00/00}
\usepackage[acmart,
key=brucker-authorarchive-2016,
year=2016,
publication={Anonymous et al. (eds). Proceedings of the International
Conference on LaTeX-Hacks, ACM, 2016},
startpage={42},
doi={00/0000},
nocopyright
]{../authorarchive}
\usepackage{lipsum}
\title{A Simple Example of the \texttt{authorarchive} Package for \LaTeX}
\author{\protect\href{http://www.brucker.ch/}{Achim D. Brucker}}
\input{input/body}

View File

@ -0,0 +1,38 @@
\documentclass{entcs}
\usepackage[T1]{fontenc}
\usepackage[ENTCS,
key=brucker-authorarchive-2016,
year=2016,
publication={Anonymous et al.\ (eds). Proceedings of the International
Conference on LaTeX-Hacks, Some Publisher, 2016},
startpage={42},
doi={00/00_00},
doiText={0/00\_00},
nocopyright
]{../authorarchive}
\usepackage{lipsum}
\def\lastname{A.D. Brucker}
\begin{document}
\begin{frontmatter}
\title{A Simple Example of the \texttt{authorarchive} Package for \LaTeX}
\author{\protect\href{http://www.brucker.ch/}{Achim D. Brucker}}
\begin{abstract}
\lipsum[1-2]
\end{abstract}
\end{frontmatter}
\section{Introduction}
\lipsum[1-4]
\section{Contribution}
\lipsum[5-10]
\section{Conclusion}
\lipsum[11-12]
\end{document}

View File

@ -3,13 +3,13 @@
\usepackage[LNCS,
key=brucker-authorarchive-2016,
year=2016,
publication={Anonymous et al. (eds). Proceedings of the International
Conference on LaTeX-Hacks, LNCS~42. Some Publisher, 2016.}
publication={Anonymous et al.\ (eds). Proceedings of the International
Conference on LaTeX-Hacks, LNCS~42. Some Publisher, 2016},
startpage={42},
doi={00/00_00},
doiText={0/00\_00},
nocopyright
]{authorarchive}
]{../authorarchive}
\usepackage{lipsum}
@ -17,20 +17,4 @@
\author{\protect\href{http://www.brucker.ch/}{Achim D. Brucker}}
\institute{Some Departement, Somewhere}
\begin{document}
\maketitle{}
\begin{abstract}
\lipsum[1-2]
\end{abstract}
\section{Introduction}
\lipsum[1-4]
\section{Contribution}
\lipsum[5-10]
\section{Conclusion}
\lipsum[10-12]
\end{document}
\input{input/body}

View File

@ -0,0 +1,24 @@
\documentclass[english]{lni}
\usepackage[T1]{fontenc}
\usepackage[LNI,
key=brucker-authorarchive-2016,
year=2016,
publication={Anonymous et al.\ (eds). Proceedings of the International
Conference on LaTeX-Hacks. Some Publisher, 2016},
startpage={42},
doi={00/00_00},
doiText={0/00\_00},
nocopyright
]{../authorarchive}
\usepackage{lipsum}
\title{A Simple Example of the \texttt{authorarchive} Package for \LaTeX}
\author{%
\protect\href{http://www.brucker.ch/}{Achim D. Brucker}\\
Some Departement\\
Somewhere
}
\input{input/body}

View File

@ -0,0 +1,23 @@
\documentclass[USenglish, pdftex, letterpaper]{sig-alternate}
\usepackage[ACM,
key=brucker-authorarchive-2016,
year=2016,
publication={Anonymous et al.\ (eds). Proceedings of the International
Conference on LaTeX-Hacks, ACM, 2016},
startpage={42},
doi={00/0000},
nocopyright
]{../authorarchive}
\usepackage{lipsum}
\title{A Simple Example of the \texttt{authorarchive} Package for \LaTeX}
\numberofauthors{1}
\author{
\alignauthor
\protect\href{http://www.brucker.ch/}{Achim D. Brucker}
}
\input{input/body}

View File

@ -0,0 +1,18 @@
\documentclass[a4paper]{article}
\usepackage[
key=brucker-authorarchive-2016,
year=2016,
publication={Anonymous et al.\ (eds). Proceedings of the International
Workshop on LaTeX-Hacks, 2016},
startpage={42},
doi={00/0000},
nocopyright
]{../authorarchive}
\usepackage{lipsum}
\title{A Simple Example of the \texttt{authorarchive} Package for \LaTeX}
\author{\protect\href{http://www.brucker.ch/}{Achim D. Brucker}}
\input{input/body}

18
examples/input/body.tex Normal file
View File

@ -0,0 +1,18 @@
\begin{document}
\maketitle{}
\begin{abstract}
\lipsum[1-2]
\end{abstract}
\section{Introduction}
\lipsum[1-4]
\section{Contribution}
\lipsum[5-10]
\section{Conclusion}
\lipsum[11-12]
\end{document}