diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..ea55e5b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.yaml] +indent_size = 4 diff --git a/.gitignore b/.gitignore index 5f3c7e8..6bd6541 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ llncs.cls - +*.bak? # Created by https://www.gitignore.io/api/tex,macos,windows diff --git a/README.md b/README.md index 2377452..17f0aa2 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ * [Boolean Switches](#boolean-switches) * [Key/Value Options](#keyvalue-options) - [Embedding Bibliography Entries](#embedding-bibliography-entries) +- [Development](#development) - [Alternative Packages](#alternative-packages) - [License](#license) @@ -80,6 +81,11 @@ In case any of these file exist in the current directory, it gets embedded in th You can generate these files by using [JabRef's export functionalities](https://help.jabref.org/en/#importexport). +## Development +You can fix the indent of `authorarchive.sty` by using [latexindent](https://ctan.org/pkg/latexindent) as follows: + + latexindent -l -s -sl -w authorarchive.sty + ## Alternative Packages The package [coverpage](https://ctan.org/pkg/coverpage) prepends a separate PDF page before the first page of the paper. That page contains the bibliographic information as BibTeX entry. @@ -90,7 +96,6 @@ The package [llncsconf](https://github.com/adbrucker/llncsconf) is a light-weigh It supports [LNCS](http://www.springer.com/de/it-informatik/lncs) only. In comparison to `authorarchive`, it provides support for the additional publication states "intended-to-submit" and "submitted", but no QR code and links to the author's archive URL. - ## License If not otherwise stated, all sub-projects are dual-licensed under a 2-clause BSD-style license and/or the LPPL version 1 or any later diff --git a/authorarchive.sty b/authorarchive.sty index 94eacdf..d31c710 100644 --- a/authorarchive.sty +++ b/authorarchive.sty @@ -52,17 +52,17 @@ % Default option rule \DeclareDefaultOption{% \ifx\CurrentOptionValue\relax - \PackageWarningNoLine{\@currname}{% - Unknown option `\CurrentOption'\MessageBreak - is passed to package `authorarchive'% - }% - % Pass the option to package color. - % Again it is better to expand \CurrentOption. - \expandafter\PassOptionsToPackage\expandafter{\CurrentOption}{color}% + \PackageWarningNoLine{\@currname}{% + Unknown option `\CurrentOption'\MessageBreak + is passed to package `authorarchive'% + }% + % Pass the option to package color. + % Again it is better to expand \CurrentOption. + \expandafter\PassOptionsToPackage\expandafter{\CurrentOption}{color}% \else - % Package color does not take options with values. - % We provide the standard LaTeX error. - \@unknownoptionerror + % Package color does not take options with values. + % We provide the standard LaTeX error. + \@unknownoptionerror \fi } \ProcessKeyvalOptions* @@ -79,67 +79,67 @@ \setcounter{page}{\AA@startpage} \ifAA@ACM% -\setkeys{AA}{publisher=ACM} -\global\boilerplate={} -\global\copyrightetc={} -\renewcommand{\conferenceinfo}[2]{} -\renewcommand{\authorcrfont}{\crnotice} -\setlength\AA@x{1in+\hoffset+\oddsidemargin} -\setlength\AA@y{-\textheight+\topmargin+\headheight} % -\voffset-\topmargin-\headheight-\footskip} -\renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},\LenToUnit{\AA@y}){#1}} -\setlength{\AA@width}{\columnwidth} + \setkeys{AA}{publisher=ACM} + \global\boilerplate={} + \global\copyrightetc={} + \renewcommand{\conferenceinfo}[2]{} + \renewcommand{\authorcrfont}{\crnotice} + \setlength\AA@x{1in+\hoffset+\oddsidemargin} + \setlength\AA@y{-\textheight+\topmargin+\headheight} % -\voffset-\topmargin-\headheight-\footskip} + \renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},\LenToUnit{\AA@y}){#1}} + \setlength{\AA@width}{\columnwidth} \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{\authorcrfont}{\scriptsize} -\pdfpagesattr{/CropBox [92 65 523 731]}% LNCS page: 152x235 mm -\setlength{\AA@width}{\textwidth} -\setcounter{tocdepth}{2} + \setkeys{AA}{publisher=Springer-Verlag} + \setlength\AA@x{1in+\hoffset+\oddsidemargin} + \renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},27){#1}} + \renewcommand{\authorcrfont}{\scriptsize} + \pdfpagesattr{/CropBox [92 65 523 731]}% LNCS page: 152x235 mm + \setlength{\AA@width}{\textwidth} + \setcounter{tocdepth}{2} \fi % %%%% 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 -\setlength{\AA@width}{\textwidth} -\setcounter{tocdepth}{2} + \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 + \setlength{\AA@width}{\textwidth} + \setcounter{tocdepth}{2} \fi % %%%% ENTCS \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{\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} + \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{\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{\authorcrfont}{\scriptsize} -\setlength{\AA@width}{\textwidth} -\setcounter{tocdepth}{2} + \setkeys{AA}{publisher=IEEE Computer Society} + \setlength\AA@x{1in+\hoffset+\oddsidemargin} + \renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},12){#1}} + \renewcommand{\authorcrfont}{\scriptsize} + \setlength{\AA@width}{\textwidth} + \setcounter{tocdepth}{2} \fi % @@ -152,40 +152,40 @@ } \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.} + \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.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.} + }% }% - \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.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}} @@ -197,17 +197,17 @@ \fi% \authorcrfont\parbox[b]{\AA@width-1.4cm}{ \ifAA@LNCS% - \AA@publication, pp. \thepage--\pageref{LastPage}, \AA@year.\\% - \ifAA@nocopyright\relax\else - \textcopyright~\AA@year~\AA@publisher. - \fi + \AA@publication, pp. \thepage--\pageref{LastPage}, \AA@year.\\% + \ifAA@nocopyright\relax\else + \textcopyright~\AA@year~\AA@publisher. + \fi This is the author's version of the work. It is posted \ifAA@nourl\relax\else% - at \url{\AA@baseurl/\AA@key\AA@suffix} % + at \url{\AA@baseurl/\AA@key\AA@suffix} % \fi \ifAA@nocopyright\relax\else - by permission of \AA@publisher{} + by permission of \AA@publisher{} \fi for your personal use. \ifx\AA@doi\@empty% @@ -215,23 +215,23 @@ \else The definitive version was published with doi: - \ifx\AA@doiText\@empty% - \href{https://doi.org/\AA@doi}{\AA@doi}. + \ifx\AA@doiText\@empty% + \href{https://doi.org/\AA@doi}{\AA@doi}. \else - \href{https://doi.org/\AA@doi}{\AA@doiText}. - \fi + \href{https://doi.org/\AA@doi}{\AA@doiText}. \fi + \fi \else - \ifAA@nocopyright\relax\else - \textcopyright~\AA@year~\AA@publisher. % + \ifAA@nocopyright\relax\else + \textcopyright~\AA@year~\AA@publisher. % \fi% This is the author's version of the work. It is posted \ifAA@nourl\relax\else% - at \url{\AA@baseurl/\AA@key\AA@suffix} % + at \url{\AA@baseurl/\AA@key\AA@suffix} % \fi - \ifAA@nocopyright\relax\else - by permission of \AA@publisher{} % + \ifAA@nocopyright\relax\else + by permission of \AA@publisher{} % \fi for your personal use. Not for redistribution. The definitive version was published in \emph{\AA@publication}, pp.~\thepage--\pageref{LastPage}, \AA@year% @@ -243,12 +243,12 @@ \fi \else \ifx\AA@doiText\@empty% - , doi: \href{https://doi.org/\AA@doi}{\AA@doi}.% + , doi: \href{https://doi.org/\AA@doi}{\AA@doi}.% \else - , doi: \href{https://doi.org/\AA@doi}{\AA@doiText}.% - \fi + , doi: \href{https://doi.org/\AA@doi}{\AA@doiText}.% \fi + \fi \fi } - } - } + } +} diff --git a/localSettings.yaml b/localSettings.yaml new file mode 100644 index 0000000..e1cdaf6 --- /dev/null +++ b/localSettings.yaml @@ -0,0 +1,28 @@ +indentPreamble: 1 +defaultIndent: ' ' +maxNumberOfBackUps: 9 +modifyLineBreaks: + preserveBlankLines: 1 + condenseMultipleBlankLinesInto: 0 + oneSentencePerLine: + manipulateSentences: 1 + removeSentenceLineBreaks: 0 + sentencesFollow: + par: 1 + blankLine: 1 + fullStop: 1 + exclamationMark: 1 + questionMark: 1 + rightBrace: 1 + commentOnPreviousLine: 1 + other: 0 + sentencesBeginWith: + A-Z: 1 + a-z: 0 + other: 0 + sentencesEndWith: + basicFullStop: 0 + betterFullStop: 1 + exclamationMark: 1 + questionMark: 1 + other: '(?:\.\)(?!\h*[a-z]))|(?:(?