Coder Social home page Coder Social logo

adbrucker / authorarchive Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 2.0 2.98 MB

A LaTeX style for producing author self-archiving copies of (academic) papers.

License: BSD 2-Clause "Simplified" License

TeX 95.06% Makefile 4.94%
latex-style author-copy self-archiving

authorarchive's Introduction

authorarchive

A LaTeX style for producing author self-archiving copies of (academic) papers.

Installation

The package is available on CTAN and is packaged in both MiKTeX and TeX Live. Thus, no manual installation should be requried. In case you still want to install the package manually, 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).

Usage

A simple use for LNCS-formatted papers is as follows:

\usepackage{authorarchive}
\authorsetup{LNCS,
   key=brucker-authorarchive-2016,
   year=2016,
   publication={Anonymous et al.\ (eds). Proceedings of the International
       Conference on LaTeX-Hacks, LNCS~42. Some Publisher}
   startpage={42},
   doi={00/00_00},
   doiText={0/00\_00},
   nocopyright
}

Note that this is the preferred way of configuring the package, as it allows, e.g., for LaTeX commands in options. Only if no (complex) LaTeX commands are used, the configuration can also be passes as package options (this is a limitation of the way LaTeX is passing options to packages):

\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}
   startpage={42},
   doi={00/00_00},
   doiText={0/00\_00},
   nocopyright
]{authorarchive}

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

By re-defining the font command (authorcrfont{}) and the command that is used for positioning the copyright text (\authorat{}), the package can be adapted easily to other layouts. For example,

\renewcommand{\authorcrfont}{\scriptsize}
\renewcommand{\authorat}[1]{\put(25,56.5){#1}}

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.
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.
baseurl https://git.logicalhacking.com/adbrucker/authorarchive/src/main The URL used as prefix for building the links.
suffix .pdf The suffix to use at links.
publisher UNKOWN PUBLISHER The name of the publisher. Default values are set by the series (LNCS, ...).
year UNKOWN YEAR The year of the publication.
key empty The basename of the filename. Used also to generate links.
doi empty The DOI of the publication. Used to generate the DOI link.
doiText The value of doi In case a DOI contains underscores, the displayed text differs from the DOI.
publisherurl empty In case no DOI is provided, one can provide a link to the publisher.
startpage 1 The pagenumber of the first page of the paper.
publication UNKNOWN PUBLICATION Information on the publication.

The package also defines a command \authorsetup{} which allows to define key value options dynamically. Moreover, if a file authorarchive.config exists in the LaTeX search path, it will be 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 (Word 2007 or later) file in the PDF directly. In case any of these file exist in bibtexdir, it gets embedded in the PDF.

You can use the 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. Especially whether you may self-archive the preprint or the postprint. For more information on that, read on at https://blogs.scientificamerican.com/information-culture/understanding-your-rights-pre-prints-post-prints-and-publisher-versions/.

None of the authors might be hold liable for copyright violations by using this package.

Usage at arXiv.org

arXiv.org deletes bib files when submitting a pre print. As workaround, this package supports using the file suffix .bibtex. When no .bib is found, but a .bibtex file, this file is used and embedded as .bib file into the PDF.

Other publishers

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.

\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}

Still, for some used document classes (e.g., lncs and acmart) there are specific package options available hat produce an alternative layout.

Alternative Packages

The package 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 to have a .bib file ready and multiple institutions are not well supported. With authorarchive, the information is printed at the bottom of the first page of the paper and required links to the publisher are generated.

The package llncsconf is a light-weight alternative to this package. It supports 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.

Authors

Main author: Achim D. Brucker

Contributors

License

If not otherwise stated, all sub-projects are dual-licensed under a 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

Upstream Repository

The upstream git repository, i.e., the single source of truth, for this project is hosted by the Software Assurance & Security Research Team at https://git.logicalhacking.com/adbrucker/authorarchive.

authorarchive's People

Contributors

adbrucker avatar koppor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

koppor tianyuez

authorarchive's Issues

\textsuperscript{} in `publication` leads to error

\documentclass{article}
\usepackage[IEEE,
   publication={The 6\textsuperscript{th} conference},
   nobib
 ]{authorarchive}
\begin{document}
Test
\end{document}

Output (both with lualatex and pdflatex)

LaTeX2e <2022-06-01> patch level 3
 L3 programming layer <2022-06-16> (C:/MiKTeX/tex/latex/base/article.cls
Document Class: article 2021/10/04 v1.4n Standard LaTeX document class
(C:/MiKTeX/tex/latex/base/size10.clo)))
! Incomplete \iffalse; all text was ignored after line 6.
<inserted text>
\fi
<*> test.tex

