diff --git a/CHANGELOG.md b/CHANGELOG.md index a7e2f87..b15cb3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,13 +8,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Added - The links to the embedded files (references) are typeset at the bottom of the paper. +- Support for `a4paper` for LNCS papers. ### 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. +- File embedding is implemented using the [intopdf](https://www.ctan.org/pkg/intopdf) package. Links to the embedded files are shown in the generated PDF. - ACM format adapted to [acmart](https://github.com/borisveytsman/acmart) v1.50. +- Use [lastpage](https://ctan.org/pkg/lastpage) package instead of custom label. ## 1.0.0 - 2018-02-21 diff --git a/README.md b/README.md index 8266a9b..d4e3ca1 100644 --- a/README.md +++ b/README.md @@ -18,11 +18,13 @@ ## Installation -Copy `authorarchive.sty` in a directory that is searched by LaTeX -(e.g,. either your `texmf` tree or the local directory with your main -LaTeX file. + +Copy `authorarchive.sty` and the directory `icons` in a directory that +is searched by LaTeX (e.g,. either your `texmf` tree or the local +directory with your main LaTeX file. ## Usage + A simple use for LNCS-formatted papers is as follows: ```tex \usepackage[LNCS, @@ -54,13 +56,16 @@ be adapted easily to other layouts. For example, works nicely for Acta Informatica. ### Boolean Switches -| Switch | Meaning | -| -- | -- | -| `nocopyright` | If present, no publisher's copyright notice is printed. Usual case for LNCS. | -| `nourl` | If present, no link to the publication is inserted. | -| `nobib` | If present, no embedding of bibliographic entries is made. | + +| Switch | Meaning | +| -- | -- | +| `nocopyright` | If present, no publisher's copyright notice is printed. Usual case for LNCS. | +| `nourl` | If present, no link to the publication is inserted. | +| `nobib` | If present, no embedding of bibliographic entries is made. | +| `orcidicon` | For layouts displaying the author's ORCID identifiers as text, replace the ORCID identifier by the ORICD iD icon and a hyperlink (currently only supported for LNCS). | ### Key/Value Options + | Option | Default | Meaning | | -- | -- | -- | | `bibtexdir`| `.` | The directory where the bibliography entries are listed. | @@ -82,6 +87,7 @@ loaded automatically. This allows for configuring defaults (e.g., the baseurl) easily. ## Embedding Bibliography Entries + Mostly, it is hard for scientists to find the correct bibtex entry for a paper. One solution to this issue is to embed the respective `.bib` (BibTeX, for LaTeX users), `.enw` (Endnote), `.ris`, or `.word.xml` @@ -96,18 +102,29 @@ 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 +which rights you have. Especially whether you may self-archive the preprint +or the postprint. For more information on that, read on at +. + +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 Springer’s 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. +> 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 Springer’s 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). +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: @@ -115,7 +132,7 @@ Thus, the proposed configuration for Springer is as follows: \usepackage[LNCS, key=brucker-authorarchive-2016, year=2016, - publication={Anonymous et al. (eds). Proceedings of the International + publication={Anonymous et al.\ (eds). Proceedings of the International Conference on LaTeX-Hacks, LNCS~42. Springer, 2016.} startpage={42}, doi={10.1038/authorarchive}, @@ -124,14 +141,15 @@ Thus, the proposed configuration for Springer is as follows: ``` ## 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. + +In general, one does not need to specify a certain publisher (or LaTeX document class). +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 + publication={Anonymous et al.\ (eds). Proceedings of the International Conference on LaTeX-Hacks, CEUR-WS Vol~42, 2017.} startpage={42}, doi={10.1039/authorarchive}, @@ -139,8 +157,11 @@ prints the note centered at the bottom of the first page. ]{authorarchive} ``` +Still, for some used document classes (e.g., `acmart`) there are specific +package options available hat produce an alternative layout. ## 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. One is forced @@ -158,14 +179,17 @@ publication states "intended-to-submit" and "submitted", but no QR code and links to the author's archive URL. ## Authors + Main author: [Achim D. Brucker](http://www.brucker.ch/) ### Contributors + * [Oliver Kopp](https://github.com/koppor/) - - ## 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 -version. +2-clause BSD-style license and/or the LPPL version 1.3c or (at your +opinion) any later version. + +SPDX-License-Identifier: LPPL-1.3c+ OR BSD-2-Clause diff --git a/authorarchive.sty b/authorarchive.sty index f6e7546..666f92d 100644 --- a/authorarchive.sty +++ b/authorarchive.sty @@ -4,11 +4,11 @@ %% This program 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. +%% version 1.3c of the License, or (at your option) any later version. %% OR %% The 2-clause BSD-style license. %% -%% SPDX-License-Identifier: LPPL-1.0+ OR BSD-2-Clause +%% SPDX-License-Identifier: LPPL-1.3c+ OR BSD-2-Clause \NeedsTeXFormat{LaTeX2e}\relax \ProvidesPackage{authorarchive} [0000/00/00 Unreleased v1.0.0+% @@ -20,7 +20,7 @@ \RequirePackage[inline]{enumitem} \RequirePackage{graphicx} \RequirePackage{eso-pic} -\RequirePackage{attachfile} +\RequirePackage{intopdf} \RequirePackage{kvoptions} \RequirePackage{hyperref} \RequirePackage{calc} @@ -58,6 +58,7 @@ \DeclareBoolOption{nocopyright} \DeclareBoolOption{nourl} \DeclareBoolOption{nobib} +\DeclareBoolOption{orcidicon} %\ProcessOptions\relax @@ -136,10 +137,20 @@ % %%%% LNCS \ifAA@LNCS% + \ifAA@orcidicon% + \renewcommand{\orcidID}[1]{\href{https://orcid.org/#1}{% + \textsuperscript{\,\includegraphics[height=2\fontcharht\font`A]{vector_iD_icon}}}} + \else\relax\fi% +% \setkeys{AA}{publisher=Springer-Verlag} - \renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},23){#1}} \renewcommand{\authorcrfont}{\scriptsize} - \pdfpagesattr{/CropBox [92 65 523 731]}% LNCS page: 152x235 mm + \@ifclasswith{llncs}{a4paper}{% + \pdfpagesattr{/CropBox [92 114 523 780]}% + \renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},40){#1}}% + }{% + \pdfpagesattr{/CropBox [92 65 523 731]}% LNCS page: 152x235 mm + \renewcommand{\authorat}[1]{\put(\LenToUnit{\AA@x},23){#1}} + } \setlength{\AA@width}{\textwidth} \setcounter{tocdepth}{2} \fi @@ -181,9 +192,12 @@ pdftitle = {\@title}, } -\AtEndDocument{\label{LastPage}} - - +\@ifpackageloaded{totpages}{% + \def\aa@lastpage{TotPages} +}{% + \RequirePackage{lastpage} + \def\aa@lastpage{LastPage} +} \newsavebox{\AA@authoratBox} \AddToShipoutPicture*{% @@ -205,7 +219,7 @@ }% \parbox{\AA@width-1.4cm}{\authorcrfont% \ifAA@LNCS% - \AA@publication, pp. \thepage--\pageref{LastPage}, \AA@year. + \AA@publication, pp. \thepage--\pageref{\aa@lastpage}, \AA@year. \ifAA@nocopyright\relax\else \textcopyright~\AA@year~\AA@publisher. \fi @@ -241,7 +255,7 @@ 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% + version was published in \emph{\AA@publication}, pp.~\thepage--\pageref{\aa@lastpage}, \AA@year% \ifx\AA@doi\@empty% \ifx\AA@publisherurl\@empty% .% @@ -259,59 +273,24 @@ \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} + \item \attachandlink{\AA@bibBibTeX}[application/x-bibtex]{BibTeX entry of this paper}{\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}% + \item \attachandlink{\AA@bibWord}[application/xml]{XML entry of this paper (e.g., for Word 2007 and later)}{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}% + \item \attachandlink{\AA@bibEndnote}[application/x-endnote-refer]{Endnote entry of this paper}{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}% + \item \attachandlink{\AA@bibRIS}[application/x-research-info-systems]{RIS entry of this paper}{RIS}% }{ \typeout{No file \AA@bibRIS found. Not embedded reference in RIS format.} } diff --git a/examples/brucker-authorarchive-2016-llncs-a4.tex b/examples/brucker-authorarchive-2016-llncs-a4.tex new file mode 100644 index 0000000..bdffbef --- /dev/null +++ b/examples/brucker-authorarchive-2016-llncs-a4.tex @@ -0,0 +1,20 @@ +\documentclass[final, runningheads, USenglish, a4paper, pdftex]{llncs} +\usepackage[T1]{fontenc} +\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}, + 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}} +\institute{Some Departement, Somewhere} + +\input{input/body} diff --git a/icons/README.md b/icons/README.md new file mode 100644 index 0000000..7157466 --- /dev/null +++ b/icons/README.md @@ -0,0 +1,21 @@ +# Icons for the use with authorarchive + +This directory contains icons that might be used together with +the authorarchive LaTeX style. The use of these icons is +restricted by the respective copyright holders. + +## ORCID iD Icon + +The iD icon ([vector_iD_icon.svg](vector_iD_icon.svg)) was obtained in +SVG format from + and converted +to PDF ([vector_iD_icon.pdf](vector_iD_icon.pdf)) using +[Inkscape](https://inkscape.org). According to the use and (display +guidelines)[https://orcid.org/trademark-and-id-display-guidelines] of +the ORCID iD icons, it can be used for displaying ORCID identifiers. + +An alternative to including the iD icon as PDF image is the +[academicons](https://ctan.org/pkg/academicons) package. At the time +of writing, this package requires xe(la)tex or lua(la)tex while the +[authorarchive](https://ctan.org/pkg/authorarchive) packages requires +pdf(la)tex. diff --git a/icons/vector_iD_icon.pdf b/icons/vector_iD_icon.pdf new file mode 100644 index 0000000..59824b1 Binary files /dev/null and b/icons/vector_iD_icon.pdf differ diff --git a/icons/vector_iD_icon.svg b/icons/vector_iD_icon.svg new file mode 100644 index 0000000..2bddf44 --- /dev/null +++ b/icons/vector_iD_icon.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + \ No newline at end of file