/mkauthlist

Make long latex author lists from csv files.

Primary LanguageTeXMIT LicenseMIT

Build PyPI License

mkauthlist

Make long latex author lists from csv files.

Installation

The mkauthlist script is distributed via pip and should work on Python 2.7 or later:

> pip install mkauthlist

You can also clone the repository and install by hand:

> git clone https://github.com/DarkEnergySurvey/mkauthlist.git
> cd mkauthlist
> python setup.py install

Usage

The core usage is to transform a pre-sorted file of comma separated values into an author list suitable for input in the latex. The mkauthlist script provides several options for more complicated operations when generating the list.

> mkauthlist --help
usage: mkauthlist [-h] [-a order.csv] [-d] [-f] [-i IDX]
                   [-j {aj,apj,elsevier,emulateapj,mnras,prd,prl}] [-s] [-V]
                   author_list.csv
                   [author_list.tex]
 
A simple script for making latex author lists from the csv file
produced by the DES Publication Database (PubDB).
 
Some usage notes:
(1) By default, the script does not tier or sort the author list. The
'--sort' option does not respect tiers.
(2) An exact match is required to group affiliations. This should not
be a problem for affiliations provided by the PubDB; however, be
careful if you are editing affiliations by hand.
(3) The script parses quoted CSV format. Latex umlauts cause a problem
(i.e., the Munich affiliation) and must be escaped in the CSV
file. The PubDB should do this by default.
(4) There are some authors in the database with blank
affiliations. These need to be corrected by hand in the CSV file.
 
positional arguments:
  DES-XXXX-XXXX_author_list.csv
                        Input csv file from DES PubDB
  DES-XXXX-XXXX_author_list.tex
                        Output latex file (optional).
 
optional arguments:
  -h, --help            show this help message and exit
  -a order.csv, --aux order.csv
                        Auxiliary author ordering file (one lastname per
                        line).
  -d, --doc             Create standalone latex document.
  -f, --force           Force overwrite of output.
  -i IDX, --idx IDX     Starting index for aastex author list (useful for
                        multi-collaboration papers).
  -j {aj,apj,elsevier,emulateapj,mnras,prd,prl}, --journal {aj,apj,elsevier,emulateapj,mnras,prd,prl}
                        Journal name or latex document class.
  -s, --sort            Alphabetize the author list (you know you want to...).
  -V, --version         Print version number and exit.

Examples

General Use

Start with the author list in comma separated value (CSV) format. An example author list file is provided in data/example_author_list.csv (DES members can see the PubDB system here).

> mkauthlist -f --doc -j emulateapj --sort example_author_list.csv example_author_list.tex
> pdflatex example_author_list.tex

The output should looks something like this:

Ordering and Sorting

By default, mkauthlist preserves the ordering of the input CSV file. However, it is often necessary to manipulate the order of the author list. While this can be done directly by editing the CSV file, mkauthlist also provides some pre-designed functionality for sorting and ordering author lists.

It is possible to alphabetically sort the entire author list using the -s, --sort flag. This was done in the previous example, and is shown again here for clarity:

> mkauthlist --sort example_author_list.csv example_author_list.tex

Additionally, it is possible to alphabetically sort only the authors identified as "builders" (JoinedAsBuilder == 'True') using the -sb, --sort-builder flag (for DES author lists this is usually already done in the generation of the CSV file).

> mkauthlist --sort-builder example_author_list.csv example_author_list.tex

It is often necessary to place a few key authors at the front of the author list. This can be done using an auxiliary author order file (i.e., --aux order.csv). Here, order.csv is a one-per-line list of author last names (and optionally, first names). Authors with names in order.csv will be moved to the front of the author list and placed in the order specified in order.csv.

> mkauthlist --aux order.csv example_author_list.csv example_author_list.tex

It is possible to combine options in order to place several authors first and order the rest of the list alphabetically

> mkauthlist --sort --aux order.csv example_author_list.csv example_author_list.tex