?
! Emergency stop.
<inserted text>
\fi
<*> test.tex

lni – german

Thanks for this package, which we want to use, but there are two problems:

We want to use authorarchive with biblatex and with the german-version of the lni-package to use it for publications for GI-Fachtagung Informatik und Schule (INFOS).

Therefor the entry in our publication-bib-files are not using the field year anymore, but date, so we want to be able to use
date={2019-09-18},
instead of
year={2019},

TNX
Ludger

Treatment of \author and \title

From latex3/pdfresources#38 (comment), I learned, that there is following code inside the sty file:

\hypersetup{%
  draft         = false,
  bookmarksopen = true,
  bookmarksnumbered= true,
  pdfauthor     = {\@author},
  pdftitle      = {\@title},
}

When using LNCS, the \author command will probably not lead to a clean author. Maybe also not the title.

Suggestion: Removal of setting pdfauthor and pdftitle.

The bookmarksopen IMHO needs to be kept to offer the user a click to the attachments?

use of \pdfmanagement_add:nnn command is faulty

The \ExplSyntaxOn command is in the wrong place, the argument is already tokenized and so this errors:

\DocumentMetadata{}
\documentclass{article}

\usepackage[LNCS]{authorarchive}

\begin{document}
Test
\end{document}
! Undefined control sequence.
<argument> \pdfmanagement 
                          _add:nnn {Pages}{CropBox}{[92~62~523~731]} 
l.177   }
         ^^M

I would suggest to define a new command at the begin:

\ExplSyntaxOn
\@ifundefined{pdfmanagement_add:nnn}
 {
    \newcommand\AA@pdfpagesattribute[2]{\pdfpagesattr{/#1}{#2}}
 }
 {
    \newcommand\AA@pdfpagesattribute[2]{\pdfmanagement_add:nnn{Pages}{#1}{#2}}
 } 
\ExplSyntaxOff

then you can use it in the code

\@ifclasswith{llncs}{a4paper}{%
   \AA@pdfpagesattribute{CropBox}{[92 114 523 780]}%

compability with new LaTeX pdfmanagement

in connection with the project "Tagged PDF" we, the LaTeX Team, are
extending the support for pdf related commands in the LaTeX kernel.

The new code is in part already in the kernel (in l3pdf and l3kernel)
and in part in a temporary testphase package pdfmanagement-testphase.

Most importantly: with the new code we want to replace a few primitives
which write to central dictionaries and resources in the pdf by a new
managed command to prevent clashes between packages and kernel code.
This means that packages which use one of \pdfinfo, \pdfcatalog,
\pdfpageattr, \pdfpagesattr or \pdfpageresources (and analog commands
of the other engines) are incompatible with the new pdfmanagement.

This affects authorarchive which uses \pdfpagesattr to set the CropBox.

This should be replaced (if the pdfmanagement is detected ) by e.g.

\ExplSyntaxOn
\pdfmanagement_add:nnn {Pages}{CropBox}{[92~114~523~780]}
\ExplSyntaxOff

Better handling of "unknown publisher"

The README.md states following:

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.

The result, however, looks kind of strange:

image

  • Maybe remove the first "UNKNOWN PUBLISHER", so that only "© 2023." appears?
  • The second "UNKNOWN PUBLISHER" could be replaced by "the publisher"?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.