diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/.gitignore b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/.gitignore new file mode 100644 index 0000000..6800162 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/.gitignore @@ -0,0 +1,24 @@ +### Emacs +\#*# +\.#* +*~ + +### Latex +*.fls +*.aux +*.log +*.fdb_* +*.out +*.blg +*.bbl +*Notes.bib +main.pdf +main.tar.gz + +### other files produced during compilation +authors.tex +contributions.tex + +### cookiecutter files +desc-0000-twinkles-1-sl-pop.pdf +desc-0000-twinkles-1-sl-pop.tar.gz diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/.metadata.json b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/.metadata.json new file mode 100644 index 0000000..d3e3575 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/.metadata.json @@ -0,0 +1,12 @@ +{ + "author": "Bryce Kalmbach", + "affiliation": "University of Washington", + "email": "jbkalmbach@uw.edu", + "title": "The Twinkles 1 Strong Lens Population", + "description": "The Twinkles 1 field is overloaded with supernovae and strongly lensed quasars. In this Note we describe the input lens population, and how the lens systems are "sprinkled" into the PhoSim instance catalogs, having been matched by redshift and stellar mass.", + "repo_name": "Twinkles", + "serial_number": "0000", + "short_title": "1-sl-pop", + "folder_name": "desc-0000-twinkles-1-sl-pop", + "default_format": "ipynb" +} diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/.travis.yml b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/.travis.yml new file mode 100644 index 0000000..c4b9244 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/.travis.yml @@ -0,0 +1,31 @@ +# Install latex, and the various packages used by the start_paper Makefile: +before_install: + - sudo apt-get -qq update + - sudo apt-get install -y gsl-bin libgsl0-dev + - sudo apt-get install latexmk + - sudo apt-get install latex-xcolor +addons: + apt: + packages: + - texlive-generic-recommended + - texlive-latex-recommended + - texlive-latex-extra + - texlive-fonts-recommended + - texlive-fonts-extra + - texlive-publishers +install: + +# Now make the PDF, and move it to the top level, ready for deployment. +script: + - make -C doc/desc-0000-twinkles-1-sl-pop + - cp doc/desc-0000-twinkles-1-sl-pop/desc-0000-twinkles-1-sl-pop.pdf . + +# Finally, force-push the PDF to an otherwise empty "pdf" branch: +after_success: | + if [ -n "$GITHUB_API_KEY" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "master" ]; then + git checkout --orphan pdf + git rm -rf . + git add -f desc-0000-twinkles-1-sl-pop.pdf + git -c user.name='travis' -c user.email='travis' commit -m init + git push -q -f https://YourGitHubUserName:$GITHUB_API_KEY@github.com/DarkEnergyScienceCollaboration/Twinkles pdf + fi diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/Makefile b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/Makefile new file mode 100644 index 0000000..620f707 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/Makefile @@ -0,0 +1,178 @@ +# To make the document with the default settings: +# > make +# +# To make with a specific format: +# > make +# +# To tar up a flat version of a specific format: +# > make tar +# +# Alex Drlica-Wagner: https://github.com/LSSTDESC/start_paper/issues/new?body=@kadrlica + +# Primary file names - avoid cookiecutter variables, to enable `make +# upgrade` to cleanly over-write this Makefile... +main=main +default=$(shell cat .metadata.json | grep 'default_format' | cut -d'"' -f4) +outname=$(notdir $(shell pwd)) + +ifeq ($(default), ipynb) + style=tex +else + style=${default} +endif + +# LATEX environment variables +export TEXINPUTS:=./texmf/styles/:./tables/: +export BSTINPUTS:=./texmf/bib/: + +# LaTeX journal class switcher flags +# apj=\def\flag{apj} +# apjl=\def +# mnras=\def\flag{mnras} + +# Submission flags (these need some thought) +# arxiv=\def\flag{emulateapj} +# submit=${aastex} +# draft=\def\linenums{\linenumbers} + +# Files to copy when making tarball +tardir=tmp +figdir=./figures +figures=$(figdir)/*.{png,jpg,pdf} +tabdir=./tables +tables=$(tabdir)/*.tex +styles=./texmf/styles/*.{sty,cls} +bibs=./texmf/bib/*.bst +source=$(main).{tex,bbl,bib} lsstdesc.bib acknowledgments.tex authors.tex contributions.tex + +tarfiles=$(figures) $(tables) $(styles) $(bibs) $(source) + +# Interpret `make` with no target as `make tex` (a latex Note). +# At present, if the default_format is anything other than +# [apj|apjl|mnras|prd|prl|emulateapj], a latex Note is made. +# In future, we could think of using `make` to eg run the ipynb +# notebook and make PDF from the output, but this has not been +# implemented yet. +all: export flag = \def\flag{${style}} +all: main copy + +copy: + cp ${main}.pdf ${outname}.pdf + +touch: + touch ${main}.tex + +#http://journals.aas.org/authors/aastex/linux.html +#change the compiler call to allow a "." file +# +main : authlist + latexmk -g -pdf \ + -pdflatex='openout_any=a pdflatex %O -interaction=nonstopmode "${flag}\input{%S}"' \ + ${main} +# + +tar : main + mkdir -p ${tardir} + cp ${tarfiles} ${tardir} | true + cp ${outname}.pdf ${tardir}/${outname}.pdf + cd ${tardir} && tar -czf ../${outname}.tar.gz . && cd .. + rm -rf ${tardir} + +authlist : + pip install --upgrade mkauthlist + mkauthlist -j ${style} -f -c "LSST Dark Energy Science Collaboration" \ + --cntrb contributions.tex authors.csv authors.tex + +# http://stackoverflow.com/q/8028314/ +TARGETS=apj apjl prd prl mnras tex aastex61 emulateapj +$(TARGETS): export style = $(@) +$(TARGETS): export flag = \def\flag{$(@)} +$(TARGETS): + $(MAKE) -e main + $(MAKE) -e copy + $(MAKE) -e tar +# NB. the 'tex' target doesn't actually do anything in docswitch - make +# with no target compiles PDF out of main.tex using lsstdescnote.cls +# (which is to say, by default we assume you are writing an LSST +# DESC Note in latex format). + +tidy: + rm -f *.log *.aux *.out *.dvi *.synctex.gz *.fdb_latexmk *.fls + rm -f *.bbl *.blg *Notes.bib ${main}.pdf + +clean: tidy + rm -f ${outname}.pdf ${outname}.tar.gz + +# Update the tex styles etc: + +baseurl=https://raw.githubusercontent.com/LSSTDESC/start_paper/master/%7B%7Bcookiecutter.folder_name%7D%7D + +UPDATES=\ +texmf/bib/apj.bst \ +texmf/bib/mnras.bst \ +texmf/styles/aas_macros.sty \ +texmf/styles/aastex.cls \ +texmf/styles/aastex61.cls \ +texmf/styles/aps_macros.sty \ +texmf/styles/docswitch.sty \ +texmf/styles/emulateapj.cls \ +texmf/styles/mnras.cls \ +texmf/styles/lsstdescnote.cls \ +texmf/styles/lsstdesc_macros.sty \ +texmf/logos/desc-logo-small.png \ +texmf/logos/desc-logo.png \ +texmf/logos/header.png \ +lsstdesc.bib \ +.travis.yml \ +figures/example.png + +.PHONY: $(UPDATES) +$(UPDATES): + curl -s -S -o $(@) ${baseurl}/$(@) + @echo " " + +update: + @echo "\nOver-writing LaTeX style files with the latest versions: \n" + @mkdir -p .logos figures texmf/styles texmf/bib + $(MAKE) $(UPDATES) + +# Get fresh copies of the templates etc, for reference: + +TEMPLATES=\ +acknowledgments.tex \ +authors.csv \ +main.ipynb \ +main.md \ +main.rst \ +main.tex \ +main.bib \ +.metadata.json + +.PHONY: $(TEMPLATES) templates +$(TEMPLATES): + curl -s -S -o templates/$(@) ${baseurl}/$(@) + @echo " " + +templates: + @echo "\nDownloading the latest versions of the template files, for reference: \n" + @mkdir -p templates + $(MAKE) $(TEMPLATES) + $(MAKE) new + ls -a templates/* + +# Get a template copy of the latest Makefile, for reference: +.PHONY: new +new: + @echo "\nDownloading the latest version of the Makefile, for reference: \n" + @mkdir -p templates + curl -s -S -o templates/Makefile ${baseurl}/Makefile + @echo " " + +# Over-write this Makefile with the latest version: +.PHONY: upgrade +upgrade: + @echo "\nDownloading the latest version of the Makefile: \n" + curl -s -S -o Makefile ${baseurl}/Makefile + @echo "\nUpgrading version of mkauthlist: \n" + pip install mkauthlist --upgrade --no-deps + @echo "\nNow get the latest styles and templates with\n\n make update\n make templates\n" diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/README.md b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/README.md new file mode 100644 index 0000000..37a5ad1 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/README.md @@ -0,0 +1,62 @@ + +## desc-0000-twinkles-1-sl-pop +# The Twinkles 1 Strong Lens Population + +*Bryce Kalmbach and others* + +The Twinkles 1 field is overloaded with supernovae and strongly lensed quasars. In this Note we describe the input lens population, and how the lens systems are "sprinkled" into the PhoSim instance catalogs, having been matched by redshift and stellar mass. + + +## Editing this Paper + +Fork and/or clone the project repo, and then +edit the primary file. The name of this file will vary according to its format, but it should be one of either `main.rst` (if it's a [`reStructuredText`](http://docutils.sourceforge.net/rst.html) Note), `main.md` (if it's a [`Markdown`](https://github.com/adam-p/Markdown-here/wiki/Markdown-Cheatsheet) Note), `main.ipynb` (if it's an [`IPython Notebook`](https://ipython.org/notebook.html)) or `main.tex` (if it's a latex Note or paper). +Please use the `figures` folder for your images. + +## Building this Paper + +GitHub is our primary distributor for LSST DESC Notes: +once the Note has been merged into the project repo's master branch, it will be visible as a *shared* (but not *published*) paper. The presentation of Notes will be improved later, as the LSST DESC Publication System evolves. + +You can compile latex papers locally with +``` +make [apj|apjl|prd|prl|mnras] +``` +`make` with no arguments compiles the latex using the `default_format` stored in `.metadata.json`. Choosing `tex` causes the paper to be made using the `texmf/styles/lsstdescnote.cls` class, with commands defined in `texmf/styles/lsstdesc_macros.sty`. Don't edit these style files, as you may want to replace them with newer versions as they become available. Instead, use the `macros.tex` file to add your own `newcommand`'s and `def`'s. + +At present, the Makefile is only used to compile latex. In future, we hope to enable compilation of jupyter notebooks, `Markdown` and `reStructuredText` format notes into PDF as well. + +## Updating the Styles and Templates + +From time to time, the latex style files will be updated: to re-download the latest versions, do +``` +make update +``` +This will over-write your folder's copies - but that's OK, as they are not meant to be edited by you! +The template files (`main.*` etc) are also likely to be updated; to get fresh copies of these files, do +``` +make templates +``` +However, since you will have edited at least one of the templates in your folder, `make templates` creates a special `templates` folder for you to refer to. Finally, to get *new* style or template files that are added to the `start_paper` project, you'll need to first get the latest `Makefile`, and then `make update` and/or `make templates`. The command to obtain the latest `Makefile` is +``` +make new +``` +This will add the latest `Makefile` to your `templates` folder. If you want to over-write your existing `Makefile`, you can do +``` +make upgrade +``` + +## Automatic PDF Sharing + +If this project is in a public GitHub repo, you can use the `.travis.yml` file in this folder to cause [travis-ci](http://travis-ci.org) to compile your paper into a PDF in the base repo at GitHub every time you push a commit to the master branch. The paper should appear as: + +**https://github.com/DarkEnergyScienceCollaboration/Twinkles/tree/pdf/desc-0000-twinkles-1-sl-pop.pdf** + +To enable this service, you need to follow these steps: + +1. Turn on travis continuous integration, by [toggling your repo on your travis profile](https://travis-ci.org/profile). If you don't see your repo listed, you may not have permission to do this: in this case, [contact an admin via the issues](https://github.com/DarkEnergyScienceCollaboration/Twinkles/issues/new?body=@DarkEnergyScienceCollaboration/admin). +2. Get a [GitHub "personal access token"](https://github.com/settings/tokens). Choose the "repo" option. +3. Set the `GITHUB_API_KEY` environment variable with the value of this token at your repo's [travis settings page](https://travis-ci.org/DarkEnergyScienceCollaboration/Twinkles/settings). +4. Copy the `.travis.yml` file in this folder to the top level of your repo (or merge its contents with your existing `.travis.yml` file). +Edit the final `git push` command with your GitHub username. +Commit and push to trigger your travis build, but note that the PDF will only be deployed if the master branch is updated. diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/acknowledgments.tex b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/acknowledgments.tex new file mode 100644 index 0000000..ff2992e --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/acknowledgments.tex @@ -0,0 +1,3 @@ +% +This is the text imported from \code{acknowledgments.tex}, and will be replaced by some standard LSST DESC boilerplate at some point. +% diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/authors.csv b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/authors.csv new file mode 100644 index 0000000..aea3098 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/authors.csv @@ -0,0 +1,34 @@ +# ====================================================================== +# authors.csv +# +# While we wait for the LSST DESC publications system to generate files +# like this from its database, we'll need to edit authors.csv by hand. +# Below are some example entries. +# +# Notes: +# - If someone has two affiliations, they get two rows, and the last +# row is is used for their contribution. +# - Try to make your one-sentence contribution statement as +# informative as possible, so that it's clear who did what. +# - The contribution statement is a _summary of your impact on the +# project_, not a _timecard_. So, if you spent 90% of your time +# debugging, but 10% of your time designing and implementing the +# framework that then needed debugging, your statement should +# emphasize the design and implementation rather than the debugging. +# - BUG: mkauthlist cannot deal with empty rows, so please avoid them! +# - BUG: contributions are re-formatted by mkauthlist into Title case, +# removing all other capitalizations. Sorry about this! +# +# Example rows for you to adapt: +# +# Drlica-Wagner,Alex,A.~Drlica-Wagner,Contact,"Fermi National Accelerator Laboratory, P. O. Box 500, Batavia, IL 60510, USA","Developed algorithms for switching between document styles and generating author lists, implemented and tested software.",kadrlica@fnal.gov +# Marshall,Phil,P.~Marshall,Contributor,"SLAC National Accelerator Laboratory, Menlo Park, CA 94025, USA","Initiated and led project.",dr.phil.marshall@gmail.com +# Marshall,Phil,P.~Marshall,Contributor,"Kavli Institute for Particle Astrophysics \& Cosmology, P. O. Box 2450, Stanford University, Stanford, CA 94305, USA","Initiated and led project, designed templates, tested system.",dr.phil.marshall@gmail.com +# Digel,Seth,S.~Digel,Builder,"SLAC National Accelerator Laboratory, Menlo Park, CA 94025, USA","Advised on LSST DESC publication system requirements.",digel@stanford.edu +# Digel,Seth,S.~Digel,Builder,"Kavli Institute for Particle Astrophysics \& Cosmology, P. O. Box 2450, Stanford University, Stanford, CA 94305, USA","Advised on LSST DESC publication system requirements.",digel@stanford.edu +# +# ====================================================================== +Lastname,Firstname,Authorname,AuthorType,Affiliation,Contribution,Email +"Kalmbach", "Bryce","J.~Bryce~Kalmbach",Contact,"University of Washington","Led sprinkler code development and testing, wrote paper.","jbkalmbach@uw.edu" +"Marshall","Phil","P.J.~Marshall",Contributor,"SLAC National Accelerator Laboratory, Menlo Park, CA 94025, USA","",dr.phil.marshall@gmail.com +"Marshall","Phil","P.J.~Marshall",Contributor,"Kavli Institute for Particle Astrophysics \& Cosmology, P. O. Box 2450, Stanford University, Stanford, CA 94305, USA","Advised on lens selection and matching, reviewed code, designed and wrote text for paper.",dr.phil.marshall@gmail.com diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/figures/example.png b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/figures/example.png new file mode 100644 index 0000000..a769bd0 Binary files /dev/null and b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/figures/example.png differ diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/lsstdesc.bib b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/lsstdesc.bib new file mode 100644 index 0000000..5006c8a --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/lsstdesc.bib @@ -0,0 +1,51 @@ +% +% Standard list of LSST DESC references + +% !! DO NOT EDIT! !! +% This file is maintained as part of the `start_paper` project, +% and will be overwritten by `make update`. + +@ARTICLE{WhitePaper, + author = {{LSST Dark Energy Science Collaboration}}, + title = "{Large Synoptic Survey Telescope: Dark Energy Science Collaboration}", + journal = {ArXiv e-prints}, +archivePrefix = "arXiv", + eprint = {1211.0310}, + primaryClass = "astro-ph.CO", + keywords = {Astrophysics - Cosmology and Extragalactic Astrophysics, High Energy Physics - Experiment}, + year = 2012, + month = nov, + adsurl = {http://adsabs.harvard.edu/abs/2012arXiv1211.0310L}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System}, +collaboration = {LSST Dark Energy Science} +} + +@ARTICLE{ScienceBook, + author = {{LSST Science Collaboration}}, + title = "{LSST Science Book, Version 2.0}", + journal = {ArXiv e-prints}, +archivePrefix = "arXiv", + eprint = {0912.0201}, + primaryClass = "astro-ph.IM", + keywords = {Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Cosmology and Extragalactic Astrophysics, Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Galaxy Astrophysics, Astrophysics - Solar and Stellar Astrophysics}, + year = 2009, + month = dec, + adsurl = {http://adsabs.harvard.edu/abs/2009arXiv0912.0201L}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System}, +collaboration = {LSST Science} +} + +@ARTICLE{Overview, + author = {{Ivezic}, Z. and {Tyson}, J.~A. and others}, + title = "{LSST: from Science Drivers to Reference Design and Anticipated Data Products}", + journal = {ArXiv e-prints}, +archivePrefix = "arXiv", + eprint = {0805.2366}, + keywords = {Astrophysics}, + year = 2008, + month = may, + adsurl = {http://adsabs.harvard.edu/abs/2008arXiv0805.2366I}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System}, +collaboration = {LSST} +} +% diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/main.ipynb b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/main.ipynb new file mode 100644 index 0000000..dd78ea8 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/main.ipynb @@ -0,0 +1,1789 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The Twinkles 1 Strong Lens Population\n", + "\n", + "*Bryce Kalmbach, Phil Marshall, Curtis McCully and others*\n", + "\n", + "The Twinkles 1 field is overloaded with supernovae and strongly lensed quasars. In this Note we describe the input lens population, and how the lens systems are 'sprinkled' into the PhoSim instance catalogs, having been matched by redshift and stellar mass." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The OM10 Lensed Quasar Mock Catalog\n", + "\n", + "PJM: Brief description, with links.\n", + "\n", + "**JBK**: Selection of Twinkles subset.\n", + "\n", + "### The Twinkles-OM10 Catalog\n", + "\n", + "The lens system catalog used by Twinkles is found in the data folder of the repository and is labeled as [twinkles_lenses_v2.fits](https://github.com/LSSTDESC/Twinkles/blob/master/data/twinkles_lenses_v2.fits). We started by selecting the subset of 872 OM10 lenses that made up rung 4 in the [Strong Lens Time Delay Challenge](http://timedelaychallenge.org/index.html) ([Liao et al. 2015](https://arxiv.org/abs/1409.1254)). This set was chosen since it matches the LSST best (discussed in issue [#117](https://github.com/LSSTDESC/Twinkles/issues/117)). **Question for PJM: What does matches LSST best mean?** However, the original OM10 catalog is incomplete and lacks sizes for the foreground lens galaxies. In addition, our image simulations require an SED for the lens galaxy of each system. Therefore, we decided to assign stellar masses to our OM10 lens galaxies based upon SL2S data and then use this information to assign an SED and radial size from an appropriate CATSIM galaxy.\n", + "\n", + "#### Matching CATSIM galaxies to lensed systems\n", + "\n", + "We performed the matching using code in a jupyter notebook [here](https://github.com/LSSTDESC/Twinkles/blob/master/examples/notebooks/MatchingLensGalaxies.ipynb). The process involved three main steps:\n", + "\n", + "1. Use SL2S data to generate a Gaussian Mixture Model (GMM) to estimate stellar mass of lens galaxies based upon redshift and velocity dispersion.\n", + " * We use the data from Table 3 of [Sonnenfeld et al. (2013)](https://arxiv.org/abs/1307.4759).\n", + " * Derive the GMM using the [XDGMM](https://github.com/tholoien/XDGMM) and [empriciSN](https://github.com/tholoien/empiriciSN) packages by Tom Holoien.\n", + "2. Assign a stellar mass to the OM10 systems based upon this GMM and the OM10 redshifts and velocity dispersions.\n", + "3. Use the updated OM10 catalog with stellar masses, redshifts and ellipticities to match against CATSIM galaxies and use best fit galaxies to add SED and radius information to OM10 catalog.\n", + " * Matched OM10 galaxies to CATSIM galaxies with a 20% error limit on the three matching parameters.\n", + " * 11 OM10 lens galaxies did not have matches within 20% in all three parameters to a CATSIM galaxy. These were not included in the final catalog.\n", + "\n", + "After the matching process we had a final catalog of 861 OM10 systems with additional size and SED information needed to generate images. This final catalog was then used as the input for `The Sprinkler`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `The Sprinkler` Concept and Code\n", + "\n", + "**JBK**: Introduce `The Sprinkler` concept, including input and output, and any principles involved. Note: This is mostly taken straight from previous documentation [here](https://github.com/LSSTDESC/Twinkles/blob/master/doc/SLSimDocumentation/strong_lensing_review.ipynb).\n", + "\n", + "`The Sprinkler` is the [code](https://github.com/LSSTDESC/Twinkles/blob/master/python/desc/twinkles/sprinkler.py) that matches OM10 lens systems to AGNs in an instance catalog and replaces the instance catalog AGN with one of our lensed systems in the final PhoSim input catalog. To do this we add a step in the CATSIM `final pass` method when creating instance catalogs for PhoSim input and manipulate the array of catalog results before they are printed to file. The first step is loading the OM10-Twinkles catalog we described in the previous section. We then go through the instance catalog AGNs one at a time and see if they match a lens system from our OM10-Twinkles catalog. The matching is done by taking the redshift and magnitude of the CATSIM AGN and selecting any available lens systems with a source AGN that has a redshift within 0.1 dex and an LSST magnorm value (magnitude in a simulated filter with one bin at 500nm) within .25 mags.\n", + "\n", + "Once the possible matches to a given instance catalog AGN are found there is a chance that it will be replaced that is set by the density parameter in the sprinkler class. In the current Twinkles run it is set at 1.0 so that 198 lens systems are sprinkled into the Twinkles instance catalogs.\n", + "\n", + "If the AGN is chosen to be sprinkled then we proceed with the sprinkler and if there are multiple matches from the OM10-Twinkles catalog we randomly choose one to use as we proceed. First, we remove any disc and bulge information for that galaxy from the instance catalog leaving only the AGN data and copy this AGN entry creating 2 or 4 entries in the catalog depending upon the number of images the OM10 system we are sprinkling in has in total. Next we use the OM10 data for each image to shift the location of the AGN in each image to the correct location and adjust the magnitude for each entry depending on the OM10 magnification parameter for each AGN image. At this point we also adjust the time delay for each image with OM10 info and give all the images the same source redshift from the OM10 entry. Once the new entries are ready they are appended to the instance catalog with a new instance catalog id tag that gives us the ID of the Bulge galaxy in the instance catalog to which it is associated and the ID number of the OM10-Twinkles catalog system that is used.\n", + "\n", + "The next step is to take the original entry in the instance catalog and add in the information for the foreground lens galaxy. Therefore, in this step the AGN and Disc data for the original galaxy are cleared and the redshift and magnitude for the lens galaxy from the OM10 system is added into the instance catalog. Here we also add in the radius of the lens galaxy and the sed file we want to use (the information added to the original OM10 systems in the process described in the last section). We also add in the OM10 position angles and ellipticities at this point.\n", + "\n", + "Once we have gone through this process for all AGN in the instance catalog then we return to the normal instance catalog processing to write the information out to file.\n", + "\n", + "**JBK**: Show Sprinkler operating on OM10 sample made in previous section and producing an example (or the actual!) instance catalog. Note: I am basically going to follow the example [here](../../../examples/notebooks/Sort_Objects_in_ICs.ipynb) to process the instance catalog before the results section. \n", + "\n", + "> The matching of lensed systems seemed to take place outside `the sprinkler` - why is this? Do we want to refactor so that `the sprinkler` handles everything? I think this might be helpful...\n", + "\n", + "Now we will use the sprinkler in the Twinkles code to generate a full instance catalog for the Twinkles field. To set up Twinkles you can follow the instructions [here](../../Setup/Getting_started_on_your_laptop.rst#gravitational-lens-sprinkling-setup). Below we will create an instance catalog using the LSST OpSim database `minion_1016` and for visit `230`." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false, + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/Bryce/lsst/DarwinX86/sims_catalogs/2.3.3.sims/python/lsst/sims/catalogs/db/dbConnection.py:470: UserWarning: Duplicate object type id 25 specified: \n", + "Output object ids may not be unique.\n", + "This may not be a problem if you do not want globally unique id values\n", + " 'want globally unique id values')\n", + "/Users/Bryce/lsst/DarwinX86/sims_catalogs/2.3.3.sims/python/lsst/sims/catalogs/db/dbConnection.py:470: UserWarning: Duplicate object type id 40 specified: \n", + "Output object ids may not be unique.\n", + "This may not be a problem if you do not want globally unique id values\n", + " 'want globally unique id values')\n", + "/Users/Bryce/miniconda2/lib/python2.7/site-packages/matplotlib/__init__.py:1401: UserWarning: This call to matplotlib.use() has no effect\n", + "because the backend has already been chosen;\n", + "matplotlib.use() must be called *before* pylab, matplotlib.pyplot,\n", + "or matplotlib.backends is imported for the first time.\n", + "\n", + " warnings.warn(_use_error_msg)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "will generate pointing for 230 and write to filename 230_test.txt\n", + "{'mjd': 59580.139555000002, 'pointingRA': 53.009138473031555, 'rotSkyPos': 256.7507531819308, 'boundLength': 0.29999999999999999, 'skyBrightness': 21.232126999999998, 'OpsimMetaData': {'sunAlt': -0.57134799999999997, 'sunAz': 3.5626009999999999, 'rotSkyPos': 4.4811459999999999, 'slewDist': 0.75588900000000003, 'mieScatter': 1103.8354549999999, 'moonIllum': 6.9999999999999994e-05, 'visitExpTime': 30.0, 'lst': 1.4007689999999999, 'azimuth': 4.7159180000000003, 'moonDec': -0.41008299999999998, 'humidity': 0.0, 'ditheredRA': 0.90797615810743615, 'moonPhase': 3.8193649999999999, 'phaseAngle': 157.460083, 'index': 0, 'filtSkyBrightness': 21.232126999999998, 'rawSeeing': 0.86628499999999997, 'altitude': 1.1611579999999999, 'fieldRA': 0.92518400000000001, 'rotTelPos': 0.0, 'obsHistID': 230, 'moonAlt': -0.630629, 'solarElong': 111.110772, 'moonRA': 4.4750880000000004, 'FWHMeff': 1.1219680000000001, 'airmass': 1.0901989999999999, 'expMJD': 59580.139555000002, 'night': 0, 'darkBright': 84.646287000000001, 'expDate': 12057, 'moonBright': 0.0, 'finRank': 1.2222219999999999, 'dist2Moon': 2.169162, 'propID': 56, 'moonAZ': 3.065188, 'FWHMgeom': 0.97425799999999996, 'rScatter': 315520.930674, 'fieldDec': -0.47889999999999999, 'sessionID': 1016, 'ditheredDec': -0.50535099999999999, 'visitTime': 34.0, 'filter': u'r', 'fiveSigmaDepth': 24.070428, 'slewTime': 140.0, 'transparency': 0.0, 'vSkyBright': 21.512127, 'fieldID': 1427, 'wind': 0.0}, 'site': , 'boundType': 'circle', 'bandpass': u'r', 'pointingDec': -27.438948808815123}\n", + "writing starCat \n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: ErfaWarning: ERFA function \"taiutc\" yielded 1 of \"dubious year (Note 4)\" [astropy._erfa.core]\n", + "WARNING: ErfaWarning: ERFA function \"utcut1\" yielded 1 of \"dubious year (Note 3)\" [astropy._erfa.core]\n", + "/Users/Bryce/lsst/DarwinX86/sqlalchemy/1.0.8.lsst3+3/lib/python/SQLAlchemy-1.0.8-py2.7-macosx-10.6-x86_64.egg/sqlalchemy/sql/elements.py:3779: SAWarning: Textual SQL expression 'ra between 52.671111 and ...' should be explicitly declared as text('ra between 52.671111 and ...') (this warning may be suppressed after 10 occurrences)\n", + " {\"expr\": util.ellipses_string(element)})\n", + "/Users/Bryce/lsst/DarwinX86/sqlalchemy/1.0.8.lsst3+3/lib/python/SQLAlchemy-1.0.8-py2.7-macosx-10.6-x86_64.egg/sqlalchemy/sql/elements.py:3779: SAWarning: Textual SQL expression 'gmag > 11.0' should be explicitly declared as text('gmag > 11.0') (this warning may be suppressed after 10 occurrences)\n", + " {\"expr\": util.ellipses_string(element)})\n", + "/Users/Bryce/lsst/DarwinX86/sqlalchemy/1.0.8.lsst3+3/lib/python/SQLAlchemy-1.0.8-py2.7-macosx-10.6-x86_64.egg/sqlalchemy/sql/sqltypes.py:565: SAWarning: Dialect sqlite+pysqlite does *not* support Decimal objects natively, and SQLAlchemy must convert from floating point - rounding errors and other issues may occur. Please consider storing Decimal numbers as strings or integers on this platform for lossless storage.\n", + " 'storage.' % (dialect.name, dialect.driver))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "writing galCat\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/Bryce/lsst/DarwinX86/sqlalchemy/1.0.8.lsst3+3/lib/python/SQLAlchemy-1.0.8-py2.7-macosx-10.6-x86_64.egg/sqlalchemy/sql/elements.py:3779: SAWarning: Textual SQL expression 'g_ab > 11.0' should be explicitly declared as text('g_ab > 11.0') (this warning may be suppressed after 10 occurrences)\n", + " {\"expr\": util.ellipses_string(element)})\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/Bryce/miniconda2/lib/python2.7/site-packages/numpy/core/records.py:507: FutureWarning: Numpy has detected that you may be viewing or writing to an array returned by selecting multiple fields in a structured array. \n", + "\n", + "This code may break in numpy 1.13 because this will return a view instead of a copy -- see release notes for details.\n", + " return obj.view(dtype=(self.dtype.type, obj.dtype))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 10000\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "Running sprinkler. Catalog Length: 3471\n", + "Gone through 0 lines of catalog.\n", + "Gone through 100 lines of catalog.\n", + "writing sne\n", + "230 241.910430908\n" + ] + } + ], + "source": [ + "%run ../../../bin/generatePhosimInput.py 230 --opsimDB minion_1016_sqlite.db --outfile 230_test.txt " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have an instance catalog let's go through it and find the sprinkled objects." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Parsing the Instance Catalog\n", + "\n", + "First I will read in the instance catalog and separate out the sprinkled objects from the rest of the catalog." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "filename = '230_test.txt'" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "i = 0\n", + "not_star_rows = []\n", + "not_galaxy_rows = []\n", + "not_agn_rows = []\n", + "not_sne_rows = []\n", + "with open(filename, 'r') as f:\n", + " for line in f:\n", + " new_str = line.split(' ')\n", + " #Skip through the header\n", + " if len(new_str) < 4:\n", + " not_star_rows.append(i)\n", + " not_galaxy_rows.append(i)\n", + " not_agn_rows.append(i)\n", + " not_sne_rows.append(i)\n", + " i+=1\n", + " continue\n", + " if new_str[5].startswith('starSED'):\n", + " #star_rows.append(i)\n", + " not_galaxy_rows.append(i)\n", + " not_agn_rows.append(i)\n", + " not_sne_rows.append(i)\n", + " elif new_str[5].startswith('galaxySED'):\n", + " #galaxy_rows.append(i)\n", + " not_star_rows.append(i)\n", + " not_agn_rows.append(i)\n", + " not_sne_rows.append(i)\n", + " elif new_str[5].startswith('agnSED'):\n", + " #agn_rows.append(i)\n", + " not_star_rows.append(i)\n", + " not_galaxy_rows.append(i)\n", + " not_sne_rows.append(i)\n", + " elif new_str[5].startswith('spectra_files'):\n", + " #sne_rows.append(i)\n", + " not_star_rows.append(i)\n", + " not_galaxy_rows.append(i)\n", + " not_agn_rows.append(i)\n", + " i += 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll focus on the galaxy and AGN objects since those are the types of objects we sprinkled in to the catalog." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "df_galaxy = pd.read_csv(filename, delimiter=' ', header=None, \n", + " names=['prefix', 'uniqueId', 'raPhoSim', 'decPhoSim', \n", + " 'phoSimMagNorm', 'sedFilepath',\n", + " 'redshift', 'shear1', 'shear2', 'kappa', \n", + " 'raOffset', 'decOffset', 'spatialmodel', \n", + " 'majorAxis', 'minorAxis', 'positionAngle', 'sindex',\n", + " 'internalExtinctionModel', 'internalAv', 'internalRv',\n", + " 'galacticExtinctionModel', 'galacticAv', 'galacticRv'], \n", + " skiprows=not_galaxy_rows)\n", + "\n", + "df_agn = pd.read_csv(filename, delimiter=' ', header=None, \n", + " names=['prefix', 'uniqueId', 'raPhoSim', 'decPhoSim', \n", + " 'phoSimMagNorm', 'sedFilepath', 'redshift', \n", + " 'shear1', 'shear2', 'kappa', 'raOffset', 'decOffset',\n", + " 'spatialmodel', 'internalExtinctionModel',\n", + " 'galacticExtinctionModel', 'galacticAv', 'galacticRv'],\n", + " skiprows = not_agn_rows)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Sort out sprinkled Strong Lensing Systems\n", + "\n", + "Now we will pick out the pieces of strongly lensed systems that were sprinkled into the instance catalogs for the Twinkles project." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Lensed AGN\n", + "We start with the Lensed AGN. In Twinkles Instance Catalogs the lensed AGN have larger `uniqueId`s than normal since we added information about the systems into the `uniqueId`s. We use this to find them in the AGN dataframe." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "sprinkled_agn = df_agn[df_agn['uniqueId'] > 20000000000]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Below we see a pair of lensed images from a double." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
prefixuniqueIdraPhoSimdecPhoSimphoSimMagNormsedFilepathredshiftshear1shear2kapparaOffsetdecOffsetspatialmodelinternalExtinctionModelgalacticExtinctionModelgalacticAvgalacticRv
338object21393417833253.052941-27.70331421.101459agnSED/agn.spec.gz0.4800000pointnoneCCM0.0297843.1
339object21393417935653.052396-27.70292222.611757agnSED/agn.spec.gz0.4800000pointnoneCCM0.0297913.1
\n", + "
" + ], + "text/plain": [ + " prefix uniqueId raPhoSim decPhoSim phoSimMagNorm \\\n", + "338 object 213934178332 53.052941 -27.703314 21.101459 \n", + "339 object 213934179356 53.052396 -27.702922 22.611757 \n", + "\n", + " sedFilepath redshift shear1 shear2 kappa raOffset decOffset \\\n", + "338 agnSED/agn.spec.gz 0.48 0 0 0 0 0 \n", + "339 agnSED/agn.spec.gz 0.48 0 0 0 0 0 \n", + "\n", + " spatialmodel internalExtinctionModel galacticExtinctionModel galacticAv \\\n", + "338 point none CCM 0.029784 \n", + "339 point none CCM 0.029791 \n", + "\n", + " galacticRv \n", + "338 3.1 \n", + "339 3.1 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sprinkled_agn[:2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we will extract the extra information we have stored in the `uniqueId`. This information is the Twinkles System number in our custom OM10 catalog in the `data` directory in Twinkles and the Twinkles Image Number which identifies which image in that particular system refers to that line in the catalog." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# This step undoes the step in CatSim that gives each component of a galaxy a different offset\n", + "twinkles_nums = []\n", + "for agn_id in sprinkled_agn['uniqueId']:\n", + " twinkles_ids = np.right_shift(agn_id-28, 10)\n", + " twinkles_nums.append(twinkles_ids)\n", + " \n", + "#This parses the information added in the last 4 digits of the unshifted ID\n", + "twinkles_system_num = []\n", + "twinkles_img_num = []\n", + "for lens_system in twinkles_nums:\n", + " lens_system = str(lens_system)\n", + " twinkles_id = lens_system[-4:]\n", + " twinkles_id = np.int(twinkles_id)\n", + " twinkles_base = np.int(np.floor(twinkles_id/4))\n", + " twinkles_img = twinkles_id % 4\n", + " twinkles_system_num.append(twinkles_base)\n", + " twinkles_img_num.append(twinkles_img)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We once again look at the two images we showed earlier. We see that they are image 0 and image 1 from Twinkles System 24." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[24, 24] [0, 1]\n" + ] + } + ], + "source": [ + "print twinkles_system_num[:2], twinkles_img_num[:2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now add this information into our sprinkled AGN dataframe and reset the indices." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
uniqueIdraPhoSimdecPhoSimtwinkles_systemtwinkles_img_num
021393417833253.052941-27.703314240
121393417935653.052396-27.702922241
\n", + "
" + ], + "text/plain": [ + " uniqueId raPhoSim decPhoSim twinkles_system twinkles_img_num\n", + "0 213934178332 53.052941 -27.703314 24 0\n", + "1 213934179356 53.052396 -27.702922 24 1" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sprinkled_agn = sprinkled_agn.reset_index(drop=True)\n", + "sprinkled_agn['twinkles_system'] = twinkles_system_num\n", + "sprinkled_agn['twinkles_img_num'] = twinkles_img_num\n", + "sprinkled_agn.iloc[:2, [1, 2, 3, -2, -1]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The last step is to now add a column with the lens galaxy `uniqueId` for each system so that we can cross-reference between the lensed AGN and the lens galaxy dataframe we will create next. We start by finding the `uniqueId`s for the lens galaxies." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "#The lens galaxy ids do not have the extra 4 digits at the end so we remove them\n", + "#and then do the shift back to the `uniqueID`.\n", + "lens_gal_ids = np.left_shift((np.array(twinkles_nums))/10000, 10) + 26\n", + "\n", + "sprinkled_agn['lens_galaxy_uID'] = lens_gal_ids" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now see that the same system has the same lens galaxy `uniqueId` as we expect." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
uniqueIdraPhoSimdecPhoSimtwinkles_systemtwinkles_img_numlens_galaxy_uID
021393417833253.052941-27.70331424021393434
121393417935653.052396-27.70292224121393434
\n", + "
" + ], + "text/plain": [ + " uniqueId raPhoSim decPhoSim twinkles_system twinkles_img_num \\\n", + "0 213934178332 53.052941 -27.703314 24 0 \n", + "1 213934179356 53.052396 -27.702922 24 1 \n", + "\n", + " lens_galaxy_uID \n", + "0 21393434 \n", + "1 21393434 " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sprinkled_agn.iloc[:2, [1, 2, 3, -3, -2, -1]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Lens Galaxies\n", + "\n", + "Now we will create a dataframe with the Lens Galaxies." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "lens_gal_locs = []\n", + "for idx in lens_gal_ids:\n", + " lens_gal_locs.append(np.where(df_galaxy['uniqueId'] == idx)[0])\n", + "\n", + "lens_gals = df_galaxy.iloc[np.unique(lens_gal_locs)]\n", + "lens_gals = lens_gals.reset_index(drop=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now have the lens galaxies in their own dataframe that can be joined on the lensed AGN dataframe by the `uniqueId`." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
prefixuniqueIdraPhoSimdecPhoSimphoSimMagNormsedFilepathredshiftshear1shear2kappa...majorAxisminorAxispositionAnglesindexinternalExtinctionModelinternalAvinternalRvgalacticExtinctionModelgalacticAvgalacticRv
0object2139343453.052488-27.70297417.830105galaxySED/Inst.25E09.02Z.spec.gz0.184000...1.6126161.15325456.846854CCM0.23.1CCM0.029793.1
\n", + "

1 rows × 23 columns

\n", + "
" + ], + "text/plain": [ + " prefix uniqueId raPhoSim decPhoSim phoSimMagNorm \\\n", + "0 object 21393434 53.052488 -27.702974 17.830105 \n", + "\n", + " sedFilepath redshift shear1 shear2 kappa \\\n", + "0 galaxySED/Inst.25E09.02Z.spec.gz 0.184 0 0 0 \n", + "\n", + " ... majorAxis minorAxis positionAngle sindex \\\n", + "0 ... 1.612616 1.153254 56.84685 4 \n", + "\n", + " internalExtinctionModel internalAv internalRv galacticExtinctionModel \\\n", + "0 CCM 0.2 3.1 CCM \n", + "\n", + " galacticAv galacticRv \n", + "0 0.02979 3.1 \n", + "\n", + "[1 rows x 23 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lens_gals[lens_gals['uniqueId'] == sprinkled_agn['lens_galaxy_uID'][0]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And we can check how many systems there are by checking the length of this dataframe and it will show that we have 198 lens systems in the Twinkles field!" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "198" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(lens_gals)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Results\n", + "\n", + "JBK: Plots showing successful instance catalog generation: 1) Example system, showing sky positions of lensed quasar images and lens galaxy, compared to standard OM10 representation. 2) Distributions of lens galaxy and source quasar magnitude, to show that matching works well. etc." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Compare catalog positions to OM10\n", + "\n", + "We want to show that the positions of the images in our lens systems in the catalogs are where they should be according to the OM10 systems we are using. Here we will use an example system from the catalog to show that we have lined up our catalog objects correctly." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def offset_on_sky(ra, dec, ra0, dec0, units='degrees'):\n", + " \"\"\"\n", + " Subtract off a reference sky position and convert to simple cartesians in arcsec:\n", + " \n", + " Parameters\n", + " ----------\n", + " ra, dec : float, float\n", + " Feature positions (degrees)\n", + " ra0, dec0 : float, float\n", + " Reference position (degrees)\n", + " units : string\n", + " 'degrees' or 'radians'\n", + " \n", + " Returns\n", + " -------\n", + " x, y : float, float\n", + " Offset position in righthanded cartesians, and units of arcsec\n", + " \"\"\"\n", + " if units == 'radians':\n", + " ra, dec = np.degrees(ra), np.degrees(dec)\n", + " \n", + " y = 3600.0 * (dec - dec0)\n", + " x = 3600.0 * (ra - ra0) * np.cos(np.radians(dec0))\n", + " return x, y" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Load Twinkles OM10 database\n", + "from astropy.io import fits\n", + "om10_db = fits.open('../../../data/twinkles_lenses_v2.fits')" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
prefixuniqueIdraPhoSimdecPhoSimphoSimMagNormsedFilepathredshiftshear1shear2kapparaOffsetdecOffsetspatialmodelinternalExtinctionModelgalacticExtinctionModelgalacticAvgalacticRvtwinkles_systemtwinkles_img_numlens_galaxy_uID
16object125760524700453.140369-27.68875523.305929agnSED/agn.spec.gz0.6200000pointnoneCCM0.0291213.1310125760538
17object125760524802853.141059-27.68846822.744297agnSED/agn.spec.gz0.6200000pointnoneCCM0.0291203.1311125760538
18object125760524905253.141089-27.68815422.502861agnSED/agn.spec.gz0.6200000pointnoneCCM0.0291263.1312125760538
19object125760525007653.140447-27.68805723.598845agnSED/agn.spec.gz0.6200000pointnoneCCM0.0291343.1313125760538
\n", + "
" + ], + "text/plain": [ + " prefix uniqueId raPhoSim decPhoSim phoSimMagNorm \\\n", + "16 object 1257605247004 53.140369 -27.688755 23.305929 \n", + "17 object 1257605248028 53.141059 -27.688468 22.744297 \n", + "18 object 1257605249052 53.141089 -27.688154 22.502861 \n", + "19 object 1257605250076 53.140447 -27.688057 23.598845 \n", + "\n", + " sedFilepath redshift shear1 shear2 kappa raOffset decOffset \\\n", + "16 agnSED/agn.spec.gz 0.62 0 0 0 0 0 \n", + "17 agnSED/agn.spec.gz 0.62 0 0 0 0 0 \n", + "18 agnSED/agn.spec.gz 0.62 0 0 0 0 0 \n", + "19 agnSED/agn.spec.gz 0.62 0 0 0 0 0 \n", + "\n", + " spatialmodel internalExtinctionModel galacticExtinctionModel galacticAv \\\n", + "16 point none CCM 0.029121 \n", + "17 point none CCM 0.029120 \n", + "18 point none CCM 0.029126 \n", + "19 point none CCM 0.029134 \n", + "\n", + " galacticRv twinkles_system twinkles_img_num lens_galaxy_uID \n", + "16 3.1 31 0 125760538 \n", + "17 3.1 31 1 125760538 \n", + "18 3.1 31 2 125760538 \n", + "19 3.1 31 3 125760538 " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We'll pick a Quad system for more fun\n", + "sprinkled_agn[16:20]" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# These are the example lens galaxy and lensed AGN images from above\n", + "example_lensed_agn = sprinkled_agn.iloc[16:20, [1, 2, 3, -3, -2, -1]]\n", + "example_lensed_agn = example_lensed_agn.reset_index(drop=True)\n", + "example_lens_galaxy = lens_gals[lens_gals['uniqueId'] == example_lensed_agn['lens_galaxy_uID'][0]]\n", + "example_lensed_agn['lens_ra'] = np.array([example_lens_galaxy['raPhoSim'].iloc[0]]*4)\n", + "example_lensed_agn['lens_dec'] = np.array([example_lens_galaxy['decPhoSim'].iloc[0]]*4)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
uniqueIdraPhoSimdecPhoSimtwinkles_systemtwinkles_img_numlens_galaxy_uIDlens_ralens_dec
0125760524700453.140369-27.68875531012576053853.140651-27.688312
1125760524802853.141059-27.68846831112576053853.140651-27.688312
2125760524905253.141089-27.68815431212576053853.140651-27.688312
3125760525007653.140447-27.68805731312576053853.140651-27.688312
\n", + "
" + ], + "text/plain": [ + " uniqueId raPhoSim decPhoSim twinkles_system twinkles_img_num \\\n", + "0 1257605247004 53.140369 -27.688755 31 0 \n", + "1 1257605248028 53.141059 -27.688468 31 1 \n", + "2 1257605249052 53.141089 -27.688154 31 2 \n", + "3 1257605250076 53.140447 -27.688057 31 3 \n", + "\n", + " lens_galaxy_uID lens_ra lens_dec \n", + "0 125760538 53.140651 -27.688312 \n", + "1 125760538 53.140651 -27.688312 \n", + "2 125760538 53.140651 -27.688312 \n", + "3 125760538 53.140651 -27.688312 " + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "example_lensed_agn" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "FITS_rec([ (447252, 0, 4, 0.202, 281.8383, 0.3325666, -136.1489, 0.06078814, 54.97539, 0.62, 0.01993577, -0.2136398, 23.41, 22.30149, 3.152606, [-0.8915, 1.3049, 1.394 , -0.653 ], [-1.5949, -0.5538, 0.5766, 0.9183], [ 2.7759, -4.2353, 5.3534, -1.5119], [ 0. , 17.956, 16.262, 31.911], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.], 685.897339, 990.987244, -23.1394997, 17.0428391, 0.20200001, 1399.73, 890.815, 0., 3673.45, 0., 2.0383899, 0., 31, 'Inst.40E09.02Z.spec')], \n", + " dtype=(numpy.record, [('LENSID', '>i4'), ('FLAGTYPE', '>i2'), ('NIMG', '>i2'), ('ZLENS', '>f8'), ('VELDISP', '>f8'), ('ELLIP', '>f8'), ('PHIE', '>f8'), ('GAMMA', '>f8'), ('PHIG', '>f8'), ('ZSRC', '>f8'), ('XSRC', '>f8'), ('YSRC', '>f8'), ('MAGI_IN', '>f8'), ('MAGI', '>f8'), ('IMSEP', '>f8'), ('XIMG', '>f8', (4,)), ('YIMG', '>f8', (4,)), ('MAG', '>f8', (4,)), ('DELAY', '>f8', (4,)), ('KAPPA', '>f8', (4,)), ('FSTAR', '>f8', (4,)), ('DD', '>f8'), ('DDLUM', '>f8'), ('ABMAG_I', '>f8'), ('APMAG_I', '>f8'), ('KCORR', '>f8'), ('DS', '>f8'), ('DDS', '>f8'), ('SIGCRIT', '>f8'), ('DSLUM', '>f8'), ('L_I', '>f8'), ('REFF', '>f8'), ('REFF_T', '>f8'), ('twinklesId', '>i2'), ('lens_sed', 'S30')]))" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Match the lens system to its OM10 source\n", + "twinkles_sys_num = example_lensed_agn['twinkles_system'].iloc[0]\n", + "om10_sys = om10_db[1].data[om10_db[1].data['twinklesId'] == twinkles_sys_num]\n", + "om10_sys" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Calculate the offsets from the lens galaxy position\n", + "offset_x1, offset_y1 = offset_on_sky(example_lensed_agn['raPhoSim'].iloc[0], example_lensed_agn['decPhoSim'].iloc[0],\n", + " example_lensed_agn['lens_ra'].iloc[0], example_lensed_agn['lens_dec'].iloc[0])\n", + "offset_x2, offset_y2 = offset_on_sky(example_lensed_agn['raPhoSim'].iloc[1], example_lensed_agn['decPhoSim'].iloc[1],\n", + " example_lensed_agn['lens_ra'].iloc[1], example_lensed_agn['lens_dec'].iloc[1])\n", + "offset_x3, offset_y3 = offset_on_sky(example_lensed_agn['raPhoSim'].iloc[2], example_lensed_agn['decPhoSim'].iloc[2],\n", + " example_lensed_agn['lens_ra'].iloc[2], example_lensed_agn['lens_dec'].iloc[2])\n", + "offset_x4, offset_y4 = offset_on_sky(example_lensed_agn['raPhoSim'].iloc[3], example_lensed_agn['decPhoSim'].iloc[3],\n", + " example_lensed_agn['lens_ra'].iloc[3], example_lensed_agn['lens_dec'].iloc[3])" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Let's use the OM10 tools here since it has a nice plotting method\n", + "import om10\n", + "db = om10.DB(catalog='../../../data/twinkles_lenses_v2.fits')\n", + "lens = db.get_lens(om10_sys['LENSID'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have all the information ready. We'll first make a plot of the OM10 system from the OM10 data and then in the second plot we'll remake the same plot but overlay the positions of the catalog images on top." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "om10.plot_lens: plotting image configuration of lens ID 447252\n", + "om10.plot_lens: lens, image magnitudes: 17.0428391 [ 22.30149046 21.84278955 21.58842576 22.96119233]\n", + "om10.plot_lens: figure saved to file: om10_qso_ID=447252.png\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "om10.plot_lens(lens)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "om10.plot_lens: plotting image configuration of lens ID 447252\n", + "om10.plot_lens: lens, image magnitudes: 17.0428391 [ 22.30149046 21.84278955 21.58842576 22.96119233]\n", + "om10.plot_lens: figure saved to file: om10_qso_ID=447252.png\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n/Zw3rInZaj9wUKOZiHjw6MZDwUl80+xzkfXnFc6cVre8fja0goKZ0oa1eea7LWcgDNdfV+MZCMdV\nN5tauP9tZ4arf++6Mt5pVJbo+0dfU1fG/vD3MdXNFKjgxDAW5z22WW/r97vDcRuv+7sM116v4GR0\nLbK+0Og4RuNrx+eihc9fSzMQRsqwZRl3Wa7zO33Ottsm/CxsOUNiGFv9Z2gwcvw2zSIYvuZaM/vh\n4daDeQaQGBvMq16tzTgXFbZ7n1Ewo1q9UnSsvw2uSsqSztj2XaGMavMcBrVOeE0LyzWqunHpjYZ/\nbdFZLHrFX1+GooKrwzjvcVZ14/Mj4/9jXdWGx61ojDlf66NhgyvTUvh8VI2rn8fqYwuvbDeUt5XP\nhQlutjTebEe7VoQjNqKz+rVbnA6U222z5cyakf4kBWNMf/gYlPSWfVwTMB/9/wr/pucUmQgq5n7g\nEBNmc0Biwi+W17Txhje3beOb14wpuCKpSLpgH89EuOGGQ+EX0zkFV6xlBVdRtZnrCgpOiKVwfSXc\n5ordOJyqX8GJ56qav1FR7WY3U2E5ZyPlGlJwtT8f7rPS6DVhuWrxzio4ydY6AJb0+OY9qit3w/eo\nW98f7rMQvs974bajNuawzMhxKyiYEa+o4OZR0Zvn1E7Otcly3lZwnI/WXrfV+zX5uSgpmHPibJzy\nm9ZvVFRLvNreaz6MYVRB/5dC+N7jduMcEXG2qU3nXD//Rq3mqJGKtfZEZNta/LXjNGYf9/+IvR+4\ng2QgpcJ/+mEFX9j92jweO7pt7e56BQVfnqORf9zY+wF2yxgzXpcMbDktdIfev37OCQAx0IEwvSZt\nOFTHGDOjYHa6TdWSYZY+ELnqrc1bfqKZ/QBtsj78LPwsxr4BUpuQ6AItoM9ACoVX+utfouGV/Fbz\nuteqDWtmFH4hN7kfoB1mFYwGqN1id7fDPGMLawXSOMcEkHrUDGwj0nY4pOCkWozbOSa8Yh/R9h19\nrtvGE4nU2oOj5hsNt7LBNLZDkUUDCtrOa5PMxNoP0CYXFCSc39A2dx7sEGoFgBaRDGwhPJlfsdaO\n1qo7m+klG16Ft9rJqKnx6HXlivb63fW4dqAZ4ec+kZnoqBUAWpepDoRPPvmkPX78eNOvW1lZUS6X\n27Tsxz/+sV5++eU2le6xO3fu6NatW3rppZfWl33ve9/TSy+9pP379zd8zdLSku7evatcLqcjR460\n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\neeutt3Tt2jVJ0sDAgM6ePavJyclN21WrVU1OTmpwcHB92cTEhEZGRjYkEH/8x3/c+UJLmpycVKlU\n6sp7NYtkAADgjNnZWRWLxfXnhUJh26vtaCIwNTW1/rxQKKyfmI8dO9aVyYvSmghIJAMAAIdUKhUV\nCoUNy4rFomZnZ9Xf379heXS7arWq+fn59RNytVpd//1HP/qRRkZGtnzParWqd955RwMDA6pUKqpU\nKjp//rzK5bIqlYqKxaKuXr2qsbExSWq4fHZ2VmfPntW5c+c0MjKicrmsc+fOaXR0VKVSSdVqVVeu\nXNH4+Pj6+9b2I0nXr1/X0NCQKpXKtmVtFckAAMAZ8/PzLb3uwoULevvtt9efFwqF9WThpZde2vG1\nZ86cUX9/v/r7+zUxMaFKpaKxsTFduXJlvVwXL17U8PBww+Xnz5/fUEsxODio4eFhXbt2bf3kfuHC\nBVUqlfUk5dy5c7p+/bok6cSJE3r77bc37KOdSAY84do44GYRn9uIz21piq9YLG7qMBgnQSiXy+tX\n7vV2iu/cuXMaGhpSqVTS0NCQzp8/r4sXL25ooqg1XUxNTTVcLklHjx7dtO+TJ082jK0+xkKhoPn5\n+U21Iu1CMuCJNP2zdgLxuY343Jam+EqlUsOTf30TQVS5XN5wUq4XJ77r169rdnZW4+Pjeuutt/Ta\na6+pWCxuulK/ePFiw+XNqtVcVKvV9QSgk30OGFroCd/HyRKf24jPbWmKr/6kX6lUNpx4K5XKpqvq\n2dnZba+od4pvfHxc1WpV/f396236w8PDm259XC6Xt1zeijNnzuidd97R1NSU3nvvvZb2ERfJgCfS\nNg643YjPbcTntrTFd+nSJV28eFFTU1MaHx/XpUuX1teNjo7qnXfe2fSa7a6qd4rv6NGjKpfLKpfL\nmpqa0rlz51QqlTQ2NrY+30FtpMJWy2dnZ3X58mVNTk6qUqlodnZW5XJ5/Xm5XNbMzMx64iFJV69e\n1fj4uMbHx3X27NmOzoVAMwEAwCm1jnxScIUe1Wi+gfPnz+/q/bZ6/eDgYMPmgEbL+/v71+dGqIk+\nL5VKunPnzvrzcrmsoaGh9c6FlUpFo6OjKhQKHelESM0AAAApc+XKlQ0n/VKppDNnzmw72+JuUDMA\nAEDK1JoaSqXSekfC+fn5jswxIJEMAACQSrtt3mhGpm5hbIy5JemnSZejQ56U9GnShegg4nMb8bmN\n+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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "om10.plot_lens(lens)\n", + "plt.scatter(offset_x1, offset_y1, c='r', marker='o', s=188, alpha=0.4, label='Catalog Image 1')\n", + "plt.scatter(offset_x2, offset_y2, c='r', marker='o', s=188, alpha=0.4, label='Catalog Image 2')\n", + "plt.scatter(offset_x3, offset_y3, c='r', marker='o', s=188, alpha=0.4, label='Catalog Image 3')\n", + "plt.scatter(offset_x4, offset_y4, c='r', marker='o', s=188, alpha=0.4, label='Catalog Image 4')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The blue crosses are the OM10 positions and the red circles are the image positions from the Twinkles instance catalog we created. Our catalog sources match the positions relative to the lens galaxy that the OM10 data gives." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Comparing Magnitudes of Sources\n", + "\n", + "In order to compare magnitudes we first need to convert our catalog magnitudes which are in a delta function magnitude at 500 nm we call the `imsimband` to the I magnitude of OM10. When converting magnitudes in the `sprinkler` we assumed that I magnitude was comparable to the LSST *i* band. Here we will do the same and convert `imsimband` magnitudes from the catalog to LSST *i* magnitudes using the SEDs associated with the catalog objects." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import re\n", + "from lsst.utils import getPackageDir\n", + "from lsst.sims.photUtils.Sed import Sed\n", + "from lsst.sims.photUtils.BandpassDict import BandpassDict\n", + "from lsst.sims.photUtils.Bandpass import Bandpass\n", + "from future.utils import iteritems\n", + "from lsst.sims.utils import SpecMap" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "agn_fname = str(getPackageDir('sims_sed_library') + '/agnSED/agn.spec.gz')\n", + "bandpassDict = BandpassDict.loadTotalBandpassesFromFiles(bandpassNames=['i'])\n", + "imsimband = Bandpass()\n", + "imsimband.imsimBandpass()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "prefix object\n", + "uniqueId 213934178332\n", + "raPhoSim 53.0529\n", + "decPhoSim -27.7033\n", + "phoSimMagNorm 21.1015\n", + "sedFilepath agnSED/agn.spec.gz\n", + "redshift 0.48\n", + "shear1 0\n", + "shear2 0\n", + "kappa 0\n", + "raOffset 0\n", + "decOffset 0\n", + "spatialmodel point\n", + "internalExtinctionModel none\n", + "galacticExtinctionModel CCM\n", + "galacticAv 0.0297841\n", + "galacticRv 3.1\n", + "twinkles_system 24\n", + "twinkles_img_num 0\n", + "lens_galaxy_uID 21393434\n", + "Name: 0, dtype: object" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sprinkled_agn.iloc[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/Bryce/miniconda2/lib/python2.7/site-packages/ipykernel/__main__.py:14: RuntimeWarning: divide by zero encountered in log10\n" + ] + } + ], + "source": [ + "catalog_agn_mags = []\n", + "om10_agn_mags = []\n", + "lens_gal_om10_sys = dict()\n", + "for idx, spr_agn_row in sprinkled_agn.iterrows():\n", + "\n", + " agn_sed = Sed()\n", + " agn_sed.readSED_flambda(agn_fname)\n", + " \n", + " fluxnorm = agn_sed.calcFluxNorm(spr_agn_row['phoSimMagNorm'], imsimband)\n", + " agn_sed.redshiftSED(spr_agn_row['redshift'])\n", + " agn_sed.multiplyFluxNorm(fluxnorm)\n", + " catalog_agn_mags.append(bandpassDict.magDictForSed(agn_sed)['i'])\n", + " db_row = np.where(om10_db[1].data['twinklesId'] == spr_agn_row['twinkles_system'])[0][0]\n", + " mag_adjust = 2.5*np.log10(np.abs(om10_db[1].data[db_row]['MAG']))\n", + " om10_mag = om10_db[1].data[db_row]['MAGI_IN']-mag_adjust[spr_agn_row['twinkles_img_num']]\n", + " om10_agn_mags.append(om10_mag)\n", + " if spr_agn_row['lens_galaxy_uID'] not in lens_gal_om10_sys.keys():\n", + " lens_gal_om10_sys[str(spr_agn_row['lens_galaxy_uID'])] = db_row" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "specFileStart = 'Burst'\n", + "for key, val in sorted(iteritems(SpecMap.subdir_map)):\n", + " if re.match(key, specFileStart):\n", + " galSpecDir = str(val)\n", + "galDir = str(getPackageDir('sims_sed_library') + '/' + galSpecDir + '/')\n", + "LRG_name = str(galDir + 'Burst.25E09.1Z.spec')" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "prefix object\n", + "uniqueId 21393434\n", + "raPhoSim 53.0525\n", + "decPhoSim -27.703\n", + "phoSimMagNorm 17.8301\n", + "sedFilepath galaxySED/Inst.25E09.02Z.spec.gz\n", + "redshift 0.184\n", + "shear1 0\n", + "shear2 0\n", + "kappa 0\n", + "raOffset 0\n", + "decOffset 0\n", + "spatialmodel sersic2d\n", + "majorAxis 1.61262\n", + "minorAxis 1.15325\n", + "positionAngle 56.8469\n", + "sindex 4\n", + "internalExtinctionModel CCM\n", + "internalAv 0.2\n", + "internalRv 3.1\n", + "galacticExtinctionModel CCM\n", + "galacticAv 0.0297898\n", + "galacticRv 3.1\n", + "Name: 0, dtype: object" + ] + }, + "execution_count": 127, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lens_gals.iloc[0]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "catalog_lens_gal_mags = []\n", + "om10_lens_gal_mags = []\n", + "for idx, lens_gal_row in lens_gals.iterrows():\n", + "\n", + " lens_sed = Sed()\n", + " #lens_sed.readSED_flambda(LRG_name)\n", + " lens_sed.readSED_flambda(str(getPackageDir('sims_sed_library') + '/' + lens_gal_row['sedFilepath']))\n", + " \n", + " fluxnorm = lens_sed.calcFluxNorm(lens_gal_row['phoSimMagNorm'], imsimband)\n", + " lens_sed.redshiftSED(lens_gal_row['redshift'])\n", + " lens_sed.multiplyFluxNorm(fluxnorm)\n", + " catalog_lens_gal_mags.append(bandpassDict.magDictForSed(lens_sed)['i'])\n", + " db_row = lens_gal_om10_sys[str(lens_gal_row['uniqueId'])]\n", + " om10_mag = om10_db[1].data[db_row]['APMAG_I']\n", + " om10_lens_gal_mags.append(om10_mag)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have magnitudes in the same band for the catalog and OM10 objects we can plot the distributions from the systems in the catalog to those they are based upon in OM10." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\ntJPksNY6tnP51rpAHVNrfXITbVsH7cOIrzK8vnaTHCd5srhYw1wd5//+qGOm13Du/HNfs9uo43XY\nVettcoEazuwmeVZrfXtTbb2tLvr6aqNFjmutt214ORewkSGivYhX+qZdSjnKPyd5j83RSJI/JnmU\n8Qnfj3JOwNgGU2o4u2Cbv0hrx16UUg4Eia46/pzk0ewNspTysJTySpD98IZ5f+F1dpjkv0spf154\n43yR5MNrr5Syq459NZz493PrTK1h5+t1q3TWcHfhvP0kP5dS7m1zkLjo66u9zxxluL5hA2zccKbb\notZ60P6BvTvntF9rrS9rra/nbxkmh/+87RfAE2v4NMmzhe+bhciDa2ze2phYx8Mkb+ffGNvwvzvt\n0+Btt9+GSn7Qavo+yQ+zY+1TtpP5f7vt/0/UcVoN2/Epr9ltNLWGk2u9habW5iBne2ZfZwi32/7e\nctHX15exSuZGESJWa9kcjaeL/0BZajfj+4IsW+qXcV8meTVy/E1Od+dvq6dLQsDLJPtzXx9kvI4/\nxYXH1Bqy3NQaqvVyU2vzKstXdNz2C+Hu11frxTGEacMIESs01tPQ/mH+uILmrKvjDEOXFgPDw4xf\nzLGg1W4nI7u5ZxjitO0XHTNjw2p+zemwupfhNbnoOImdW6fVkPNNraFaL/fR2rRRAqeGRbdhPDvx\nHp10vL5m7zHbPrpiE23knIg1t3vbV5G6TWqtT0opv2UYi/mo1vq6/aGPOl6Zrb/oqLX+Ycldn6WF\nhrkgOxbGtr5nbEoNOd/UGqr1chetTfv3/UOG+U5bOx8iuVANvzS6YjPpibhF2mpNLnz7/TnDH65X\nbT+QO7XW71fcprUxt9P72LCwu8mpC2RO288wUXASdRzVVUNGTa2hWi83WptSyl57b36RYfUhF8PL\nnalh+1DvzWqaw3UTIm6XB7r7+rWL4B8z7I65n+Rofp8QJnmWZGz1oFkdxwLGVmurkRzPBdYpNVLH\nOSM1pNPUGqr1cufVptb6ttb6fVtdba+tHMaCc2p4f9t7bjaZEHFLtLkQAkSntjHfUfsjf5Bkth/I\nu9mwJj6u/eHfma9Ze03+1L4cG6KztVqdHmbYk6aHOjaXqCHN1Bqq9XI9tWl/J/cFidOW1bCU8ljP\nzWYTIm6PrzJMYqXPi8ztCdI+NbqbYVjYi5W1ag21T9p2SymP21KlrzPsZXKyzevKL3GYoedwvi6z\n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\nRYgAAAC6/D+zjEiHsoIxogAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure(figsize=(12,12))\n", + "mpl.rcParams.update({'font.size': 22})\n", + "n, bins, p = plt.hist(catalog_agn_mags, histtype='step', label='Catalog AGN mags', lw=10)\n", + "plt.hist(om10_agn_mags, bins=bins, histtype='step', label='OM10 AGN Mags', lw=10)\n", + "plt.title('Comparing PhoSim input AGN i-band magnitudes to matched OM10 systems', size=24)\n", + "plt.xlabel('i-band magnitude')\n", + "plt.ylabel('Galaxy Counts')\n", + "plt.legend(loc=2)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure(figsize=(12,12))\n", + "mpl.rcParams.update({'font.size': 22})\n", + "n, bins, p = plt.hist(catalog_lens_gal_mags, histtype='step', label='Catalog Lens Galaxy mags', lw=10)\n", + "plt.hist(om10_lens_gal_mags, bins=bins, histtype='step', label='OM10 Lens Galaxy Mags', lw=10)\n", + "plt.title('Comparing PhoSim input lens galaxy i-band magnitudes to matched OM10 systems', size=24)\n", + "plt.xlabel('i-band magnitude')\n", + "plt.ylabel('Galaxy Counts')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The mismatches in the plots above are most likely due to errors in the sprinkler discovered while writing this note:\n", + "\n", + "1. When matching AGN magnitudes the sprinkler should redshift the AGN SED before finding the magnitude scaling to match the OM10 I-band magnitudes. It currently matches the rest frame AGN SED to the observed OM10 I-band magnitudes. \n", + "2. When calculating the magnitude scaling for the lens galaxy it should use the associated lens galaxy SED in the updated Twinkles-OM10 catalogs instead of the generic LRG SED we included as a placeholder originally. It should also include the redshift when calculating the magnitude scaling.\n", + "\n", + "The correct method for calculating the expected magnitude (before background effects) in PhoSim is used to make the plots above and shows the results that these errors have on the inputs. For the lens galaxies with smaller redshifts the effects seem to be small and since all the SEDs used in the catalog should be similar to our LRG placeholder it doesn't seem that these effects were significant either. The errors do seem significant in our lensed AGN however. Our PhoSim inputs seem shifted to be brighter than they should be according to OM10." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Discussion and Conclusions\n", + "\n", + "JBK and PJM to iterate on:\n", + "\n", + "`sprinkler` seems to work well, inserting lensed quasars into PhoSim inputs. Speed of operation? Is this the rate-limiting step? \n", + "\n", + ">The `sprinkler` adds ~19% in a test on my laptop to the instance catalog generation with full density in the sprinkling step. Decreasing the density did not actually result in a significant time savings. Perhaps we could do some more caching to decrease this if it's a blocker to more general use, but considering the time we spend on instance catalog generation versus image generation I don't see this as a large problem.\n", + "\n", + "Scaling up to larger sky areas - any problems foreseen?\n", + "\n", + ">Other than the added time for instance catalog generation I don't see any problems in the future.\n", + "\n", + "Quasar host galaxies are ignored for now, but could be matched and inserted (Li and Wiesner in prep).\n", + "\n", + ">I have tested this during the SLAC Hack Day 2017 and I have a branch with this work that could be used to iterate with PhoSim when Nan and Matt are ready.\n", + "\n", + "Lensed supernovae? OM10 produced a mock SN catalog that could be used.\n", + "\n", + ">This is certainly something we could add as a sprinkler add-on." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Appendix: LSST DESC Notes `ipynb` Reference" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References\n", + "\n", + "[Liao K. et al., 2015, ApJ, 800, 26](https://arxiv.org/abs/1409.1254)\n", + "\n", + "[Sonnenfeld A. et al., 2013, ApJ, 777, 98](https://arxiv.org/abs/1307.4759)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [default]", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/tables/table.tex b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/tables/table.tex new file mode 100644 index 0000000..38506a0 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/tables/table.tex @@ -0,0 +1,36 @@ +\begin{table} + \begin{center} + \caption{Example table. \label{tab:example}} + %\begin{ruledtabular} + \begin{tabular}{lccc} +\hline\hline +Column 1 & Column 2 & Column 3 & Column 4 \\[3pt] + & $\deg$ & $\kpc$ & $\deg$ \\[4pt] +\hline +Obj1 & (0,0) & 10 & 0.1 \\ +... & ... & ... & ... \\ +ObjN & (0,0) & 10 & 0.1 +\\\hline\hline +\end{tabular} +\end{center} +%\end{ruledtabular} +\end{table} + +%\begin{\tabletype}{l ccccccc } +%\tablewidth{0pt} +%\tabletypesize{\tiny} +%\tablecaption{ An example table. \label{tab:example}} +%\tablehead{ +%(1) & (2) & (3) & (4) & (5) & (6) & (7) & (8)\\ +%Name & GLON,GLAT & Distance & $r_{1/2}$ & $\log_{10}(J_{\rm meas})$ & $\log_{10}(J_{\rm pred})$ & Sample & Refrence \\ +% & (deg) & (kpc) & (pc) & $\log_{10}(\GeV^2 \cm^{-5})$ & $\log_{10}(\GeV^2 \cm^{-5})$ & & +%} +%\startdata +%Bootes I & 358.08,69.62 & 66 & 189 & $18.8 \pm 0.2$ & 18.5 & I,S,C & ... \\ +%\\ +%...\\ +%\\ +%Willman 1 & 158.58,56.78 & 38 & 19 & $19.1 \pm 0.3$ & 18.9 & I,S & ... \\ +%\enddata +%{\footnotesize \tablecomments{ (1) The first column. (2) The second column ...}} +%\end{\tabletype} diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/.metadata.json b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/.metadata.json new file mode 100644 index 0000000..fd60902 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/.metadata.json @@ -0,0 +1,12 @@ +{ + "author": "{{ cookiecutter.author }}", + "affiliation": "{{ cookiecutter.affiliation }}", + "email": "{{ cookiecutter.email }}", + "title": "{{ cookiecutter.title }}", + "description": "{{ cookiecutter.description }}", + "repo_name": "{{ cookiecutter.repo_name }}", + "serial_number": "{{ cookiecutter.serial_number }}", + "short_title": "{{ cookiecutter.short_title }}", + "folder_name": "{{ cookiecutter.folder_name }}", + "default_format": "{{ cookiecutter.default_format }}" +} diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/Makefile b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/Makefile new file mode 100644 index 0000000..b8f3885 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/Makefile @@ -0,0 +1,178 @@ +# To make the document with the default settings: +# > make +# +# To make with a specific format: +# > make +# +# To tar up a flat version of a specific format: +# > make tar +# +# Alex Drlica-Wagner: https://github.com/LSSTDESC/start_paper/issues/new?body=@kadrlica + +# Primary file names - avoid cookiecutter variables, to enable `make +# upgrade` to cleanly over-write this Makefile... +main=main +default=$(shell cat .metadata.json | grep 'default_format' | cut -d'"' -f4) +outname=$(notdir $(shell pwd)) + +ifeq ($(default), {{ cookiecutter.default_format }}) + style=tex +else + style=${default} +endif + +# LATEX environment variables +export TEXINPUTS:=./texmf/styles/:./tables/: +export BSTINPUTS:=./texmf/bib/: + +# LaTeX journal class switcher flags +# apj=\def\flag{apj} +# apjl=\def +# mnras=\def\flag{mnras} + +# Submission flags (these need some thought) +# arxiv=\def\flag{emulateapj} +# submit=${aastex} +# draft=\def\linenums{\linenumbers} + +# Files to copy when making tarball +tardir=tmp +figdir=./figures +figures=$(figdir)/*.{png,jpg,pdf} +tabdir=./tables +tables=$(tabdir)/*.tex +styles=./texmf/styles/*.{sty,cls} +bibs=./texmf/bib/*.bst +source=$(main).{tex,bbl,bib} lsstdesc.bib acknowledgments.tex authors.tex contributions.tex + +tarfiles=$(figures) $(tables) $(styles) $(bibs) $(source) + +# Interpret `make` with no target as `make tex` (a latex Note). +# At present, if the default_format is anything other than +# [apj|apjl|mnras|prd|prl|emulateapj], a latex Note is made. +# In future, we could think of using `make` to eg run the ipynb +# notebook and make PDF from the output, but this has not been +# implemented yet. +all: export flag = \def\flag{${style}} +all: main copy + +copy: + cp ${main}.pdf ${outname}.pdf + +touch: + touch ${main}.tex + +#http://journals.aas.org/authors/aastex/linux.html +#change the compiler call to allow a "." file +# {% raw %} +main : authlist + latexmk -g -pdf \ + -pdflatex='openout_any=a pdflatex %O -interaction=nonstopmode "${flag}\input{%S}"' \ + ${main} +# {% endraw %} + +tar : main + mkdir -p ${tardir} + cp ${tarfiles} ${tardir} | true + cp ${outname}.pdf ${tardir}/${outname}.pdf + cd ${tardir} && tar -czf ../${outname}.tar.gz . && cd .. + rm -rf ${tardir} + +authlist : + pip install --upgrade mkauthlist + mkauthlist -j ${style} -f -c "LSST Dark Energy Science Collaboration" \ + --cntrb contributions.tex authors.csv authors.tex + +# http://stackoverflow.com/q/8028314/ +TARGETS=apj apjl prd prl mnras tex aastex61 emulateapj +$(TARGETS): export style = $(@) +$(TARGETS): export flag = \def\flag{$(@)} +$(TARGETS): + $(MAKE) -e main + $(MAKE) -e copy + $(MAKE) -e tar +# NB. the 'tex' target doesn't actually do anything in docswitch - make +# with no target compiles PDF out of main.tex using lsstdescnote.cls +# (which is to say, by default we assume you are writing an LSST +# DESC Note in latex format). + +tidy: + rm -f *.log *.aux *.out *.dvi *.synctex.gz *.fdb_latexmk *.fls + rm -f *.bbl *.blg *Notes.bib ${main}.pdf + +clean: tidy + rm -f ${outname}.pdf ${outname}.tar.gz + +# Update the tex styles etc: + +baseurl=https://raw.githubusercontent.com/LSSTDESC/start_paper/master/%7B%7Bcookiecutter.folder_name%7D%7D + +UPDATES=\ +texmf/bib/apj.bst \ +texmf/bib/mnras.bst \ +texmf/styles/aas_macros.sty \ +texmf/styles/aastex.cls \ +texmf/styles/aastex61.cls \ +texmf/styles/aps_macros.sty \ +texmf/styles/docswitch.sty \ +texmf/styles/emulateapj.cls \ +texmf/styles/mnras.cls \ +texmf/styles/lsstdescnote.cls \ +texmf/styles/lsstdesc_macros.sty \ +texmf/logos/desc-logo-small.png \ +texmf/logos/desc-logo.png \ +texmf/logos/header.png \ +lsstdesc.bib \ +.travis.yml \ +figures/example.png + +.PHONY: $(UPDATES) +$(UPDATES): + curl -s -S -o $(@) ${baseurl}/$(@) + @echo " " + +update: + @echo "\nOver-writing LaTeX style files with the latest versions: \n" + @mkdir -p .logos figures texmf/styles texmf/bib + $(MAKE) $(UPDATES) + +# Get fresh copies of the templates etc, for reference: + +TEMPLATES=\ +acknowledgments.tex \ +authors.csv \ +main.ipynb \ +main.md \ +main.rst \ +main.tex \ +main.bib \ +.metadata.json + +.PHONY: $(TEMPLATES) templates +$(TEMPLATES): + curl -s -S -o templates/$(@) ${baseurl}/$(@) + @echo " " + +templates: + @echo "\nDownloading the latest versions of the template files, for reference: \n" + @mkdir -p templates + $(MAKE) $(TEMPLATES) + $(MAKE) new + ls -a templates/* + +# Get a template copy of the latest Makefile, for reference: +.PHONY: new +new: + @echo "\nDownloading the latest version of the Makefile, for reference: \n" + @mkdir -p templates + curl -s -S -o templates/Makefile ${baseurl}/Makefile + @echo " " + +# Over-write this Makefile with the latest version: +.PHONY: upgrade +upgrade: + @echo "\nDownloading the latest version of the Makefile: \n" + curl -s -S -o Makefile ${baseurl}/Makefile + @echo "\nUpgrading version of mkauthlist: \n" + pip install mkauthlist --upgrade --no-deps + @echo "\nNow get the latest styles and templates with\n\n make update\n make templates\n" diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/acknowledgments.tex b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/acknowledgments.tex new file mode 100644 index 0000000..ee6297f --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/acknowledgments.tex @@ -0,0 +1,3 @@ +% {% raw %} +This is the text imported from \code{acknowledgments.tex}, and will be replaced by some standard LSST DESC boilerplate at some point. +% {% endraw %} diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/authors.csv b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/authors.csv new file mode 100644 index 0000000..f9d4028 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/authors.csv @@ -0,0 +1,32 @@ +# ====================================================================== +# authors.csv +# +# While we wait for the LSST DESC publications system to generate files +# like this from its database, we'll need to edit authors.csv by hand. +# Below are some example entries. +# +# Notes: +# - If someone has two affiliations, they get two rows, and the last +# row is is used for their contribution. +# - Try to make your one-sentence contribution statement as +# informative as possible, so that it's clear who did what. +# - The contribution statement is a _summary of your impact on the +# project_, not a _timecard_. So, if you spent 90% of your time +# debugging, but 10% of your time designing and implementing the +# framework that then needed debugging, your statement should +# emphasize the design and implementation rather than the debugging. +# - BUG: mkauthlist cannot deal with empty rows, so please avoid them! +# - BUG: contributions are re-formatted by mkauthlist into Title case, +# removing all other capitalizations. Sorry about this! +# +# Example rows for you to adapt: +# +# Drlica-Wagner,Alex,A.~Drlica-Wagner,Contact,"Fermi National Accelerator Laboratory, P. O. Box 500, Batavia, IL 60510, USA","Developed algorithms for switching between document styles and generating author lists, implemented and tested software.",kadrlica@fnal.gov +# Marshall,Phil,P.~Marshall,Contributor,"SLAC National Accelerator Laboratory, Menlo Park, CA 94025, USA","Initiated and led project.",dr.phil.marshall@gmail.com +# Marshall,Phil,P.~Marshall,Contributor,"Kavli Institute for Particle Astrophysics \& Cosmology, P. O. Box 2450, Stanford University, Stanford, CA 94305, USA","Initiated and led project, designed templates, tested system.",dr.phil.marshall@gmail.com +# Digel,Seth,S.~Digel,Builder,"SLAC National Accelerator Laboratory, Menlo Park, CA 94025, USA","Advised on LSST DESC publication system requirements.",digel@stanford.edu +# Digel,Seth,S.~Digel,Builder,"Kavli Institute for Particle Astrophysics \& Cosmology, P. O. Box 2450, Stanford University, Stanford, CA 94305, USA","Advised on LSST DESC publication system requirements.",digel@stanford.edu +# +# ====================================================================== +Lastname,Firstname,Authorname,AuthorType,Affiliation,Contribution,Email +"Lastname", "Firstname","{{ cookiecutter.author }}",Contact,"{{ cookiecutter.affiliation }}","Initiated project, led development work.","{{ cookiecutter.email }}" diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.bib b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.bib new file mode 100644 index 0000000..b046243 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.bib @@ -0,0 +1,4 @@ +%{% raw %} +% Add your bibtex items here: + +%{% endraw %} diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.ipynb b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.ipynb new file mode 100644 index 0000000..3ebdacc --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.ipynb @@ -0,0 +1,276 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# {{ cookiecutter.title }}\n", + "\n", + "*{{ cookiecutter.author }}*\n", + "\n", + "{{ cookiecutter.description }}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Introduction\n", + "============\n", + "\n", + "Write your introduction here!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Method\n", + "======\n", + "\n", + "Write about your methods here! Or change the sections to whatever you want!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Results\n", + "=======\n", + "\n", + "Write about your results here! Or don't!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Conclusions\n", + "===========\n", + "\n", + "Write about your conclusions here. You have drawn some, right?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Appendix: LSST DESC Notes `ipynb` Reference\n", + "\n", + "You can delete all of this whenever you're ready." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Introduction\n", + "------------\n", + "\n", + "This is a template `ipynb` LSST DESC Note, for you to adapt for\n", + "your own work." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Sectioning\n", + "----------\n", + "\n", + "As you can see above, your [`Markdown`](https://github.com/adam-p/Markdown-here/wiki/Markdown-Cheatsheet) content can easily be divided into sections.\n", + "You can also make subsections, as follows.\n", + "\n", + "### A Subsection\n", + "\n", + "You can even have subsubsections, like this:\n", + "\n", + "#### A Subsubsection\n", + "\n", + "See? This is a subsubsection.\n", + "\n", + "#### Another Subsubsection\n", + "\n", + "And so is this.\n", + "\n", + "### Another Subsection\n", + "\n", + "And so on." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Math\n", + "----\n", + "\n", + "You can typeset mathematics using latex commands like this:\n", + "\n", + "$$\\langle f(k) \\rangle = \\frac{ \\sum_{t=0}^{N}f(t,k) }{N}$$\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Code\n", + "----\n", + "\n", + "You can show code in blocks like this:\n", + "\n", + "```python\n", + "print \"Hello World\"\n", + "```\n", + "\n", + "or this:\n", + "\n", + "```bash\n", + "echo \"Hello World\"\n", + "```\n", + "\n", + "Inline mentions of code `objects` can be made using backquotes.\n", + "\n", + "You can also include live code blocks and their outputs, in the usual way. However, it is strongly recommended restart the kernel and clear all outputs before committing changes to the notebook, to prevent the Note's repo expanding to large size. A better approach is to finalize the graphical outputs of the notebook and then save them in the `figures` folder, before displaying them in a `Markdown` cell using `![]()` formatting. This way you can keep the number of commits of large binary elements to a minimum.\n", + "\n", + "Here is some example code, that will run when this notebook is live:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello World\n" + ] + } + ], + "source": [ + "print \"Hello World\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Figures\n", + "\n", + "To add figures, add the required image file (PDF, PNG or JPG preferred)\n", + "to the `figures` subdirectory in your Note's folder. Here's an example:\n", + "\n", + "![](./figures/example.jpg)\n", + "This is the figure caption: above we have a DESC logo, in JPG format.\n", + "\n", + "And then the text continues." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Tables\n", + "\n", + "Tables can be fiddly in `Markdown`. A good place to start is an online table generator like [this one](http://www.tablesgenerator.com/markdown_tables). Then, you'll need some patience. For more on table formatting, see the [`Markdown` cheat-sheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#tables).\n", + "\n", + "| A | B | C | D |\n", + "|:-----:|:-----:|:--------------:|:---:|\n", + "| (deg) | (kpc) | ($M_{\\odot}$) | |\n", + "| 0.4 | 3.4 | $10^{12.2}$ | R,S |\n", + "| 9.6 | 8.2 | $10^{10.4}$ | S |\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References\n", + "\n", + "You can cite papers (or anything else) by providing hyperlinks. For\n", + "example, you might have been impressed by the DESC White Paper [(LSST\n", + "Dark Energy Science Collaboration\n", + "2012)](http://arxiv.org/abs/1211.0310). It should be possible to convert\n", + "these links to latex citations automatically later." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Further Resources\n", + "\n", + "For a guide to writing `Markdown` documents, check out this [useful little cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.md b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.md new file mode 100644 index 0000000..71f0217 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.md @@ -0,0 +1,122 @@ +![](./texmf/logos/header.png) + +# {{ cookiecutter.title }} + +*{{ cookiecutter.author }}* + +{{ cookiecutter.description }} + +This Note was generated on: |date| + + +## Introduction + +Write your introduction here! + +## Method + +Write about your methods here! Or change the sections to whatever you want! + +## Results + +Write about your results here! Or don't! + +## Conclusions + +Write about your conclusions here. You have drawn some, right? + + + + + +# Appendix: LSST DESC Notes `Markdown` Reference + +You can delete all of this whenever you're ready. + +## Introduction + +This is a template [`Markdown`](https://github.com/adam-p/Markdown-here/wiki/Markdown-Cheatsheet) LSST DESC Note, for you to adapt for +your own work. + +## Sectioning + +As you can see above, your content can easily be divided into sections. +You can also make subsections, as follows. + +### A Subsection + +You can even have subsubsections, like this: + +#### A Subsubsection + +See? This is a subsubsection. + +#### Another Subsubsection + +And so is this. + +### Another Subsection + +And so on. + +Math +---- + +You can typeset mathematics using latex commands like this: + +$$\langle f(k) \rangle = \frac{ \sum_{t=0}^{N}f(t,k) }{N}$$ + +While this does not render on GitHub, it should get [picked up by +Sphinx](http://www.sphinx-doc.org/en/stable/ext/math.html) later and +will be available for you to re-use in future latex documents. + +Code +---- + +You can show code in blocks like this: + +```python +print "Hello World" +``` + +or this: + +```bash +echo "Hello World" +``` + +Inline mentions of code `objects` can be made using pairs of backquotes. + +## Figures + +To add figures, add the required image file (PNG, SVG or JPG preferred) +to the `figures` subdirectory in your Note's folder. Here's an example: + +![](./figures/example.jpg) +This is the figure caption: above we have the LSST DESC logo, in JPG format. + +And then the text continues. Note that GitHub ignores the image sizing +commands when presenting [`Markdown`](https://github.com/adam-p/Markdown-here/wiki/Markdown-Cheatsheet) format documents; Sphinx might not. + +## Tables + +Tables can be fiddly in [`Markdown`](https://github.com/adam-p/Markdown-here/wiki/Markdown-Cheatsheet). A good place to start is an online table generator like [this one](http://www.tablesgenerator.com/Markdown_tables). Then, you'll need some patience. For more on table formatting, see the [`Markdown` cheat-sheet](https://github.com/adam-p/Markdown-here/wiki/Markdown-Cheatsheet#tables). + +| A | B | C | D | +|:-----:|:-----:|:--------------:|:---:| +| (deg) | (kpc) | ($M_{\odot}$) | | +| 0.4 | 3.4 | $10^{12.2}$ | R,S | +| 9.6 | 8.2 | $10^{10.4}$ | S | + + +## References + +You can cite papers (or anything else) by providing hyperlinks. For +example, you might have been impressed by the DESC White Paper [(LSST +Dark Energy Science Collaboration +2012)](http://arxiv.org/abs/1211.0310). It should be possible to convert +these links to latex citations automatically later. + +## Further Resources + +For a guide to writing `Markdown` documents, check out this [useful little cheatsheet](https://github.com/adam-p/Markdown-here/wiki/Markdown-Cheatsheet). diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.rst b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.rst new file mode 100644 index 0000000..7fb60f7 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.rst @@ -0,0 +1,146 @@ +.. figure:: ./texmf/logos/header.png + :name: header + :target: ./texmf/logos/header.png + :align: center + +======================================================================== +{{ cookiecutter.title }} +======================================================================== + +*{{ cookiecutter.author }}* + +{{ cookiecutter.description }} + +.. |date| date:: +This Note was generated on: |date| + + +Introduction +============ + +Write your introduction here! + +Method +====== + +Write about your methods here! Or change the sections to whatever you want! + +Results +======= + +Write about your results here! Or don't! + +Conclusions +=========== + +Write about your conclusions here. You have drawn some, right? + + + + +======================================================== +Appendix: LSST DESC Notes ``reStructuredText`` Reference +======================================================== + +You can delete all of this whenever you're ready. + + +Introduction +============ +This is a template ```reStructuredText`` `_ LSST DESC Note, for you to adapt for your own work. + + +Sectioning +========== +As you can see above, your content can easily be divided into sections. You can also make subsections, as follows. + +A Subsection +------------ +You can even have subsubsections, like this: + +A Subsubsection +^^^^^^^^^^^^^^^ +See? This is a subsubsection. + +Another Subsubsection +^^^^^^^^^^^^^^^^^^^^^ +And so is this. + +Another Subsection +------------------ +And so on. + + +Math +==== + +You can typeset mathematics using latex commands like this: + +.. math:: + + \langle f(k) \rangle = \frac{ \sum_{t=0}^{N}f(t,k) }{N} + +While this does not render on GitHub, it should get `picked up by Sphinx `_ later and will be available for you to re-use in future latex documents. + + +Code +==== +You can show code in blocks like this: + +.. code-block:: python + + print "Hello World" + +or this: + +.. code-block:: bash + + echo "Hello World" + +Inline mentions of code ``objects`` can be made using pairs of backquotes. + + +Figures +======= +To add figures, add the required image file (PNG, SVG or JPG preferred) to the ``figures`` subdirectory in your Note's folder. Here's an example: + +.. figure:: ./figures/desc-logo.png + :name: fig-logo + :target: ./figures/desc-logo.png + :width: 200px + :align: center + + This is the figure caption: above we have the LSST DESC logo, in PNG format. + +And then the text continues. Note that GitHub ignores the image sizing commands when presenting `reStructuredText `_ format documents; sphinx might not. + +Tables +====== + +Tables can be fiddly in `reStructuredText`. A good place to start is an online table generator like [this one](http://www.tablesgenerator.com/text_tables). Then, you'll need some patience. For more on table formatting, see `this cheatsheet `_. + ++-------+-------+----------------+-----+ +| A | B | C | D | ++-------+-------+----------------+-----+ +| (deg) | (kpc) | ($M_{\odot}$) | | ++-------+-------+----------------+-----+ +| 0.4 | 3.4 | $10^{12.2}$ | R,S | ++-------+-------+----------------+-----+ +| 9.6 | 8.2 | $10^{10.4}$ | S | ++-------+-------+----------------+-----+ + + +References +========== +You can cite papers (or anything else) by providing hyperlinks. For example, you might have been impressed by the DESC White Paper `(LSST Dark Energy Science Collaboration 2012) `_. It should be possible to convert these links to latex citations automatically later. + + +Further Resources +================= + +LSST DESC notes are styled after LSST technotes `(Sick 2016) `_. You can also `view the restructured text +of (Sick 2016) `_. +Another nice example of an LSST technote is `(Wood-Vasey 2016) `_ - again, the restructured text is +visible `here `_. + +For a guide to ``reStructuredText`` writing, please see the `LSST DM reST Style Suide `_. There are many other ``reStructuredText`` resources on the web, such as `this cheatsheet `_. diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.tex b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.tex new file mode 100644 index 0000000..a483717 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/templates/main.tex @@ -0,0 +1,152 @@ +% {% raw %} +% ====================================================================== +\RequirePackage{docswitch} +% \flag is set by the user, through the makefile: +% make note +% make apj +% etc. +\setjournal{\flag} + +\documentclass[\docopts]{\docclass} + +% You could also define the document class directly +%\documentclass[]{emulateapj} + +% Custom commands from LSST DESC, see texmf/styles/lsstdesc_macros.sty +\usepackage{lsstdesc_macros} + +\usepackage{graphicx} +\graphicspath{{./}{./figures/}} +\bibliographystyle{apj} + +% Add your own macros here: + + + +% {% endraw %} +% ====================================================================== + +\begin{document} + +\title{ {{ cookiecutter.title }} } + +\maketitlepre + +\begin{abstract} + +{{ cookiecutter.description }} + +\end{abstract} + +% Keywords are ignored in the LSST DESC Note style: +\dockeys{latex: templates, papers: awesome} + +\maketitlepost + +% ---------------------------------------------------------------------- +% {% raw %} + +\section{Introduction} +\label{sec:intro} + +This is a paper and note template for the LSST DESC \citep{Overview,ScienceBook,WhitePaper}. +You can delete all this tutorial text whenever you like. + +You can easily switch between various \LaTeX\xspace styles for internal notes and peer reviewed journals. +Documents can be compiled using the provided \code{Makefile}. +The command \code{make} with no arguments compiles \code{main.tex} using the \code{lsstdescnote.cls} style. +If you want to upgrade your Note into a journal article, just choose a journal name, between \code{make apj} (ApJ preprint format), \code{make apjl} (which uses the \code{emulateapj} style), \code{make prd}, \code{make prl}, and \code{make mnras}. + + +% ---------------------------------------------------------------------- + +\section{Commands} +\label{sec:commands} + +There are a number of useful \LaTeX\xspace commands predefined in \code{macros.tex}. +Notice that the section labels are prefixed with \code{sec:} to allow the use of the \verb=\secref= command to reference a section (\ie, \secref{intro}). +Figures can be referenced with the \verb=\figref= command, which assumes that the figure label is prefixed with \code{fig:}. +In \figref{example} we show an example figure. +You'll notice that the actual figure file is found in the \code{figures} directory. +However, because we have specified this directory in our \verb=\graphicspath= we do not need to explicitly specify the path to the image. + +The \code{macros.tex} package also contains some conventional scientific units like \angstrom, \GeV, \Msun, etc. and some editorial tools for highlighting \FIXME{issues}, \CHECK{text to be checked}, \COMMENT{comments}, and \NEW{new additions}. + + +% ---------------------------------------------------------------------- + +\section{Methods} +\label{sec:methods} + +Similar to the figure before, here we have included a table of data from \code{tables/table.tex}. +Notice that again we are able to reference \tabref{example} with the \verb=\tabref= command using the \code{tab:} prefix. +Also notice that we haven't needed to specify the full path to the table because in the \code{Makefile} we include \code{./tables} directory in the \code{\$TEXINPUTS} environment variable. + +\input{table} + +Equations appear as follows, and can be referred to as, for example, \eqnref{example} -- just as for tables, we use the \verb=\eqnref= command using the \code{eqn:} prefix. +\begin{equation} + \label{eqn:example} + \langle f(k) \rangle = \frac{ \sum_{t=0}^{N}f(t,k) }{N} +\end{equation} + + +% ---------------------------------------------------------------------- + +\section{Results} +\label{sec:results} + +\figref{example} shows an example figure, referred to with the \verb=\figref= command and the \code{fig:} prefix. + +\begin{figure} +\includegraphics[width=0.9\columnwidth]{example.png} +\caption{An example figure: the LSST DESC logo, copied from \code{texmf/logos/desc-logo.png} into \code{figures/example.png}. \label{fig:example}} +\end{figure} + + +% ---------------------------------------------------------------------- + +\section{Discussion} +\label{sec:discussion} + +If you are planning on committing your paper to GitHub, it's a good idea to write your tex as one sentence per line. +This allows for an easier \code{diff} of changes. +It also makes sense to think of latex as \emph{code}, and sentences as logical statements, occupying one line each. +Each line must ``compile'' in the mind of the reader. + + +% ---------------------------------------------------------------------- + +\section{Conclusions} +\label{sec:conclusions} + +Here's a summary of what we just reported. + +We can draw the following well-organized and neatly-formatted conclusions: +\begin{itemize} + \item This is important. + \item We can measure some number with some precision. + \item This has some implications. +\end{itemize} + +Here are some parting thoughts. + + +% ---------------------------------------------------------------------- + +\subsection*{Acknowledgments} + +Here is where you should add your specific acknowledgments, remembering that some standard thanks will be added via the \code{acknowledgments.tex} and \code{contributions.tex} files. + +\input{acknowledgments} + +\input{contributions} + +%{\it Facilities:} \facility{LSST} + +% Include both collaboration papers and external citations: +\bibliography{lsstdesc,main} + +\end{document} +% ====================================================================== +% {% endraw %} diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/bib/apj.bst b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/bib/apj.bst new file mode 100644 index 0000000..717026c --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/bib/apj.bst @@ -0,0 +1,1683 @@ +%% +%% +%% $Log: apj.bst,v $ +%% Revision 1.10 2013/03/11 13:01:55 alberto +%% Reworked code to use format.pid for articles without proper +%% pagination which then leads the system to use either an eprint +%% id or a DOI; this will solve most problems with citing early +%% access articles (no volume of page available, but online). +%% Removed bibliography count from preamble since it seems to +%% confuse some versions of latex. +%% +%% Revision 1.9 2013/2/19 Erik Tollerud +%% fixes for spurious error messages due to rev 1.8 changes +%% also fixed missing publisher field printing in "book" +%% +%% Revision 1.8 2013/01/10 16:31:34 alberto +%% Added proper formatting of arXiv eprint entries output by ADS +%% (thse are article records, but the eprint id is printed only +%% if no traditional page number is available). Also added support +%% for ASCL entries under the "misc" category. +%% +%% Revision 1.7 2011/11/21 13:10:12 alberto +%% Implemented new ApJ formatting rules: for papers with more than +%% 5 authors, print first 3 followed by "et al." +%% +%% Revision 1.6 2009/05/18 15:13:02 alberto +%% Fixed sorting of references with truncated lists of authors +%% in sort.format.names +%% Fix courtesy of Stephen Fegan +%% +%% Revision 1.5 2009/03/19 13:15:11 alberto +%% Truncate \bibitem entries with more than 8 authors. +%% Fix courtesy of Craig Wiegert +%% and Andrew R. Marble +%% +%% Revision 1.4 2002/06/18 16:37:48 alberto +%% Add comma after first author in two-author reference +%% Fix courtesy of Tim Robishaw +%% +%% Revision 1.3 2000/04/20 22:17:50 jbaker +%% Fixed INBOOK bug, now works essentially like BOOK. +%% +%% Revision 1.2 1998/08/30 22:35:45 jbaker +%% Added RCS keywords. +%% +%% 1998/08/12 J Baker +%% Tweaked by hand to get correct results for ApJ. Added functions from +%% astrobib. + + +%% +%% This is file `apj.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% merlin.mbs (with options: `,ay,nat,nm-rev,nmdash,dt-beg,yr-per,note-yr,atit-u,jtit-x,jttl-rm,thtit-a,vnum-x,volp-com,jpg-1,pp-last,btit-rm,add-pub,pub-par,pre-edn,edby,edbyx,blk-com,fin-bare,ppx,ed,abr,ord,jabr,amper,em-x') +%% ---------------------------------------- +%% *** Bibliographic Style for ApJ *** +%% + %------------------------------------------------------------------- + % The original source file contains the following version information: + % \ProvidesFile{merlin.mbs}[1998/02/25 3.85a (PWD)] + % + % NOTICE: + % This file may be used for non-profit purposes. + % It may not be distributed in exchange for money, + % other than distribution costs. + % + % The author provides it `as is' and does not guarantee it in any way. + % + % Copyright (C) 1994-98 Patrick W. Daly + %------------------------------------------------------------------- + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- + +ENTRY + { address + archivePrefix + author + booktitle + chapter + doi + edition + editor + eprint + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label short.list } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {fin.entry} +{ duplicate$ empty$ + 'pop$ + 'write$ + if$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ skip$ } + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "edn." } + +FUNCTION {bbl.volume} +{ "Vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "" } + +FUNCTION {bbl.page} +{ "" } + +FUNCTION {bbl.chapter} +{ "Ch." } +%{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "PhD thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +INTEGERS { nameptr namesleft numnames numtrunc } + +FUNCTION {format.names} +{ 's := + #0 'numtrunc := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + numnames #5 > + { #3 'numtrunc := } + {} + if$ + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{, jj}{, f.}" format.name$ + 't := + nameptr #1 > + { + nameptr #1 - numtrunc = + { + #1 'namesleft := + "others" 't := + } + {} + if$ + + namesleft #1 > + { ", " * t * } + { + numnames #1 > + { "," * } + 'skip$ + if$ + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " {et~al.}" * + } + { " \& " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.names.ed} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " {et~al.}" * + } + { " \& " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { ", " * bbl.editors * } + { ", " * bbl.editor * } + if$ + } + if$ +} + +FUNCTION {format.in.editors} +{ editor empty$ + { "" } + { editor format.names.ed + } + if$ +} + +FUNCTION {format.note} +{ note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title + } + if$ +} + +FUNCTION {format.full.names} +{'s := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " {et~al.}" * + } + { " \& " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { "doi:" doi * } + if$ +} + +FUNCTION {format.eprint} +{ eprint empty$ + { "" } + { archivePrefix empty$ + { "" } + { archivePrefix ":" * } + if$ + eprint field.or.null + * + } + if$ +} + +% Formats a persistent identifier (PID) +% (typically a DOI or an eprint id) +% You can easily swap the order of which PID +% gets picked +% +FUNCTION {format.pid} +{ eprint empty$ + { format.doi } + { format.eprint } + if$ +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ year duplicate$ empty$ + { "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" } + 'skip$ + if$ + extra.label * + before.all 'output.state := + after.sentence 'output.state := +} + +FUNCTION {format.btitle} +{ title +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.connect + series empty$ + 'skip$ + { bbl.of space.word * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { bbl.in space.word * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ edition extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { convert.edition "l" change.case$ " " * bbl.edition * } + { convert.edition "t" change.case$ " " * bbl.edition * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check +% { bbl.pages pages n.dashify tie.or.space.connect } +% { bbl.page pages tie.or.space.connect } + { pages n.dashify } + { pages } + if$ + } + if$ +} + +FUNCTION {first.page} +{ 't := + "" + { t empty$ not t #1 #1 substring$ "-" = not and } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + while$ +} + +FUNCTION {format.journal.pages} +{ pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { + ", " * + pages first.page * + } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { word.in booktitle emphasize * } + { word.in booktitle emphasize * + ", " * + editor num.names$ #1 > + { bbl.editors } + { bbl.editor } + if$ + * " " * + format.in.editors * + } + if$ + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { bbl.techrep } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + word.in + } + { bbl.volume volume tie.or.space.connect + bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} + +FUNCTION {format.publisher} +{ publisher empty$ + { "empty publisher in " cite$ * warning$ } + 'skip$ + if$ + "" + address empty$ publisher empty$ and + 'skip$ + { + add.blank "(" * + address empty$ + 'skip$ + { address * } + if$ + publisher empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + publisher * + } + if$ + ")" * + } + if$ + output +} + +STRINGS {oldname} + +FUNCTION {name.or.dash} +{ 's := + oldname empty$ + { s 'oldname := s } + { s oldname = + { "---" } + { s 'oldname := s } + if$ + } + if$ +} + +%%%%%%%% Functions added from astrobib + +FUNCTION {format.edn.btitle} % Title should be on stack. +{ duplicate$ empty$ edition empty$ or + 'skip$ + { ", " * format.edition * } + if$ +} + +FUNCTION {format.ed.booktitle} % The title should be on the stack. +{ duplicate$ empty$ + { "no book title in " cite$ * warning$ "" pop$ } + { editor empty$ + author empty$ or % Empty author means editor already given. + 'format.edn.btitle + { format.edn.btitle ", " * bbl.editor * " " * format.in.editors * } + if$ + } + if$ +} + +FUNCTION {format.full.book.spec} % The title should be on the stack. +{ series empty$ + { format.ed.booktitle + volume empty$ + { number empty$ + 'skip$ + { " there's a number but no series in " cite$ * warning$ + " No." number tie.or.space.connect * } + if$ + } + { ", Vol." volume tie.or.space.connect * + number empty$ + 'skip$ + {"Both volume and number fields in " * cite$ * warning$ } + if$ + } + if$ + } + { volume empty$ + { format.ed.booktitle ", " * series * + number empty$ + 'skip$ + { " No." number tie.or.space.connect * } + if$ + } + { series ", Vol." volume tie.or.space.connect * + ", " * swap$ format.ed.booktitle * + number empty$ + 'skip$ + {"Both volume and number fields in " * cite$ * warning$ } + if$ + } + if$ + } + if$ +} + +%%%%%%% End of functions from astrobib + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + crossref missing$ + { journal + "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + pages empty$ + { format.pid output } + { format.journal.pages } + if$ + format.note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + name.or.dash + } + { format.authors output.nonnull + name.or.dash + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + title format.full.book.spec output +% format.btitle "title" output.check +% crossref missing$ +% { format.bvolume output +% format.number.series output +% format.edition output + format.publisher +% } +% { +% format.book.crossref output.nonnull +% } +% if$ + format.pages output + format.note output + format.pid output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + howpublished output + address output + format.note output + format.pid output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + name.or.dash + } + { format.authors output.nonnull + name.or.dash + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + title format.full.book.spec output +% format.btitle "title" output.check +% crossref missing$ +% { +% format.bvolume output +% format.chapter.pages "chapter and pages" output.check +% format.number.series output +% format.edition output + format.publisher +% } +% { +% format.chapter.pages "chapter and pages" output.check +% format.book.crossref output.nonnull +% } +% if$ + format.pages "pages" output.check + format.note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + bbl.in " " * booktitle format.full.book.spec * output +% crossref missing$ +% { format.in.ed.booktitle "booktitle" output.check +% format.bvolume output +% format.number.series output +% format.edition output +% format.chapter.pages output + format.publisher +% } +% { format.incoll.inproc.crossref output.nonnull +% format.chapter.pages output +% } +% if$ + format.pages "pages" output.check + format.note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output % added + format.date "year" output.check + date.block + bbl.in " " * booktitle format.full.book.spec * output +% crossref missing$ +% { format.in.ed.booktitle "booktitle" output.check +% format.bvolume output +% format.number.series output + publisher empty$ + { organization output + address output + } + { organization output + format.publisher + } + if$ +% } +% { format.incoll.inproc.crossref output.nonnull +% } +% if$ + format.pages output + format.note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.btitle "title" output.check + format.edition output + organization output + address output + format.note output + format.pid output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block +% format.title "title" output.check + bbl.mthesis format.thesis.type output.nonnull + school "school" output.check + address output + format.note output + format.pid output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title output + howpublished output + format.note output + format.pid output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block +% format.title "title" output.check + bbl.phdthesis format.thesis.type output.nonnull + school "school" output.check + address output + format.note output + format.pid output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output + organization format.key output } + { format.editors output } + if$ +% format.editors output +% editor format.key output + name.or.dash + format.date "year" output.check + date.block + title format.full.book.spec output +% format.btitle "title" output.check +% format.bvolume output +% format.number.series output + publisher empty$ not % No need for warning if no pub. + { format.publisher } + { editor empty$ % For empty editor, organization was already given. + 'skip$ + { organization output } + if$ + address output + } + if$ +% address output +% organization output +% publisher output + format.pages output + format.note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block + format.title "title" output.check + format.tr.number output.nonnull + institution "institution" output.check + address output + format.note output + format.pid output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + name.or.dash + format.date "year" output.check + date.block +% format.title "title" output.check + format.note "note" output.check + format.pid output + fin.entry +} + +FUNCTION {default.type} { misc } + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " {et~al.}" * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " {et~al.}" * + } + { " \& " * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + { pop$ "????" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames #8 > + { s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + t sortify * + " " * + "zzzzz" * + } + { numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } + if$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num number.label } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ +% "\begin{thebibliography}{" number.label int.to.str$ * "}" * + "\begin{thebibliography}{}" + write$ newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `apj.bst'. +%% \ No newline at end of file diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/bib/mnras.bst b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/bib/mnras.bst new file mode 100644 index 0000000..9e2c3bb --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/bib/mnras.bst @@ -0,0 +1,1832 @@ +%% +%%+ +%% Name: +%% mnras.bst + +%% Purpose: +%% BibTeX Bibliography style file for MNRAS + +%% Invocation: +%% latex +%% bibtex +%% latex +%% latex + +%% Description: +%% Provides a bibliography style that will allow bibtex to be +%% used when writing papers for MNRAS. This allows references +%% to be inserted automatically. + +%% Notes: +%% This file should be used in conjunction with the Monthly Notices +%% LaTeX2e class file (mnras.cls). +%% +%% Hyperlinks: +%% To make the eprint and doi bibtex fields hyperlinks, you need +%% to have \usepackage{hyperref} in your latex preamble. + +%% Authors: +%% John P. Sleath (MRAO) +%% Tim Jenness (MRAO/JAC) +%% Norman Gray (Glasgow University) +%% Oren Patashnik +%% Susan King +%% Sake J. Hogeveen +%% Philip Hall +%% Simeon Bird + +%% Bugs: +%% The formatting has been compared to the MN style, and is +%% believed to be compatible with it. However this comparison has +%% (for obvious reasons) been done most carefully for articles, so +%% there may be deviations from it for other entry types. + +%% History: +%% 1988 (Oren Patashnik and Susan King) +%% Apalike.bst derived from the "alpha.bst" style. +%% 1990 (Sake J. Hogeveen) +%% Astron.bst derived from apalike.bst +%% Summer 1995 (JPS/TJ): +%% Extensively modified from astron.bst +%% 19 Jul 1995 (JPS/TJ): +%% First release (version 1.1b) +%% 02 May 2001 (NG): +%% Limit the author lists to eight people. +%% 19 Jun 2001 (TJ): +%% Fix inproceedings +%% 30 Oct 2001 (NG): +%% Adjust author-limiting to conform to MN style (version 1.2) +%% 22 Sep 2012 (Philip Hall): +%% Remove comma before et al when many authors. +%% 01 July 2013 (Simeon Bird): +%% Ported Antony Lewis' hyperlinked arxiv entry additions across. +%% Originally modified for hyperlinked arxiv eprints by Antony Lewis April 2006 +%% August 2013 (NG): +%% Fixed a/b/c... year suffixes -- these now appear in the +%% correct order. +%% February 2014 (TJ): +%% Add MACROs for MN journal abbreviations +%% May 2014 (NG): +%% Shorten some functions, so that bibtex's 'single function +%% space' parameter doesn't have to be above 100. +%% Sep 2014 (Jared M. Gabor): +%% Enabled ArXiv e-print identifier to be printed for articles that +%% are pre-prints only (and have "ArXiv e-print" in the journal field). +%% Still some problems with the use of commas. Only 1 comma will appear +%% between the year and "arXiv..." for such preprints, but for e.g. +%% conference precedings there may be no comma at all. +%% 09 March 2015 (TJ): +%% At the request of Keith Smith this file has been renamed to be mnras.bst +%% to match the new naming convention for the MNRAS class file. +%% +%% License: +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainers of this work are T. Jenness +%% and Norman Gray +%% +%% This work consists of the file mnras.bst + +%% This file is maintained on Github: https://github.com/timj/mn2e-bst/ +%%- + +ENTRY + { address + doi + eprint + archiveprefix % used by ADS + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key +% month not used in apalike + note + number + organization + pages + publisher + school + series + title + type + volume + year + adsurl % for MN style + url + } + {} + { label extra.label sort.label presort.key } + + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +% If threeauthorvar is set to #1 in initialise.mn2e, then the bibitem for a +% three-author reference is generated using a \mniiiauthor command. +% This command should be defined in the .cls file as follows: +% +% \def\mniiiauthor#1#2#3{% +% \@ifundefined{mniiiauth@#1} +% {\global\expandafter\let\csname mniiiauth@#1\endcsname\null #2} +% {#3}} +% +% The effect of this is that the first time that \mniiiauthor{X}{a}{b} +% is evaluated, it expands to 'a', and it thereafter expands to 'b'. +% This implements the MN style guide stipulation that "For three +% authors, give all three names at first mention, e.g. (Brown, Jones & +% Smith 1994), but use first author et al. (in roman, not italic) +% thereafter, e.g. (Brown et al. 1994)." +% +% The above definition consumes a command for each such author. It's +% surely possible to avoid this (with some constructions involving +% {\\#1}; see Appendix D cleverness), but that would verge on the +% arcane, and not be really worth it. +INTEGERS { maxauthors threeauthorvar } + +FUNCTION {initialise.mn2e} +{ + #8 'maxauthors := + #0 'threeauthorvar := +} + +STRINGS { s t fmt sep } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { ". " * write$ + newline$ +% "\newblock " write$ + } + { output.state before.all = + 'write$ + { ", " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +% output.nonnull.extra is like output.nonnull, except that the thing +% we output is 'extra' to a block, so if we're in the after.block +% state, we append it rather than starting a new block. +FUNCTION {output.nonnull.extra} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { ", " * write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { ", " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output.nonnull.nocomma} +{'s := + output.state mid.sentence = + { write$ } + { output.state after.block = + { ". " * write$ + newline$ +% "\newblock " write$ + } + { output.state before.all = + 'write$ + { ", " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.extra} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull.extra + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.check.nocomma} +{ 't := + duplicate$ empty$ + 'pop$ % or warn with { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull.nocomma + if$ +} + +FUNCTION {output.check.extra} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull.extra + if$ +} + +FUNCTION {output.year.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { write$ + " " year * extra.label * + mid.sentence 'output.state := + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "]{" write$ + cite$ write$ + "}" write$ + % debugging: define eg \def\logsortkey#1{{[\tiny #1]}} to see this + %"\logsortkey{" presort.key * "/" * sort.key$ * "}" * write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {boldface} +{ duplicate$ empty$ + { pop$ "" } + { "{ " swap$ * "}" * } + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{ " swap$ * "}" * } + if$ +} + +% Make hyperref links. +% The LaTeX hyperref package supports a macro \href{URL}{text} +% +% On call, the stack contains +% href-url +% link-text +FUNCTION {make.href.hyperref} +{ + "\href {" swap$ * "} {" * swap$ * "}" * +} + +INTEGERS { nameptr namesleft numnames } + +% Helper functions for print.all.names: print the last or 'others' name. +% +% On call, the stack contains +% a formatted name, +% and the built-up string of names so far. +FUNCTION {print.all.names.plain.trailer} +{ duplicate$ "others" = + { pop$ " et~al.," * } + { " " swap$ * * } + if$ +} + +% as above +FUNCTION {print.all.names.label.trailer} +{ duplicate$ "others" = + { pop$ " et~al." * } + { " \& " swap$ * * } + if$ +} + +% Print out the complete author list +% (because we have maxauthors or fewer). +% +% On call, the stack contains +% a format string (for format.name$), +% a name-separator string (such as ", "), +% an author or editor field, +% and one of the 'trailer' functions above. +FUNCTION {print.all.names} +{ 'fmt := + 'sep := + 's := + s num.names$ 'namesleft := + namesleft #2 < % we're not going to need the trailer function, so discard it + 'pop$ + 'skip$ + if$ + #1 'nameptr := + { namesleft #0 > } + { s nameptr fmt format.name$ 't := % last name first + nameptr #1 > + { namesleft #1 > + { sep * t * } + { % namesleft == 1: this is the last name. + % Invoke the trailer function. + s num.names$ #2 > % _why_ do we add this extra space for long lists? + { " " * } + 'skip$ + if$ + % This next line is a bit clever. + % + % We start with a stack + % string containing the list of names so far + % trailer function + % + % Rearrange the stack so that we have + % 'skip + % trailer function + % #1 + % t + % names so far + % then call if$. This is a rather indirect way of + % invoking the trailer function on the stack + % t + % names so far + % + % Ta dahhhh! + swap$ t swap$ #1 swap$ 'skip$ if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +% Name formatting. According to the MN instructions for authors, `In +% the references list [...] List all authors if eight or fewer, +% otherwise et al.'. This means (according to a ruling from the MN +% editors) that if there are eight or more authors, they should be +% listed as "first one plus et al." +% +% On call, the stack contains +% an author or editor field. +FUNCTION {format.names} +{ duplicate$ num.names$ maxauthors > + { % Too many authors -- format as First author et al. + #1 "{vv }{ll}{ jj}{ f., }" format.name$ % last name first + " et~al.," * + } + { 'print.all.names.plain.trailer swap$ " " "{vv }{ll}{ jj}{ f., }" print.all.names } + if$ +} + +% Format an author/editor field, for inclusion in a label +% (ie, "Surname, Surname \& Surname") +% +% On call, the stack contains an author/editor field. +FUNCTION {format.names.label} +{ duplicate$ num.names$ maxauthors > + { % Too many authors -- format as First author et al. + #1 "{vv }{ll}{ jj}" format.name$ % last name first + " et~al.," * + } + { 'print.all.names.label.trailer swap$ ", " "{vv }{ll}" print.all.names } + if$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.key} % this function is just for apalike +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { " eds," * } + { " ed." * } + if$ + } + if$ +} + +FUNCTION {format.editors.extra} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { " eds" * } + { " ed." * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {format.eprint} +{ eprint empty$ + { "" } + { " (\mn@eprint {" + archiveprefix empty$ + { "" } + { archiveprefix } + if$ + * "} {" * eprint * "})" * } + if$ +} + +FUNCTION {format.doi} +{ doi empty$ + { "" } + { ", \mn@doi{" * doi * "}" } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {first.page.number} +{ 't := + "" + { t "" = + { #0 } + { t #1 #1 substring$ "-" = not } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + while$ +} + +FUNCTION {format.btitle} +{ title +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #5 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "" series tie.or.space.connect + volume empty$ + 'skip$ + { " Vol. " * volume * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "No." } + { "No." } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edn" * } + { edition "t" change.case$ " edn" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pp" pages n.dashify tie.or.space.connect } + { "p." pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.page} +{ pages empty$ + { "" } + { "p.~" pages first.page.number * } + if$ +} + +% If a paper is available as a preprint only, ADS will call the +% journal "ArXiv e-print". In this case MN suggests the journal +% should be called "preprint". +FUNCTION {format.journal.doi} +{ doi empty$ + { journal "ArXiv e-prints" = + { "preprint" } + { journal } + if$ + } + { journal "ArXiv e-prints" = + { "preprint" } + { "\mn@doi [" journal * "] {" * doi * "}" * } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.vol.page} +{ volume field.or.null + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages first.page.number * } + if$ + } + if$ +} + +FUNCTION {format.vol.num.page} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages first.page.number * } + if$ + } + if$ +} +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "Chapt." } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "in " booktitle * } + { format.bvolume empty$ + { "in " format.editors.extra * ", " * booktitle * } + { "in " format.editors.extra * ", " * format.bvolume * ", " * booktitle * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.in.ed.collect} +{ booktitle empty$ + { "" } + { editor empty$ + { "in " } + { "in " format.editors.extra * ", " * } + if$ + series empty$ + { skip$ } + { series * } + if$ + volume empty$ + { number empty$ + { } + { output.state mid.sentence = + { "No." } + { "No." } + if$ + number tie.or.space.connect * + } + if$ + } + { + output.state mid.sentence = + { ", " * } + { skip$ } + if$ + "Vol." volume tie.or.space.connect * + } + if$ + output.state mid.sentence = + { ", " * } + { skip$ } + if$ + booktitle * + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +% the \url{} macro is supplied by hyperref +FUNCTION {format.url} +{ + url empty$ + { "" } + { "\url {" url * "}" * } + if$ +} + +FUNCTION {format.tr.number} +{ + type empty$ + { "Technical Report" } + { type } + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ "in" % this is for apalike + " \cite{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "in " + } + { "Vol." volume tie.or.space.connect + " of " * + } + if$ + "\cite{" * crossref * "}" * % this is for apalike +} + +FUNCTION {format.incoll.inproc.crossref} +{ "in" % this is for apalike + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + % MN style does not display eprints or DOIs on published articles, + % but does link the journal name to any available DOI. + crossref missing$ + { format.journal.doi "journal" output.check.extra + % ...and links volume and page information to any available adsurl + adsurl empty$ + { format.vol.page } + { format.vol.page adsurl make.href.hyperref } + if$ + output.extra + } + { format.article.crossref output.nonnull + format.page output + } + if$ + + % If the "journal" field is the arXiv, then print out the arXiv identifier + journal "ArXiv e-prints" = + { format.eprint "eprint" output.check.nocomma } + { } + if$ + + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % special for apalike + format.btitle "title" output.check + format.edition output + new.block + crossref missing$ + { format.bvolume output + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + {format.book.crossref output.nonnull} + if$ + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + format.btitle "title" output.check + howpublished output + address output + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check % special for apalike + format.btitle "title" output.check + format.edition output + new.block + crossref missing$ + { + new.sentence + publisher "publisher" output.check + address output + format.pages output + } + { format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull + } + if$ + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + crossref missing$ + { + format.in.ed.collect "booktitle" output.check + format.edition output + booktitle empty$ edition empty$ = + { } { new.block } if$ + new.sentence + publisher "publisher" output.check + address output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.chapter.pages output + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + crossref missing$ + { + + format.in.ed.booktitle "booktitle" output.check + ". " * +% format.bvolume output + before.all 'output.state := + new.block +% format.title "title" output.check + format.number.series output + new.block +% organization output + publisher output + address output + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output % special for + output.year.check % apalike + format.btitle "title" output.check + new.block + organization address new.block.checkb + organization output + address output + format.edition output + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output % special for apalike + output.year.check + format.btitle output + howpublished output + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output % special for + mid.sentence 'output.state := + output.year.check % apalike + format.btitle "title" output.check + " " * + before.all 'output.state := +% new.block + format.bvolume output + format.number.series output + new.block +% organization output % a nonempty organization + publisher output + address output + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + format.tr.number output.nonnull + format.btitle "title" output.check + format.url output + new.block + institution "institution" output.check + address output + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output % special for + output.year.check % apalike + format.btitle "title" output.check + note "note" output.check + % the following are presumably redundant for 'unpublished' + format.eprint "eprint" output.check.nocomma + format.doi "doi" output.check.nocomma + format.url output + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sept."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +%% Journal macros for bib files. Should be kept synchronized with +%% the entries in the class file. + +%% Astronomy and Astrophysics +MACRO {aap} {"A\&A"} + +%% Astronomy and Astrophysics +MACRO {astap} {"A\&A"} + +%% Astronomy and Astrophysics Review (the) +MACRO {aapr} {"A\&ARv"} + +%% Astronomy and Astrophysics Supplement Series +MACRO {aaps} {"A\&AS"} + +%% Acta Astronomica +MACRO {actaa} {"Acta Astron."} + +%% Astrofizika +MACRO {afz} {"Afz"} + +%% Astronomical Journal (the) +MACRO {aj} {"AJ"} + +%% Applied Optics +MACRO {ao} {"Appl. Opt."} + +%% Applied Optics +MACRO {applopt} {"Appl. Opt."} + +%% Astrophysics Letters +MACRO {aplett} {"Astrophys.~Lett."} + +%% Astrophysical Journal +MACRO {apj} {"ApJ"} + +%% Astrophysical Journal, Letters +MACRO {apjl} {"ApJ"} + +%% Astrophysical Journal, Letters +MACRO {apjlett} {"ApJ"} + +%% Astrophysical Journal, Supplement +MACRO {apjs} {"ApJS"} + +%% Astrophysical Journal, Supplement +MACRO {apjsupp} {"ApJS"} + +%% Astrophysics and Space Science +MACRO {apss} {"Ap\&SS"} + +%% Annual Review of Astronomy and Astrophysics +MACRO {araa} {"ARA\&A"} + +%% Astronomicheskii Zhurnal +MACRO {azh} {"Azh"} + +%% Bulletin of the American Astronomical Society +MACRO {baas} {"BAAS"} + +%% Bulletin of the Astronomical Institutes of Czechoslovakia +MACRO {bac} {"Bull. Astron. Inst. Czechoslovakia"} + +%% Bulletin Astronomical Institute of the Netherlands +MACRO {bain} {"Bull. Astron. Inst. Netherlands"} + +%% Chinese Astronomy and Astrophysics +MACRO {caa} {"Chinese Astron. Astrophys."} + +%% Chinese Journal of Astronomy and Astrophysics +MACRO {cjaa} {"Chinese J.~Astron. Astrophys."} + +%% Fundamentals of Cosmic Physics +MACRO {fcp} {"Fundamentals Cosmic Phys."} + +%% Geochimica Cosmochimica Acta +MACRO {gca} {"Geochimica Cosmochimica Acta"} + +%% Geophysics Research Letters +MACRO {grl} {"Geophys. Res. Lett."} + +%% IAU Cirulars +MACRO {iaucirc} {"IAU~Circ."} + +%% Icarus +MACRO {icarus} {"Icarus"} + +%% Journal of Astrophysics and Astronomy +MACRO {japa} {"J.~Astrophys. Astron."} + +%% Journal of Cosmology and Astroparticle Physics +MACRO {jcap} {"J.~Cosmology Astropart. Phys."} + +%% Journal of Chemical Physics +MACRO {jcp} {"J.~Chem.~Phys."} + +%% Journal of Geophysics Research +MACRO {jgr} {"J.~Geophys.~Res."} + +%% Journal of Quantitiative Spectroscopy and Radiative Transfer +MACRO {jqsrt} {"J.~Quant. Spectrosc. Radiative Transfer"} + +%% Journal of the RAS of Canada +MACRO {jrasc} {"J.~R.~Astron. Soc. Canada"} + +%% Memoirs of the RAS +MACRO {memras} {"Mem.~RAS"} + +%% Memoire della Societa Astronomica Italiana +MACRO {memsai} {"Mem. Soc. Astron. Italiana"} + +%% Monthly Notes of the Astronomical Society of Southern Africa +MACRO {mnassa} {"MNASSA"} + +%% Monthly Notices of the Royal Astronomical Society +MACRO {mnras} {"MNRAS"} + +%% New Astronomy +MACRO {na} {"New~Astron."} + +%% New Astronomy Review +MACRO {nar} {"New~Astron.~Rev."} + +%% Nature +MACRO {nat} {"Nature"} + +%% Nuclear Physics A +MACRO {nphysa} {"Nuclear Phys.~A"} + +%% Physical Review A: General Physics +MACRO {pra} {"Phys. Rev.~A"} + +%% Physical Review B: Solid State +MACRO {prb} {"Phys. Rev.~B"} + +%% Physical Review C +MACRO {prc} {"Phys. Rev.~C"} + +%% Physical Review D +MACRO {prd} {"Phys. Rev.~D"} + +%% Physical Review E +MACRO {pre} {"Phys. Rev.~E"} + +%% Physical Review Letters +MACRO {prl} {"Phys. Rev.~Lett."} + +%% Publications of the Astronomical Society of Australia +MACRO {pasa} {"PASA"} + +%% Publications of the Astronomical Society of the Pacific +MACRO {pasp} {"PASP"} + +%% Publications of the Astronomical Society of Japan +MACRO {pasj} {"PASJ"} + +%% Physics Reports +MACRO {physrep} {"Phys.~Rep."} + +%% Physica Scripta +MACRO {physscr} {"Phys.~Scr."} + +%% Planetary Space Science +MACRO {planss} {"Planet. Space~Sci."} + +%% Proceedings of the Society of Photo-Optical Instrumentation Engineers +MACRO {procspie} {"Proc.~SPIE"} + +%% Revista Mexicana de Astronomia y Astrofisica +MACRO {rmxaa} {"Rev. Mex. Astron. Astrofis."} + +%% Quarterly Journal of the RAS +MACRO {qjras} {"QJRAS"} + +%% Science +MACRO {sci} {"Science"} + +%% Sky and Telescope +MACRO {skytel} {"Sky \& Telesc."} + +%% Solar Physics +MACRO {solphys} {"Sol.~Phys."} + +%% Soviet Astronomy (aka Astronomy Reports) +MACRO {sovast} {"Soviet~Ast."} + +%% Space Science Reviews +MACRO {ssr} {"Space Sci. Rev."} + +%% Zeitschrift fuer Astrophysik +MACRO {zap} {"Z.~Astrophys."} + +%% Astronomical Society of the Pacific Conference Series +MACRO {aspconf} {"ASP Conf. Ser."} + +%% Astronomische Nachrichten +MACRO {astnach} {"Astron. Nachr."} + +%% Astronomy & Computing +MACRO {astcomp} {"Astron. Comput."} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +% There are three apalike cases: one person (Jones), +% two (Jones and de~Bruijn), and more (Jones et~al.). +% This function is much like format.crossref.editors. +% +% The goal here is to be compatible with the MN style prescription that: +% If there are several references with the same first author, +% arrange in the following order: +% firstly single-author papers (by date); +% then two-author papers (alphabetically by co-author, then by date); +% then multi-author papers (by date). +% We deem 'Jones and others' to be a multi-author paper, in this sense, +% so that it sorts, by date, with the three-or-more author papers. +% An alternative is to deem 'Jones and others' to sort just after the single-author papers +% (this case isn't really covered by the above rules, but this position looks sensible); +% we can get that by putting extra spaces before the 'et~al.', as noted below. +% Note: we can't put arbitrary characters here, to force the order, +% because the result of this function appears as the citation label in the typeset result. +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } % <-----+-- alternate sortings + %{ " et~al." * } % <--+ + { " \& " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +% Format names in full +% +FUNCTION {format.lab.names.full} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + 'skip$ + { " \& " * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key % apalike uses the whole key + if$ + } + { author format.lab.names } + if$ +} + + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key % apalike uses the whole key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.names.label } + if$ + } + { author format.names.label } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key % apalike uses the whole key, no organization + if$ + } + { editor format.lab.names } + if$ +} + +% Calculate the 'label' for the entry, which is used for sorting. +% Note that this does not include the a/b/c... for disambiguating +% years (that's added later, in forward.pass). +FUNCTION {calc.label} +{ % Define t: this is the 'full' set of names + type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label.full + { type$ "proceedings" = + { editor format.names.label } + { author format.names.label } + if$ + } + if$ + 't := + % Define s: this is the 'shortened' set of names, with 'et al.', + % which are to appear in citations + type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label % apalike ignores organization + 'author.key.label % for labeling and sorting + if$ + } + if$ + 's := + % the '\protect... is for apalike + "\protect\citeauthoryear{" t * "}{" * + threeauthorvar + numnames #3 = + and + { "\protect\mniiiauthor{" cite$ * "}{" * + t * "}{" * s * "}" * } + { s } + if$ + * + "}{" * + year field.or.null purify$ #-1 #4 substring$ % use all four digits + * + % the matching closing "}" comes in at the reverse.pass + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ % apalike uses initials + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here + "Mc" t #2 text.prefix$ = + { "mac" t #3 t text.length$ substring$ * 't := } + 'skip$ + if$ + nameptr numnames = t "others" = and + { " et~al." * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +% Format numbers (eg volume, number, pages) into a fixed-width string, +% for sorting. +FUNCTION {number.for.presort} +{ field.or.null + duplicate$ text.length$ 'len := + "" + { #5 len > } + { "0" * + len #1 + 'len := } + while$ + swap$ * +} + +% apalike uses two sorting passes; the first one sets the +% labels so that the `a's, `b's, etc. can be computed; +% the second pass puts the references in "correct" order. +% The presort function is for the first pass. It computes +% presort.key, sort.label, and sort.key$ +FUNCTION {presort} +{ calc.label + type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label % apalike ignores organization + 'author.key.label % for labeling and sorting + if$ + } + if$ + purify$ % remove {braces} round names, to avoid confusing sorting + " " + * + year number.for.presort * + #1 entry.max$ substring$ + 'presort.key := + presort.key + " " + * + % Style apalike prefers 'title field.or.null sort.format.title *' here. + % We don't, because we will predominantly be sorting articles in + % this style, and we don't include their titles in the final bibliography. + volume number.for.presort * + number number.for.presort * + pages empty$ + { "0" } + { pages first.page.number } + if$ + number.for.presort * + #1 entry.max$ substring$ + 'sort.key$ := + sort.key$ 'sort.label := +} + +EXECUTE {initialise.mn2e} + +ITERATE {presort} + +SORT % by label, sort.label, title---for final label calculation + +% Manage the construction of the 'extra' labels for references. These +% are the a/b/c/... year suffixes which distinguish different +% publications by the same author. +% +% These apalike labels are only for the text; the 'label' does not +% appear in the bibiliography, so that the 'longest.label' variable is +% unnecessary in this style. +STRINGS { last.key next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.key := + "" 'next.extra := + #0 'last.extra.num := +} + +% By the time that this function is iterated over, the entries have +% had presort.key assigned, and have been presorted. However these labels +% do not (by design) respect the presence of multiple entries in the +% same year, so that there are duplicates. Detect successive +% duplicates, and add an extra a/b/c... suffix. +% +% At the end of this forward.pass, each entry with a duplicate presort.key +% will have an extra.label, starting with 'b' for the first duplicate, +% 'c' for the second, and so on. That is, only the first +% soon-to-be-discovered-to-be-duplicate label will not have an +% extra.label. +FUNCTION {forward.pass} +{ last.key presort.key = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { % first time we've seen this key + "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + presort.key 'last.key := + } + if$ +} + +% Work back through the labels. If, on this pass we discover that the +% next entry in the sequence (which is the last entry processed in +% this reverse pass) had an extra.label of 'b', then this tells us +% that _this_ entry should have an extra.label of 'a', which we were +% unable to detect in the forward.pass above. +% +% We also close the brace pair {...} opened in calc.label +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * "}" * 'label := + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +% Now that the label is right we sort for real. We sort on sort.label +% then year then title. Since sort.label starts with presort.key, +% this sorting is compatible with the letter suffixes added to years. +% +% This is for the second sorting pass. +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT % by sort.label, year, title---giving final bibliography order + +FUNCTION {begin.bib} +{ + preamble$ empty$ % no \etalchar in apalike + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{}" write$ newline$ % no labels in apalike + "\makeatletter" write$ newline$ + % The following is the contents of mnras-insert.sty, minus comments and whitespace. + % DO NOT EDIT THIS TEXT, + % but instead make mnras-insert.txt, and paste the results in here. +"\relax" write$ newline$ +"\def\mn@urlcharsother{\let\do\@makeother \do\$\do\&\do\#\do\^\do\_\do\%\do\~}" write$ newline$ +"\def\mn@doi{\begingroup\mn@urlcharsother \@ifnextchar [ {\mn@doi@} {\mn@doi@[]}}" write$ newline$ +"\def\mn@doi@[#1]#2{\def\@tempa{#1}\ifx\@tempa\@empty \href {http://dx.doi.org/#2} {doi:#2}\else \href {http://dx.doi.org/#2} {#1}\fi \endgroup}" write$ newline$ +"\def\mn@eprint#1#2{\mn@eprint@#1:#2::\@nil}" write$ newline$ +"\def\mn@eprint@arXiv#1{\href {http://arxiv.org/abs/#1} {{\tt arXiv:#1}}}" write$ newline$ +"\def\mn@eprint@dblp#1{\href {http://dblp.uni-trier.de/rec/bibtex/#1.xml} {dblp:#1}}" write$ newline$ +"\def\mn@eprint@#1:#2:#3:#4\@nil{\def\@tempa {#1}\def\@tempb {#2}\def\@tempc {#3}\ifx \@tempc \@empty \let \@tempc \@tempb \let \@tempb \@tempa \fi \ifx \@tempb \@empty \def\@tempb {arXiv}\fi \@ifundefined {mn@eprint@\@tempb}{\@tempb:\@tempc}{\expandafter \expandafter \csname mn@eprint@\@tempb\endcsname \expandafter{\@tempc}}}" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\makeatother" write$ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} +%% \ No newline at end of file diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/logos/desc-logo-small.png b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/logos/desc-logo-small.png new file mode 100644 index 0000000..da21f81 Binary files /dev/null and b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/logos/desc-logo-small.png differ diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/logos/desc-logo.png b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/logos/desc-logo.png new file mode 100644 index 0000000..a769bd0 Binary files /dev/null and b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/logos/desc-logo.png differ diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/logos/header.png b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/logos/header.png new file mode 100644 index 0000000..7d536c4 Binary files /dev/null and b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/logos/header.png differ diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aas_macros.sty b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aas_macros.sty new file mode 100644 index 0000000..9e2dc64 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aas_macros.sty @@ -0,0 +1,109 @@ +% +% +% These Macros are taken from the AAS TeX macro package version 5.2 +% and are compatible with the macros in the A&A document class +% version 7.0 +% Include this file in your LaTeX source only if you are not using +% the AAS TeX macro package or the A&A document class and need to +% resolve the macro definitions in the TeX/BibTeX entries returned by +% the ADS abstract service. +% +% If you plan not to use this file to resolve the journal macros +% rather than the whole AAS TeX macro package, you should save the +% file as ``aas_macros.sty'' and then include it in your LaTeX paper +% by using a construct such as: +% \documentstyle[11pt,aas_macros]{article} +% +% For more information on the AASTeX and A&A packages, please see: +% http://aastex.aas.org +% ftp://ftp.edpsciences.org/pub/aa/readme.html +% For more information about ADS abstract server, please see: +% http://adsabs.harvard.edu/ads_abstracts.html +% + +% Abbreviations for journals. The object here is to provide authors +% with convenient shorthands for the most "popular" (often-cited) +% journals; the author can use these markup tags without being concerned +% about the exact form of the journal abbreviation, or its formatting. +% It is up to the keeper of the macros to make sure the macros expand +% to the proper text. If macro package writers agree to all use the +% same TeX command name, authors only have to remember one thing, and +% the style file will take care of editorial preferences. This also +% applies when a single journal decides to revamp its abbreviating +% scheme, as happened with the ApJ (Abt 1991). + +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} + +\def\aj{\ref@jnl{AJ}} % Astronomical Journal +\def\actaa{\ref@jnl{Acta Astron.}} % Acta Astronomica +\def\araa{\ref@jnl{ARA\&A}} % Annual Review of Astron and Astrophys +\def\apj{\ref@jnl{ApJ}} % Astrophysical Journal +\def\apjl{\ref@jnl{ApJ}} % Astrophysical Journal, Letters +\def\apjs{\ref@jnl{ApJS}} % Astrophysical Journal, Supplement +\def\ao{\ref@jnl{Appl.~Opt.}} % Applied Optics +\def\apss{\ref@jnl{Ap\&SS}} % Astrophysics and Space Science +\def\aap{\ref@jnl{A\&A}} % Astronomy and Astrophysics +\def\aapr{\ref@jnl{A\&A~Rev.}} % Astronomy and Astrophysics Reviews +\def\aaps{\ref@jnl{A\&AS}} % Astronomy and Astrophysics, Supplement +\def\azh{\ref@jnl{AZh}} % Astronomicheskii Zhurnal +\def\baas{\ref@jnl{BAAS}} % Bulletin of the AAS +\def\bac{\ref@jnl{Bull. astr. Inst. Czechosl.}} + % Bulletin of the Astronomical Institutes of Czechoslovakia +\def\caa{\ref@jnl{Chinese Astron. Astrophys.}} + % Chinese Astronomy and Astrophysics +\def\cjaa{\ref@jnl{Chinese J. Astron. Astrophys.}} + % Chinese Journal of Astronomy and Astrophysics +\def\icarus{\ref@jnl{Icarus}} % Icarus +\def\jcap{\ref@jnl{JCAP}} + % Journal of Cosmology and Astroparticle Physics +\def\jrasc{\ref@jnl{JRASC}} % Journal of the RAS of Canada +\def\memras{\ref@jnl{MmRAS}} % Memoirs of the RAS +\def\mnras{\ref@jnl{MNRAS}} % Monthly Notices of the RAS +\def\na{\ref@jnl{New A}} % New Astronomy +\def\nar{\ref@jnl{New A Rev.}} % New Astronomy Review +\def\pra{\ref@jnl{Phys.~Rev.~A}} % Physical Review A: General Physics +\def\prb{\ref@jnl{Phys.~Rev.~B}} % Physical Review B: Solid State +\def\prc{\ref@jnl{Phys.~Rev.~C}} % Physical Review C +\def\prd{\ref@jnl{Phys.~Rev.~D}} % Physical Review D +\def\pre{\ref@jnl{Phys.~Rev.~E}} % Physical Review E +\def\prl{\ref@jnl{Phys.~Rev.~Lett.}} % Physical Review Letters +%\def\prl{\ref@jnl{PRL}} % Physical Review Letters +\def\pasa{\ref@jnl{PASA}} % Publications of the Astron. Soc. of Australia +\def\pasp{\ref@jnl{PASP}} % Publications of the ASP +\def\pasj{\ref@jnl{PASJ}} % Publications of the ASJ +\def\rmxaa{\ref@jnl{Rev. Mexicana Astron. Astrofis.}}% + % Revista Mexicana de Astronomia y Astrofisica +\def\qjras{\ref@jnl{QJRAS}} % Quarterly Journal of the RAS +\def\skytel{\ref@jnl{S\&T}} % Sky and Telescope +\def\solphys{\ref@jnl{Sol.~Phys.}} % Solar Physics +\def\sovast{\ref@jnl{Soviet~Ast.}} % Soviet Astronomy +\def\ssr{\ref@jnl{Space~Sci.~Rev.}} % Space Science Reviews +\def\zap{\ref@jnl{ZAp}} % Zeitschrift fuer Astrophysik +\def\nat{\ref@jnl{Nature}} % Nature +\def\iaucirc{\ref@jnl{IAU~Circ.}} % IAU Cirulars +\def\aplett{\ref@jnl{Astrophys.~Lett.}} % Astrophysics Letters +\def\apspr{\ref@jnl{Astrophys.~Space~Phys.~Res.}} + % Astrophysics Space Physics Research +\def\bain{\ref@jnl{Bull.~Astron.~Inst.~Netherlands}} + % Bulletin Astronomical Institute of the Netherlands +\def\fcp{\ref@jnl{Fund.~Cosmic~Phys.}} % Fundamental Cosmic Physics +\def\gca{\ref@jnl{Geochim.~Cosmochim.~Acta}} % Geochimica Cosmochimica Acta +\def\grl{\ref@jnl{Geophys.~Res.~Lett.}} % Geophysics Research Letters +\def\jcp{\ref@jnl{J.~Chem.~Phys.}} % Journal of Chemical Physics +\def\jgr{\ref@jnl{J.~Geophys.~Res.}} % Journal of Geophysics Research +\def\jqsrt{\ref@jnl{J.~Quant.~Spec.~Radiat.~Transf.}} + % Journal of Quantitiative Spectroscopy and Radiative Transfer +\def\memsai{\ref@jnl{Mem.~Soc.~Astron.~Italiana}} + % Mem. Societa Astronomica Italiana +\def\nphysa{\ref@jnl{Nucl.~Phys.~A}} % Nuclear Physics A +\def\physrep{\ref@jnl{Phys.~Rep.}} % Physics Reports +\def\physscr{\ref@jnl{Phys.~Scr}} % Physica Scripta +\def\planss{\ref@jnl{Planet.~Space~Sci.}} % Planetary Space Science +\def\procspie{\ref@jnl{Proc.~SPIE}} % Proceedings of the SPIE + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\let\applopt=\ao +% diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aastex.cls b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aastex.cls new file mode 100644 index 0000000..5fd25ec --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aastex.cls @@ -0,0 +1,2307 @@ +%% +%% +%% This is file `aastex.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% aasclass.dtx (with options: `class') +%% +%% This is a generated file; +%% altering it directly is inadvisable; +%% instead, modify the original source file. +%% +%% Copyright notice. +%% +%% These files are distributed +%% WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~}% +%%% @LaTeX-file{ +%%% filename = "aastex.dtx", +%%% version = "5.2", +%%% date = "2005/06/22", +%%% time = "16:23:00 GMT", +%%% checksum = "5964", +%%% author = "Arthur Ogawa (mailto:ogawa@teleport.com)", +%%% revised by = "SR Nova Private Ltd." +%%% copyright = "Copyright (C) 2003 American Astronomical Society +%%% +%%% This work may be distributed and/or modified under the +%%% conditions of the LaTeX Project Public License, either version 1.3 +%%% of this license or (at your option) any later version. +%%% The latest version of this license is in +%%% http://www.latex-project.org/lppl.txt +%%% and version 1.3 or later is part of all distributions of LaTeX +%%% version 2003/12/01 or later. +%%% +%%% This work has the LPPL maintenance status "maintained". +%%% +%%% The Current Maintainer of this work is the American Astronomical Society. +%%% +%%% This work consists of all files listed in the document README. +%%% +%%% address = "American Astronomical Society +%%% USA", +%%% telephone = "+1 ???", +%%% FAX = "", +%%% email = "aastex-help@aas.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, AAS, journal", +%%% supported = "yes", +%%% abstract = "formatter for AAS journal submissions", +%%% docstring = "The checksum field above generated by ltxdoc", +%%% } +\NeedsTeXFormat{LaTeX2e}[1995/12/01]% +\ProvidesClass{aastex}% + [2005/06/22 5.2/AAS markup document class]% +\def\substitute@option#1#2{% + \ClassWarning{aastex}{% + Substyle #1 is deprecated in aastex. + Using #2 instead (please fix your document). + }\@nameuse{ds@#2}% +}% +\ClassInfo{aastex}{% + Original \protect\LaTeX2.09 style + by Chris Biemesderfer (chris@seagoat.com). + Adapted to \protect\LaTeXe\space + by A. Ogawa (ogawa@teleport.com)% +}% +\newif\iflong@abstract +\global\long@abstractfalse +\DeclareOption{10pt}{\newcommand\aas@ptsize{0}}% +\DeclareOption{11pt}{\newcommand\aas@ptsize{1}}% +\DeclareOption{12pt}{\newcommand\aas@ptsize{2}}% +\DeclareOption{landscape}{\OptionNotUsed}% +\DeclareOption{eqsecnum}{\AtEndOfClass{\eqsecnum}} +\DeclareOption{longabstract}{\global\long@abstracttrue} +\DeclareOption{flushrt}{\let\opt@just\just@just}% +\let\opt@just\@empty +\def\just@just{% + \@rightskip\z@skip + \rightskip\@rightskip + \pretolerance=100\relax +}% +\DeclareOption{tighten}{\def\opt@tighten{\tightenlines}}% +\let\opt@tighten\@empty + +\DeclareOption{manuscript}{\def\aas@substyle{manuscript}\long@abstractfalse} +\DeclareOption{preprint}{\def\aas@substyle{preprint}\long@abstractfalse} +\DeclareOption{preprint2}{\def\aas@substyle{preprint2}\@twocolumntrue} +\DeclareOption{aasms4}{\substitute@option{aasms4}{manuscript}}% +\DeclareOption{aaspp4}{\substitute@option{aaspp4}{preprint}}% +\DeclareOption{aas2pp4}{\substitute@option{aas2pp4}{preprint2}}% +\DeclareOption{aj_pt4}{\substitute@option{aj_pt4}{preprint}}% +\DeclareOption{apjpt4}{\substitute@option{apjpt4}{preprint}}% +\def\aas@substyle{manuscript}% +\AtEndOfPackage{% + \@nameuse{aas@\aas@substyle}% +}% +\DeclareOption{astro}{\AtBeginDocument{\load@astro}}% +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}% +\ExecuteOptions{letterpaper,oneside,onecolumn,final}% +\ProcessOptions\relax +\@namedef{aas@size@manuscript}{% + \def\aas@ptsize{2}% + \pass@aassize +}% +\@namedef{aas@size@preprint}{% + \ifx\undefined\aas@ptsize\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi + {\def\aas@ptsize{1}}{}% + \pass@aassize +}% +\@namedef{aas@size@preprint2}{% + \ifx\undefined\aas@ptsize\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi + {\def\aas@ptsize{0}}{}% + \pass@aassize +}% +\def\pass@aassize{% + \expandafter\PassOptionsToClass\expandafter{\expandafter1\aas@ptsize pt}{article}% +}% +\@nameuse{aas@size@\aas@substyle}% +\LoadClass{article}[1995/12/01]% +\RequirePackage{latexsym}% +\RequirePackage{graphicx}% +\RequirePackage{amssymb}% +\RequirePackage{natbib}% +\newcommand{\bibstyle@aas}{\bibpunct{(}{)}{;}{a}{}{,}} +\@citestyle{aas} +\RequirePackage{verbatim}% +\def\@to{to}% +\newcommand\ulap[1]{\vbox\@to\z@{{\vss#1}}}% +\newcommand\dlap[1]{\vbox\@to\z@{{#1\vss}}}% +\newcommand\let@environment[2]{% + \expandafter\let + \csname#1\expandafter\endcsname\csname#2\endcsname + \expandafter\let + \csname end#1\expandafter\endcsname\csname end#2\endcsname + }% +\newcommand\say[1]{\typeout{<\noexpand#1=\meaning#1>}}% +\newcommand\saythe[1]{\typeout{<\noexpand#1=\the#1>}}% +\newcommand\tracingplain{% + \tracingonline\z@\tracingcommands\z@\tracingstats\z@ + \tracingpages\z@\tracingoutput\z@\tracinglostchars\@ne + \tracingmacros\z@\tracingparagraphs\z@\tracingrestores\z@ + \showboxbreadth5\showboxdepth3\relax %\errorstopmode + }% +\newcommand\traceoutput{% + \appdef\@resetactivechars{\showoutput}% +}% +\newcommand\nohyphenation{\kern\z@}% +\newcommand\offhyphenation{% + \lefthyphenmin\maxdimen\emergencystretch8\p@ +}% +\def\substitute@command#1#2{% + \ClassWarning{aastex}{% + Command \protect#1\space is deprecated in aastex. + Using \protect#2\space instead (please fix your document). + }% + #2% +}% +\def\remove@command#1{% + \ClassWarning{aastex}{% + Command \protect#1\space is deprecated in aastex. + Please remove it from your document% + }% +}% +\def\@provide#1{%Implicit #2 + \@ifxundefined#1{\def#1}{\def\@tempa}% +}% +\def\prepdef#1#2{% + \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% + \toks@ii{#2}% + \edef#1{\the\toks@ii\the\toks@}% +}% +\def\appdef#1#2{% + \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% + \toks@ii{#2}% + \edef#1{\the\toks@\the\toks@ii}% +}% +\def\appgdef#1#2{% + \@ifxundefined#1{\toks@{}}{\toks@\expandafter{#1}}% + \toks@ii{#2}% + \xdef#1{\the\toks@\the\toks@ii}% +}% +\toksdef\toks@ii=\tw@ +\long\def\@ifxundefined#1{\@ifx{\undefined#1}}% +\def\@boolean#1#2{% + \long\def#1{% + #2% \if + \expandafter\boolean@true + \else + \expandafter\boolean@false + \fi + }% +}% +\def\@boole@def#1#{\@boolean{#1}}% Implicit #2 +\@boole@def\@ifx#1{\ifx#1}% +\@boole@def\@ifx@empty#1{\ifx\@empty#1}% +\@boole@def\@ifnum#1{\ifnum#1}% +\@boole@def\@ifdim#1{\ifdim#1}% +\@boole@def\@ifvoid#1{\ifvoid#1}% +\long\def\boolean@true#1#2{#1}% +\long\def\boolean@false#1#2{#2}% +\renewcommand\addpenalty[1]{% + \ifvmode + \if@minipage + \else + \if@nobreak + \else + \ifinner + \@tempskipa\lastskip \unskip + \@tempcnta\lastpenalty \unpenalty + \ifnum#1<\@tempcnta + \penalty#1\relax + \else + \penalty\@tempcnta + \fi + \vskip\@tempskipa + \else + \ifdim\lastskip=\z@ + \penalty#1\relax + \else + \@tempskipb\lastskip + \vskip-\lastskip + \penalty#1% + \vskip\@tempskipb + \fi + \fi + \fi + \fi + \else + \@noitemerr + \fi +}% +\renewcommand\addvspace[1]{% + \ifvmode + \if@minipage + \else + \ifinner + \@tempskipa\lastskip \unskip + \ifdim\@tempskipa=\z@ + \vskip#1\relax + \else + \@tempskipb#1\relax + \ifdim\@tempskipa<\@tempskipb + \vskip\@tempskipb + \else + \ifdim\@tempskipb<\z@ + \ifdim\@tempskipa<\z@ + \vskip\@tempskipa + \else + \advance\@tempskipb\@tempskipa + \vskip\@tempskipb + \fi + \else + \vskip\@tempskipa + \fi + \fi + \fi + \else + \ifdim\lastskip=\z@ + \vskip#1\relax + \else + \@tempskipb#1\relax + \@xaddvskip + \fi + \fi + \fi + \else + \@noitemerr + \fi +}% +\newcommand\maketitle@page{% + \maketitle@disarm + \begin{titlepage}% + \let\footnotesize\small + \let\footnoterule\relax + \let \footnote \thanks + \@maketitle + \@thanks + \vfil\null + \end{titlepage}% + \after@maketitle +}% +\newcommand\maketitle@runin{% + \par + \maketitle@disarm + \begingroup + %%%%\renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{% + \parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}% + }% + ##1% + }% + \if@twocolumn + \@ifnum{\col@number=\@ne}{% + \global\let\@title@footnote@text\@empty% + \twocolumn[\let\@footnotetext\@title@footnotetext\@maketitle]% + \@title@footnote@text% + }{% + \@maketitle + }% + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + %\thispagestyle{plain}% + \@thanks + \endgroup + \after@maketitle +}% +\def\after@maketitle{% + \iflong@abstract % + \let\@makecol\@makecol@pptt + \let\@outputdblcol\@outputdblcol@pptt + \global\columnwidth\textwidth% + \global\advance\columnwidth-\columnsep + \global\divide\columnwidth\tw@ + \global\hsize\columnwidth + \global\linewidth\columnwidth + \global\@twocolumntrue + \global\@firstcolumntrue + \col@number \tw@ + \@ifnextchar [\@topnewpage\@floatplacement + \begin{strip}% separate the abstract text from two-column text + \end{strip} + \fi + %%%\setcounter{footnote}{0}% + \global\let\thanks\@gobble + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax + \global\let\email\@text@email + \global\firsttabskip\z@ +}% +\AtEndOfClass{% + \if@titlepage + \let\maketitle\maketitle@page + \else + \let\maketitle\maketitle@runin + \fi +}% +\def\open@footnotetext{% + \insert\footins\bgroup % \egroup in \close@footnotetext + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth\dp\strutbox + \floatingpenalty \@MM + \reset@font\footnote@size + \hsize\columnwidth + \@parboxrestore +}% +\def\close@footnotetext#1{% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces + #1\@finalstrut\strutbox + }% + \color@endgroup + \egroup +}% +\def\@footnotetext{% Implict #1 + \open@footnotetext + \set@footnotetext{p@footnote}% +}% +\def\@mpfootnotetext{% Implict #1 + \global\setbox\@mpfootins\vbox\bgroup % \egroup in \set@footnotetext + \unvbox\@mpfootins + \set@footnotetext{p@mpfootnote}% +}% +\long\def\set@footnotetext#1{%Implicit #2 + \protected@edef\@currentlabel{% + \csname #1\endcsname\@thefnmark + }% + \close@footnotetext +}% +\def\@title@footnotetext#1{% + \protected@edef\@tempa{\csname p@footnote\endcsname\@thefnmark}% + \expandafter\appgdef + \expandafter\@title@footnote@text + \expandafter{% + \expandafter\insert@footnotetext + \expandafter{\@tempa}{#1}}% +}% +\def\insert@footnotetext#1{%Implicit #2 + \open@footnotetext + \def\@thefnmark{#1}% + \def\@currentlabel{#1}% + \close@footnotetext +}% +\AtBeginDocument{% + \ifx\footnote@size\undefined + \let\footnote@size\footnotesize + \fi +}% +\long\def\eqnarray@broken{% + \stepcounter{equation}\def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue\m@th\global\@eqcnt\z@ + \tabskip\mathindent + \let\\=\@eqncr + \setlength\abovedisplayskip{\topsep}% + \ifvmode\addtolength\abovedisplayskip{\partopsep}\fi + \addtolength\abovedisplayskip{\parskip}% + \setlength\belowdisplayskip{\abovedisplayskip}% + \setlength\belowdisplayshortskip{\abovedisplayskip}% + \setlength\abovedisplayshortskip{\abovedisplayskip}% + $$% + \everycr{}% + \halign to\linewidth\bgroup + \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel + &\global\@eqcnt\@ne + \hskip\tw@\arraycolsep + \hfil${##}$\hfil + &\global\@eqcnt\tw@ + \hskip\tw@\arraycolsep + $\displaystyle{##}$\hfil\tabskip\@centering + &\global\@eqcnt\thr@@\hb@xt@\z@\bgroup\hss##\egroup + \tabskip\z@skip + \cr +}% +\long\def\eqnarray@fleqn@fixed{% + \stepcounter{equation}\def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue\m@th\global\@eqcnt\z@ + \tabskip\mathindent + \let\\=\@eqncr + \setlength\abovedisplayskip{\topsep}% + \ifvmode\addtolength\abovedisplayskip{\partopsep}\fi + \addtolength\abovedisplayskip{\parskip}% + \setlength\belowdisplayskip{\abovedisplayskip}% + \setlength\belowdisplayshortskip{\abovedisplayskip}% + \setlength\abovedisplayshortskip{\abovedisplayskip}% + $$% + \everycr{}% + \halign\@to\linewidth\bgroup + \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel + &\global\@eqcnt\@ne + \hskip\tw@\eqncolsep + \hfil${{}##{}}$\hfil + &\global\@eqcnt\tw@ + \hskip\tw@\eqncolsep + $\displaystyle{##}$\hfil\tabskip\@centering + &\global\@eqcnt\thr@@\hb@xt@\z@\bgroup\hss##\egroup + \tabskip\z@skip + \cr +}% +\ifx\eqnarray\eqnarray@broken + \ClassWarningNoLine{aastex}{Repairing broken {eqnarray} definition}% + \let\eqnarray\eqnarray@fleqn@fixed +\fi +\let\eqnarray@broken\relax +\let\eqnarray@fleqn@fixed\relax +\def\@startsection#1#2#3#4#5#6{% + \@startsection@hook + \if@noskipsec \leavevmode \fi + \par + \@tempskipa #4\relax + \@afterindenttrue + \ifdim \@tempskipa <\z@ + \@tempskipa -\@tempskipa \@afterindentfalse + \fi + \if@nobreak + \everypar{}% + \else + \addpenalty\@secpenalty\addvspace\@tempskipa + \fi + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}% +}% +\def\@startsection@hook{}% +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}\protected@edef\@svsec{\@seccntformat{#1}\relax} + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup \section@centering#6{% + \@hangfrom{\hskip #3\relax\@svsec}\interlinepenalty \@M\sec@upcase{#8}\@@par}% + \endgroup + \csname #1mark\endcsname{#7}\addcontentsline + {toc}{#1}{\ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}\fi + #7}\else + \def\@svsechd{% + #6{\hskip#3\relax\@svsec + \sec@upcase{#8}}% + \csname #1mark\endcsname + {#7}\addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth + \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}}\fi + \@xsect{#5}% +}% +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup + \section@centering + #4{% + \@hangfrom{\hskip #1}\interlinepenalty \@M + \sec@upcase{#5}\@@par}\endgroup + \else + \def\@svsechd{#4{\hskip #1\relax \sec@upcase{#5}}}\fi + \@xsect{#3}}% +\def\@seccntformat#1{\csname the#1\endcsname.\quad} +\def\section@centering{\centering}% +\def\sec@upcase#1{\relax{#1}}% +\def\@citex[#1]#2{% + \let\@citea\@empty + \@cite{% + \@for\@citeb:=#2\do{% + \@citea + \def\@citea{,\penalty\@m\ }% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb}{% + \G@refundefinedtrue + \@latex@warning{% + Citation `\@citeb' on page \thepage \space undefined% + }% + }{% + \csname b@\@citeb\endcsname + }% + }% + }{#1}% +}% +\def\revtex@ver{5.2}% +\def\revtex@date{12 Dec 2003}% +\def\revtex@org{AAS}% +\def\revtex@jnl{AAS}% +\def\revtex@genre{manuscript}% +\def\class@typeout{% + \typeout{% + \revtex@org\space + \revtex@genre\space substyle, v\revtex@ver\space <\revtex@date>.% + }% +}% +\def\class@typeout@jnl{% + \typeout{% + \revtex@org\space + \revtex@jnl\space + \revtex@genre\space substyle, v\revtex@ver\space <\revtex@date>.% + }% +}% +\AtBeginDocument{% + \class@typeout +}% +\def\revtex@pageid{% + \xdef\@thefnmark{\null}% + \@footnotetext{% + This \revtex@genre\space was prepared with the + \revtex@org\space \LaTeX\ macros v\revtex@ver.% + }% +}% +\def\ps@plaintop{% + \let\@mkboth\@gobbletwo + \def\@oddfoot{}% + \def\@oddhead{\rmfamily\hfil--\space\thepage\space--\hfil}% + \def\@evenfoot{}% + \let\@evenhead\@oddhead +}% +\def\ps@msstitle{% mss ID on title page + \let\@mkboth\@gobbletwo + \def\@oddfoot{}% + \def\@oddhead{\rmfamily\hfil\ms@id}% + \def\@evenfoot{}% + \let\@evenhead\@oddhead +}% +\setlength\textwidth{6.5in}% +\setlength\textheight{8.4in}% +\setlength\headheight{.15in}% + \setlength\marginparsep {10\p@}% + \setlength\marginparpush{5\p@}% + \setlength\oddsidemargin {0in}% + \setlength\evensidemargin {0in}% + \setlength\marginparwidth {0in}% + \setlength\topmargin{0in}% +\setlength\lineskip{1\p@}% +\setlength\normallineskip{1\p@}% +\def\@doubleleading{1.6}% +\def\@tightleading{1.1}% +\renewcommand\baselinestretch{\@tightleading}% +\newcommand\tighten{\def\baselinestretch{\@tightleading}}% +\newcommand\tightenlines{\tighten}% +\newcommand\singlespace{% + \def\baselinestretch{\@tightleading}% + \normalsize +}% +\newcommand\doublespace{% + \def\baselinestretch{\@doubleleading}% + \normalsize +}% +\def\singlespace@apj{% + \def\baselinestretch{\@tightleading}% + \def\arraystretch{\@tightleading}% + \normalsize +}% +\def\doublespace@apj{% + \def\baselinestretch@apj{\@doubleleading}% + \def\arraystretch{\@doubleleading}% + \normalsize +}% +\setlength\parskip{1.5ex}% +\setlength\parindent{2em}% +\setlength\smallskipamount{3\p@\@plus1\p@\@minus1\p@}% +\setlength\medskipamount{6\p@\@plus2\p@\@minus2\p@}% +\setlength\bigskipamount{12\p@\@plus4\p@\@minus4\p@}% +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\newcommand\ptlandscape{% + \setlength\textwidth{9in}% + \setlength\textheight{6.5in}% + \setlength\pt@width{\textwidth}% + \setlength\hoffset{0.0in}% + \setlength\voffset{-0.25in}% +}% +\def\eqsecnum{% + \@addtoreset{equation}{section}% + \def\theequation{% + %\mbox{\normalsize\arabic{section}-\arabic{equation}}% Wrong! + \arabic{section}-\arabic{equation}% + }% +}% +\def\@journalname{The Astrophysical Journal}% +\def\cpr@holder{American Astronomical Society}% +\newcommand\received[1]{\gdef\@recvdate{#1}}% +\newcommand\accepted[1]{\gdef\@accptdate{#1}}% +\newcommand\revised[1]{\gdef\@revisedate{#1}}% +\newcommand\journalid[2]{\gdef\@jourvol{#1}\gdef\@jourdate{#2}}% +\newcommand\articleid[2]{\gdef\@startpage{#1}\gdef\@finishpage{#2}}% +\newcommand\paperid[1]{\gdef\@paperid{#1}}% +\newcommand\ccc[1]{\gdef\CCC@code{#1}}% +\AtEndOfClass{% + \@provide\@recvdate{}% + \@provide\@accptdate{}% + \@provide\@revisedate{}% + \@provide\@jourvol{}% + \@provide\@jourdate{}% + \@provide\@startpage{}% + \@provide\@finishpage{}% + \@provide\@paperid{MS-0001-SAMP}% + \@provide\CCC@code{000-00\$75.95-CDB}% +}% +\newcommand\cpright[2]{% + \global\expandafter\let\expandafter\cpr@type\csname cpr@#1\endcsname + \gdef\cpr@year{#2}% + \typeout{`#1' copyright \cpr@year.}% +}% +\def\cpr@AAS{Copyright \cpr@year\space by the \cpr@holder.}% +\def\cpr@PD{This article is in the public domain.}% +\def\cpr@Crown{Crown copyright \cpr@year\space by the \cpr@holder.}% +\def\cpr@none{No copyright is claimed for this article.}% +\def\cpr@ASP{Copyright \cpr@year\space by the ASP.}% +\def\cpr@year{\number\year}% +\def\@slug{% + \par + \noindent\cpr@type\par + \noindent Manuscript number \@paperid.\par + \noindent\CCC@code\par +}% +\newcommand\lefthead{\substitute@command\lefthead\shorttitle}% +\newcommand\righthead{\substitute@command\righthead\shortauthors}% +\newcommand\shorttitle[1]{\gdef\@versohead{#1}}% +\newcommand\shortauthors[1]{\gdef\@rectohead{#1}}% +\shorttitle{\relax}% +\shortauthors{\relax}% +\def\@runheads{% + \@tempcnta\c@page + \@whilenum\@tempcnta>\z@\do{% + \vskip 3ex + \hbox\@to30pc{% + \small + \expandafter\uppercase\expandafter{\@versohead}: + \expandafter\uppercase\expandafter{\@rectohead}\hfil + }% + \advance\@tempcnta\m@ne + }% +}% +\newcommand\msid[1]{\gdef\ms@id{#1}}% mss ID +\def\ms@id{}% +\newcommand\slugcomment[1]{\gdef\slug@comment{#1}}% +\slugcomment{}% +\newdimen\@slugcmmntwidth +\long\def\@makeslugcmmnt@mss{% + \@ifx@empty\slug@comment{\relax}{% + \vskip 5ex + \sbox\@tempboxa{\slug@comment}% + \@ifdim{\wd\@tempboxa >\@slugcmmntwidth}{% + \hbox\@to\textwidth{% + \hss + \parbox\@slugcmmntwidth\slug@comment + }% + }{% + \hbox\@to\textwidth{\hfil\box\@tempboxa\hfil}% + }% + }% +}% +\long\def\@makeslugcmmnt@ppt{% + \@ifx@empty\slug@comment{\relax}{% + \sbox\@tempboxa{\slug@comment}% + \@ifdim{\wd\@tempboxa >\@slugcmmntwidth}{% + \hbox\@to\textwidth{% + \hss + \parbox\@slugcmmntwidth\slug@comment + }% + }{% + \hbox\@to\textwidth{\hfil\box\@tempboxa}% + }% + \vskip 2ex + }% +}% +\def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@}% +\def\@dates{\ifx\@title\@empty\else {Received}\space% + \ifx\@empty\@recvdate\@rcvaccrule\else\@recvdate\fi;% + \hspace{1.5em}{accepted}\space% + \ifx\@empty\@accptdate\@rcvaccrule\else\@accptdate\fi% +\fi}% % +\def\@dates@pptt{% + \@ifx@empty\@recvdate{}{% + \@ifx@empty\@accptdate{}{% + {\center + \@ifnum{\col@number=\tw@}{\small}{\normalsize}% + {\itshape Received}\space + \@recvdate + \@ifnum{\col@number=\tw@}{\\[.5ex]}{\hspace{1.5em}}% + {\itshape accepted}\space + \@accptdate + \endcenter + }% + }% + }% +}% +\def\sluginfo@mss{% + {% + \addpenalty{\@M}% + \addvspace{6\p@}% + \centering + \@dates + \@makeslugcmmnt + \par + \addvspace{6\p@}% + }% +}% +\newcommand\sluginfo{% + {% + \addpenalty{\@M}% + \addvspace{6\p@}% + \centering + \@dates + \par + \addvspace{6\p@}% + }% +}% +\let\dates=\sluginfo +\renewenvironment{abstract}{% + \iflong@abstract% Abstract in one-column mode + \onecolumn + \fi + \global\setbox\abstract@box\vtop\bgroup + \columnwidth\textwidth\hsize\columnwidth\linewidth\hsize + \normalsize + \color@begingroup + \@parboxrestore + \@setminipage + \quotation +}{% + \par + \endquotation + \removelastskip + \vskip-\prevdepth + \color@endgroup + \egroup +}% +\newbox\abstract@box +\def\abstractname{ABSTRACT}% +\def\@abstract@mss{% + \sluginfo + \clearpage + \@ifvoid\abstract@box{}{% + \begin{center}\bfseries\abstractname\end{center}% + \contribute@box\abstract@box + }% +}% +\def\contribute@box#1{% + \dimen@\ht#1% + \leavevmode\hbox{\vrule\@height\ht#1\@width\z@}\par + \nointerlineskip\nobreak\kern-\ht#1\unvbox#1\prevdepth\z@ +}% +\def\@abstract@ppt{% + \@ifvoid\abstract@box{}{% + \begin{center}\bfseries\abstractname\end{center}% + \contribute@box\abstract@box + }% +}% +\def\@abstract@pptt{% + \@ifvoid\abstract@box{}{% + \@ifnum{\col@number=\tw@}{% + \section*{Abstract}% + }{% + \vspace{3em}% + \begin{center}% + \large + \bfseries\abstractname\vspace{-.5em}\vspace{\z@}% + \end{center}% + }% + \contribute@box\abstract@box + }% +}% +\def\title#1{\appdef\@title{\make@title{#1}}}% +\def\author#1{\appdef\@author{\make@author{#1}}}% +%%% \def\authoraddr{\substitute@command\authoraddr\affil}% +\def\email#1{\appdef\@author{\make@authoremail{#1}}}% +\def\affil#1{\appdef\@author{\make@affil{#1}}}% +\def\altaffilmark#1{\appdef\@author{\make@altaffilmark{#1}}}% +\def\altaffiltext#1#2{\appdef\@author{\make@altaffiltext{#1}{#2}}}% +\def\and{\appdef\@author{\make@and}}% +\let\authoraddr\@gobble +\let\@title\@empty +\let\@author\@empty +\let\@date\@empty +\def\@maketitle{% + \newpage + \begingroup + \let\footnote\thanks + \let\email\make@authoremail + \let\affil\make@affil + \let\altaffilmark\make@altaffilmark + \let\altaffiltext\make@altaffiltext + \let\and\make@and + \@title + \@author + \@date + \par + \@abstract + \@ifxundefined\keyword@list{}{% + \expandafter\@keywords + \expandafter{\keyword@list}% + }% + \endgroup +}% +\def\make@title@mss#1{% + {% + \def\baselinestretch{\@tightleading}% + \center\large\bfseries{#1}\endcenter %% + }% + \thispagestyle{msstitle}% mss ID +}% +\def\make@title@ppt#1{% + \@makeslugcmmnt + {\center\large\bfseries{#1}\endcenter}% + \thispagestyle{empty}% +}% +\def\make@title@pptt#1{% + {% + \center + \@ifnum{\col@number=\tw@}{\large}{\Large}% + \bfseries + #1% + \endcenter + }% +}% +\def\make@author#1{% + {\topsep\z@\center\normalsize#1\endcenter}% +}% +\def\make@author@pptt#1{% + {\topsep\z@ + \center + \@ifnum{\col@number=\tw@}{\normalsize}{\vspace{4ex}\large}% + #1% + \endcenter + }% +}% +\let\make@authoraddr=\@gobble +\def\make@authoremail#1{% + {\topsep\z@\center\normalsize\tt#1\endcenter}% +}% +\newcommand\make@affil[1]{% + \vspace*{-2.5ex}% +{\topsep\z@\center#1\endcenter}% +}% +\def\make@affil@ppt#1{% + \vspace*{-0.8ex}% + {% + \topsep\z@ + \center + \@ifnum{\col@number=\tw@}{\small}{\normalsize}% + \itshape + #1% + \endcenter + }% +}% +\def\make@affil@pptt#1{% + \vspace*{-0.8ex}% + {% + \topsep\z@ + \center + \@ifnum{\col@number=\tw@}{\small}{\normalsize}% + \itshape + #1% + \endcenter + }% +}% +\def\thefootnote{\@arabic\c@footnote}% initial style +\newcommand\make@altaffilmark[1]{$^{#1}$}% +\newcommand\make@altaffiltext[2]{% +\iflong@abstract% + \footnotetext@ass[#1]{#2} +\else + \footnotetext@ass[#1]{\hsize\columnwidth #2} +\fi +}% +%% +\def\thanks#1{\footnotemark + \protected@xdef\@thanks{\@thanks + \iflong@abstract% + \protect\footnotetext[\the\c@footnote]{\hsize18pc #1} + \else + \protect\footnotetext[\the\c@footnote]{#1} + \fi + }% +} +%% +\def\footnotetext@ass{% + \@ifnextchar [\@xfootnotenext@ass + {%\protected@xdef\@thefnmark{\thempfn}% + \@footnotetext}} +\def\@xfootnotenext@ass[#1]{% + \begingroup + %\csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{#1}% + \endgroup + \@footnotetext} +\def\make@and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}}% +\newcommand\keywords{\appdef\keyword@list}% +\let\keyword@list\undefined +\def\@keywords#1{% + \vspace*{-.7ex}% + \@ifnum{\col@number=\tw@}{% + \noindent + {{\itshape\@keywordtext:\/}\space\@kwds{#1}}% + }{% + {% + \quote + {\itshape\@keywordtext:\/}\space + \@kwds{#1}% + \endquote + }% + }% +}% +\def\@keywords@pptt#1{% + \vspace*{-.7ex}% + \@ifnum{\col@number=\tw@}{% + \noindent + {% + \small + {\itshape\@keywordtext:\/}\space + \@kwds{#1}% + }% + }{% + {% + \quote + \small + {\itshape\@keywordtext:\/}\space + \@kwds{#1}% + \endquote + }% + }% +}% +\def\@keywords@mss#1{%%% + \vspace*{-.7ex}% + \@ifnum{\col@number=\tw@}{% + \noindent + {% + \small + {\itshape\@keywordtext:\/}\space + \@kwds{#1}% + }% + }{% + {% + \quote + \small + {\itshape\@keywordtext:\/}\space + \@kwds{#1}% + \endquote% + \clearpage + }% + }% +}% +\let\subjectheadings=\keywords +\def\@keywordtext{Subject headings}% +\def\@keyworddelim{---}% +\def\@kwds@jnl#1{% + \def\@kwddlm{}% + \@for\@kwd:=#1\do{% + \@kwddlm + \def\@kwddlm{\space\@keyworddelim\penalty\@m\space}% + {\@kwd}% + }% +}% +\def\@kwds#1{#1\relax}% +\AtBeginDocument{% + \everypar{% + \everypar@hook + }% +}% +\def\everypar@hook{% + \setbox\z@\lastbox\par\removelastskip + \everypar{}% + \maketitle@trigger + \leavevmode +}% +\def\@startsection@hook{\maketitle@trigger}% +\prepdef\tableofcontents{\listof@hook}% +\prepdef\listoffigures{\listof@hook}% +\prepdef\listoftables{\listof@hook}% +\def\listof@hook{\maketitle@trigger}% +\def\maketitle@disarm{% + \global\let\maketitle@trigger\relax + \global\let\@startsection@hook\@empty + \global\let\listof@hook\@empty + \global\let\everypar@hook\@empty +}% +\def\maketitle@trigger{% + \maketitle +}% +\setlength{\skip\footins}{4ex\@plus1ex\@minus.5ex}% +\setlength\footnotesep{3ex}% +\long\def\@makefntext@pptt#1{% + \noindent + \hbox\@to\z@{\hss$^{\@thefnmark}$}% + #1% +}% +\newcounter{editornote}% +\def\theeditornote{{\rmfamily E}\arabic{editornote}}% +\newcommand\notetoeditor[1]{% + \stepcounter{editornote}% + \begingroup + \def\protect{\noexpand\protect\noexpand}% + \xdef\@thefnmark{\theeditornote}% + \endgroup + \@footnotemark\@footnotetext{NOTE TO EDITOR: #1}% +}% +\renewcommand\section{% + \@startsection{section}{1}% + {\z@}{5ex\@plus.5ex}{1ex\@plus.2ex}{\normalsize\bfseries}% +}% +\def\thesection{\@arabic{\c@section}}% +\def\clear@section@page{}% +\renewcommand\subsection{% + \@startsection{subsection}{2}% + {\z@}{5ex\@plus.5ex}{1ex\@plus.2ex}{\normalsize\bfseries}% +}% +\def\thesubsection{\thesection.\@arabic{\c@subsection}}% +\renewcommand\subsubsection{% + \@startsection{subsubsection}{3}% + {\z@}{5ex\@plus.5ex}{1ex\@plus.2ex}{\normalsize\itshape}% +}% +\def\thesubsubsection{\thesubsection.\@arabic{\c@subsubsection}}% +\newcommand\subsubsubsection{% + \@startsection{subsubsection}{4}% + {\z@}{-15\p@\@plus-5\p@\@minus-2\p@}{5\p@}{\normalfont\normalsize\itshape}% +}% +\def\thesubsubsubsection{\thesubsubsection.\@arabic{\c@subsubsubsection}}% +\def\theparagraph{\thesubsubsection.\@arabic{\c@paragraph}}% +\newcommand\acknowledgments{\vskip 3ex\@plus.8ex\@minus.4ex}% +\let\acknowledgements=\acknowledgments +\renewcommand\appendix{% + \par + \if@twocolumn\@restonecoltrue\onecolumn\fi + \setcounter{section}{\z@}% + \setcounter{subsection}{\z@}% + \setcounter{equation}{\z@}% + \def\thesection{\Alph{section}}% + \def\theequation{% + %\hbox{\normalsize\Alph{section}\arabic{equation}}% + \thesection\arabic{equation}% + }% + \@addtoreset{equation}{section}% + \appendix@figtab@defs + \def\section{% + \@startsection + {section}{1}{\z@}% + {5ex\@plus.5ex}{1ex\@plus.2ex}{\normalsize\bfseries}% + }% +}% +\let\appendix@figtab@defs\@empty +\def\appendix@figtab@defs@pptt{}% +\newcounter{cureqno}% +\newenvironment{mathletters}{% + \refstepcounter{equation}% + \setcounter{cureqno}{\value{equation}}% + \let\@curtheeqn\theequation + \edef\@tempa{\theequation}% + \expandafter\def + \expandafter\theequation + \expandafter{\@tempa\alph{equation}}% + \setcounter{equation}{0}% +}{% + \let\theequation\@curtheeqn + \setcounter{equation}{\value{cureqno}}% +}% +\newcommand\eqnum[1]{% + \def\theequation{#1}% + \let\@currentlabel\theequation + \addtocounter{equation}{\m@ne}% +}% +\renewenvironment{thebibliography}[1]{% + \clear@thebibliography@page + \subsection*{REFERENCES}% + \thebib@list + \def\refpar{\relax}% + \def\newblock{\hskip .11em\@plus.33em\@minus.07em}% + \sloppy + \clubpenalty4000 + \widowpenalty4000 + \sfcode`\.=1000\relax +}{% + \endlist + \revtex@pageid +}% +\def\clear@thebibliography@page{}% +\def\thebib@list{% + \list{\null}{% + \leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent-\leftmargin + \usecounter{enumi}% + }% +}% +\def\thebib@list@pptt{% + \list{\null}{% + \leftmargin 1.2em\labelwidth\z@\labelsep\z@\itemindent-\leftmargin + \usecounter{enumi}% + }% +}% +\newenvironment{references}{% + \clear@thebibliography@page + \subsection*{REFERENCES}% + \bgroup + \setlength\parindent\z@ + \setlength\parskip\itemsep + \let\refpar\references@refpar +}{% + \refpar + \egroup + \revtex@pageid +}% +\def\references@refpar@mss{% + \par\setlength\hangindent{3em}\hangafter\@ne +}% +\def\references@refpar@pptt{% + \par\setlength\hangindent{1.2em}\hangafter\@ne +}% +\let\references@refpar\references@refpar@mss +\newcommand\reference{% + \@ifnextchar\bgroup{\@reference}{% + \@latexerr{Missing key on reference command}{% + Each reference command should have a key corresponding + to a \protect\markcite\space somewhere in the text + }% + }% +}% +\def\@reference#1{\relax\refpar}% +\newcommand\markcite[1]{\remove@command\markcite}% + \def\@biblabel#1{\relax}% + \def\@cite#1#2{#1\if@tempswa , #2\fi}% +\setcounter{topnumber}{7}% +\newskip\tnotemarkskip +\tnotemarkskip7pt +\newdimen\@abovenoteskip% +\newcommand\tablenotemark[1]{% +\rlap{$^{\mathrm #1}$}\hskip\tnotemarkskip\ignorespaces% Fixed: the space after notemark +}% +\def\@tablenotetext#1#2{% + \vspace{.5ex}% + {\noindent\llap{$^{#1}$}#2\par}% +}% +\def\@tablenotes#1{% + \par + \vspace{4.5ex}\footnoterule\vspace{.5ex}% + {\footnotesize#1}% +}% +\def\@tablenotes@pptt#1{% + \par + \vspace{3.2ex}\footnoterule\vspace{.4ex}% + {\footnotesize#1}% +}% +\AtBeginDocument{% + \let\tblnote@list\@empty +}% +\newcommand\tablenotetext[2]{\ifdim\@abovenoteskip=0pt\global\@abovenoteskip=20pt\fi% + \appgdef\tblnote@list{\hsize\pt@width\leftskip\z@\rightskip\z@% + \@tablenotetext{#1}{\parfillskip\z@ plus1fil#2\endgraf}}% +}% +\def\spew@tblnotes{% + \@ifx@empty\tblnote@list{}{% + \@tablenotes{\tblnote@list}% + \global\let\tblnote@list\@empty + }% +}% +\prepdef\endtable{\spew@tblnotes}% +\expandafter\prepdef\csname endtable*\endcsname{\spew@tblnotes}% +\let\tableline=\hline +\long\def\@makecaption#1#2{\vskip 2ex\noindent#1\ #2\par}% +\newcommand\tablenum[1]{% + \def\thetable{#1}% + \let\@currentlabel\thetable + \addtocounter{table}{\m@ne}% +}% +\newcommand\figurenum[1]{% + \def\thefigure{#1}% + \let\@currentlabel\thefigure + \addtocounter{figure}{\m@ne}% +}% +\newcommand\placetable{\@place@float{TABLE}}% +\newcommand\placefigure{\@place@float{FIGURE}}% +\newcommand\placeplate{\@place@float{PLATE}}% +\def\@place@float#1#2{% + \vspace{0.5ex}% + \begin{center}EDITOR: PLACE #1 \ref{#2} HERE.\end{center}% + \vspace{0.5ex}% +}% +\newcommand\figcaption{\@testopt{\@xfigcaption}{}}% +\def\@xfigcaption[#1]#2{{\def\@captype{figure}\caption{#2}}}% +\newcommand\dummytable{\refstepcounter{table}}% +\newbox\pt@box +\newdimen\pt@width +\newcount\pt@line +\newcount\pt@column +\newcount\pt@nlines +\newcount\pt@ncol +\newcount\pt@page +\newcommand\colhead[1]{\multicolumn{1}{c}{#1}\pt@addcol}% +\gdef\pt@footnotesize{\string\footnotesize} +\gdef\pt@scriptsize{\string\scriptsize} +\newcommand\tabletypesize[1]{\def\pt@typesize{#1}\gdef\@typesize{\string#1} + \ifx\@typesize\pt@footnotesize + \def\pt@headfrac{\pt@headfrac@ass@footnotesize} + \else + \ifx\@typesize\pt@scriptsize + \def\pt@headfrac{\pt@headfrac@ass@scriptsize} + \else + \def\pt@headfrac{\pt@headfrac@ass@normalsize}% + \fi +\fi +}% Access to different type sizes in deluxetable +\def\pt@typesize{}% +\newcommand\tablecolumns[1]{% + \pt@column=#1\relax% + \pt@ncol=#1\relax% + \global\let\pt@addcol\@empty% +}% +\newcommand\tablecaption[1]{\gdef\pt@caption{\tnotemarkskip8pt#1}}%Fixed: space after mark +\newcommand\tablehead[1]{% + \gdef\pt@head{% + \hline\hline + \relax\\[-1.7ex]% + #1\hskip\tabcolsep + \\[.7ex]% + \hline + \relax\\[-1.5ex]% + }% +}% +\def\tablehead@aj#1{% + \gdef\pt@head{% + #1\hskip\tabcolsep + \\[.7ex]% + \hline + \relax\\[-1.5ex]% + }% +}% +\newif\if@pt@rot +\newcommand\rotate{\@pt@rottrue}% +\newcommand\tabletail[1]{\gdef\pt@tail{#1}}% +\newcommand\tablewidth[1]{\pt@width=#1\relax}% +\newcommand\tableheadfrac[1]{\gdef\pt@headfrac{#1}}% +\AtBeginDocument{% + \let\pt@caption\@empty% + \let\pt@head\@empty% + \let\pt@tail\@empty% + \pt@width\textwidth% + %\def\pt@headfrac{.1}% + \def\pt@headfrac{\pt@headfrac@ass@normalsize}% initialize typesize to consider +}% % while calculating rows +\newdimen\tabbaseskip% +\def\pt@calcnlines{% + \begingroup% + \if@pt@rot\textheight\textwidth\fi% rotate tables + \pt@typesize% Type sizes in deluxetable + \@tempdima\pt@headfrac\textheight + \@tempdimb\textheight\advance\@tempdimb by -\@tempdima + \@tempdima\arraystretch\baselineskip + \global\tabbaseskip\baselineskip + \divide\@tempdimb by\@tempdima + \global\pt@nlines\@tempdimb + \endgroup +}% +\def\pt@tabacol{% + \edef\@preamble{\@preamble\hskip\tabcolsep\tabskip\fill}% +}% +\newdimen\pt@tmpcapwidth +\long\def\@makecaption@plano#1#2{% + \@ifdim{\pt@width>\z@}{% + \pt@tmpcapwidth\pt@width + }{% + \pt@tmpcapwidth\hsize + }% + \parbox{\pt@tmpcapwidth}{% + \@make@caption@text{#1}{#2}% + }% + \endcenter +}% +\def\fnum@ptable{Table \thetable}% +\def\fnum@ptablecont{Table \thetable---{\rmfamily Continued}}% +\long\def\@make@caption@text#1#2{% + \center\rmfamily#1.\quad#2\endcenter +}% +\long\def\@makecaption@plano@cont#1#2{% + \center\rmfamily#1\endcenter + \vskip 2.5ex +}% +\def\fnum@ptablecont@pptt{Table \thetable---{\itshape Continued}}% +\long\def\@make@caption@text@pptt#1#2{% + \center\sc#1\\[.5ex]#2\endcenter +}% +\long\def\@makecaption@plano@cont@pptt#1#2{% + \center\sc#1\endcenter + \vskip 1.5ex +}% +\def\fnum@ptable@apj{TABLE \thetable}% +\def\fnum@ptablecont@apj{TABLE \thetable---{\itshape Continued}}% +\long\def\@make@caption@text@apj#1#2{% + \center\Large\sc#1\\[.5ex]#2\endcenter +}% +\long\def\@makecaption@plano@cont@apj#1#2{% + \center\Large\sc#1\endcenter + \vskip 1.5ex +}% +\def\fnum@ptable@aj{Table \thetable.}% +\def\fnum@ptablecont@aj{Table \thetable.\space{\rmfamily (continued)}}% +\long\def\@make@caption@text@aj#1#2{% + \center\large{\sc#1}\space#2\endcenter +}% +\long\def\@makecaption@plano@cont@aj#1#2{% + \center\large{\sc#1}\endcenter + \vskip 1.5ex +}% +\newbox\spew@tblnotesbox% +\newbox\restof@tblnotesbox% +\global\newdimen\noteheight% +\global\newdimen\pt@tabnoteminht% +\global\pt@tabnoteminht=0pt% +\newenvironment{deluxetable}[1]{% + \maketitle + \def\pt@format{\string#1}% + \let\@acol\pt@tabacol% + \let\@tabularcr\@ptabularcr% + \let\@tablenotetext\@ptablenotetext% + \let\@tablenotes\@ptablenotes% + \global\pt@ncol\z@% + \global\pt@column\z@% + \global\pt@page\@ne% + \gdef\pt@addcol{\global\advance\pt@ncol\@ne}% + \if@pt@rot\leavevmode\fi% +}{% + \ifx\@typesize\pt@footnotesize%%% considering the table typesize in calculation + \global\pt@tabnoteminht=\pt@notemin@footnote\baselineskip + \else + \ifx\@typesize\pt@scriptsize + \global\pt@tabnoteminht=\pt@notemin@script\baselineskip + \else + \global\pt@tabnoteminht=\pt@notemin@normal\baselineskip + \fi + \fi + \global\advance\pt@tabnoteminht-\@abovenoteskip + \global\@abovenoteskip=0pt + \setbox\spew@tblnotesbox\vbox{\spew@tblnotes}% + %% + %% Finding the available space for tablenotes in current page + \if@pt@rot\global\noteheight\textwidth\else\global\noteheight\textheight\fi% + \global\advance\noteheight-\ht\captionbox% + \global\advance\noteheight-\pt@line\tabbaseskip + \if@twocolumn %% tables in preprint2 style + \ifx\@typesize\pt@scriptsize + \global\advance\noteheight-6\baselineskip% + \else + \global\advance\noteheight-3\baselineskip% + \fi + \else + \global\advance\noteheight-2\baselineskip% + \fi +%% +%% Print the maximum lines of notes below table within current page + \ifdim\noteheight<\pt@tabnoteminht% if not possible to keep the minimum two lines + \global\noteheight=0pt% % the whole notes move to next page. + \global\setbox\restof@tblnotesbox\vbox{\unvbox\spew@tblnotesbox}% + \else + %% + %% if possible two lines, check the length of notes + \ifdim\ht\spew@tblnotesbox>\noteheight% + % Print maximum notes in available space and store the remaining part + \hbox\@to\hsize{\hfil\vsplit\spew@tblnotesbox to \noteheight\hfil}% + \global\setbox\restof@tblnotesbox\vbox{\unvbox\spew@tblnotesbox}% + \else% + % Print the whole notes in current page. + \vbox{\hbox\@to\hsize{\hfil\box\spew@tblnotesbox\hfil}}% + \fi + \fi + \typeout@deluxetable% + \endcenter% + \end@plano@float% +%% +%% Print the remaining tablenotes into new page(s). +%% print each page until the remaining box empty. + \loop\ifvoid\restof@tblnotesbox\else% + \clearpage + %% + %% check whether the remaining box is a full/partial page + \ifdim\ht\restof@tblnotesbox<\if@pt@rot\hsize\else\vsize\fi% + \vbox to \textheight{\if@pt@rot\vfill\fi\hbox to \textwidth{\if@pt@rot\else\hfil\fi + \if@pt@rot\rotatebox{90}{\box\restof@tblnotesbox} + \else{\box\restof@tblnotesbox}\fi\hfil}\vfill}% + \else% + \vbox to \textheight{\vfill\hbox to \textwidth{\hfil% + \if@pt@rot\rotatebox{90}{\vsplit\restof@tblnotesbox to \textwidth} + \else{\vsplit\restof@tblnotesbox to \textheight}\fi\hfil}\vfill}% + \fi% + \clearpage + \repeat% + \addtocounter{table}{\m@ne}% + \tabletypesize{\normalsize}% +}% +\let@environment{planotable}{deluxetable}% +\def\@plano@float{% Invoked by \startdata + \begingroup% + \if@pt@rot\columnwidth\textheight\fi% Deluxetable table \rotate + \@plano@float@{table}% +}% +\def\end@plano@float{% S/B invoked by \enddata; instead by \enddeluxetable + \end@plano@float@\endgroup}% +\def\@plano@float@{\@float}% Extra layer of abstraction for float processing +\def\end@plano@float@{% +\end@float}% +\newdimen\firsttabskip +\firsttabskip-\hsize +\appdef\@endfloatbox{% +\if@pt@rot +\global\setbox\@currbox\vbox{\hskip\firsttabskip\global\firsttabskip\z@% +\rotatebox{90}{\box\@currbox}}\else\global\firsttabskip\z@\fi% +}% +\def\typeout@deluxetable@mss{% + \typeout{% + Table \thetable\space has been set to width \the\pt@width + }% +}% +\def\typeout@deluxetable@ppt{% + \typeout{% + Page \the\pt@page \space of table \thetable\space has been set to + width \the\pt@width\space with \the\pt@nlines\space lines per page + }% +}% +\let\typeout@deluxetable\typeout@deluxetable@mss +\newcommand\startdata{% + \pt@calcnlines + \@ifdim{\pt@width>\z@}{% + \def\@halignto{\@to\pt@width}% + }{% + \def\@halignto{}% + }% + \let\fnum@table=\fnum@ptable + \let\@makecaption\@makecaption@plano + \global\pt@line\z@ + \start@pt@tabular + \after@startdata +}% +\global\newbox\captionbox +\def\start@pt@tabular{\par% + \@plano@float + \center + \expandafter\caption\expandafter{\pt@caption}% + \global\setbox\captionbox\vbox{\expandafter\caption\expandafter{\pt@caption}} + \pt@typesize% Type sizes in deluxetable + \expandafter\@tabular\expandafter{\pt@format}% +}% +\def\set@pt@box#1{\setbox\pt@box}% +\def\after@startdata{\pt@head}% +\def\after@startdata@aj{\hline\hline\relax\\[-1.7ex]\pt@head}% +\def\enddata{% + \crcr + \noalign{\vskip .7ex}% + \before@enddata% + \endtabular% + \setbox\pt@box\lastbox% + \pt@width\wd\pt@box + \hbox \@to \hsize{\hfil\box\pt@box\hfil}% + \ignorespaces}% +\def\before@enddata{\hline}% +\def\before@enddata@aj{\hline\hline}% +\def\nl{\substitute@command\nl\\}% +\def\nextline{\substitute@command\nextline\\}% +\def\@ptabularcr{% + {\ifnum0=`}\fi% A klootch just in case the next token is & or \cr + \@ifstar{% + \@testopt{\@argptabularcr\@empty}\z@skip% + }{% + \@testopt{\@argptabularcr\ptable@@split}\z@skip% + }% +}% +\newdimen\pt@reduceline +\newdimen\extra@vspace +\extra@vspace\z@ +\def\@xargptarraycr#1{\@tempdima #1% + \global\advance\extra@vspace\@tempdima% % adding the optional spaces + \advance\@tempdima\dp \@arstrutbox% + \vrule \@height\z@ \@depth\@tempdima \@width\z@% + \global\pt@reduceline\arraystretch\tabbaseskip% total lines to be reduced + \@whilenum\pt@reduceline<\extra@vspace% % reducing the excess lines% + \do{% + \global\advance\extra@vspace-\pt@reduceline% + \global\advance\pt@line1 + }% +\cr}% +\def\@argptabularcr#1[#2]{% + \ifnum0=`{\fi}% To undo the effect of the klootch. + \@ifdim{#2>\z@}{% + \unskip\@xargptarraycr{#2}% + }{% + \@yargarraycr{#2}% + }\ptable@split#1% +}% +\def\ptable@split#1{% + \noalign{% + \global\advance\pt@line\@ne% + \@ifnum{\pt@line<\pt@nlines}{}{% + \aftergroup#1% + }% + }% +}% +\def\ptable@@split{% + \before@suspendpt% + \endtabular% + \setbox\pt@box\lastbox% + \pt@width\wd\pt@box\box\pt@box% + \typeout@pt@nl% + \global\advance\pt@page\@ne% + \endcenter% + \end@plano@float% + \clearpage + \global\extra@vspace\z@ + \addtocounter{table}{-2}% + \let\fnum@table=\fnum@ptablecont% + \let\@makecaption\@makecaption@plano@cont% + \global\pt@ncol=\pt@column% Either 0 or value of \tablecolumns + \global\pt@line\z@% + \start@pt@tabular% + \before@resumept% + \pt@head% +}% +\def\before@suspendpt{}% +\def\before@resumept{}% +\def\before@suspendpt@aj{\@tabularcr\noalign{\vskip .7ex}\hline}% +\def\before@resumept@aj{\hline\relax\@tabularcr[-1.7ex]}% +\def\typeout@pt@nl@ppt{% + \typeout{% + Page \the\pt@page\space of table \thetable\space has been set to + width \the\pt@width + }% +}% +\def\typeout@pt@nl@mss{% + \typeout{% + Page \the\pt@page\space of table \thetable\space has been set to + width \the\pt@width\space with \the\pt@nlines\space lines per page + }% +}% +\def\typeout@pt@nl@aj{% + \typeout{% + Table \thetable\space has been set to + width \the\pt@width\space with \the\pt@nlines\space lines per page + }% +}% +\let\typeout@pt@nl\typeout@pt@nl@mss +\newcommand\tablevspace[1]{\substitute@command\tablevspace\\[#1]}% +\newcommand\tablebreak{\cr\ptable@@split}%\\{\cr\ptable@@split}% +\newcommand\cutinhead[1]{% + \noalign{\vskip 1.5ex}% + \hline + \@ptabularcr + \noalign{\vskip -4ex}% + \multicolumn{\pt@ncol}{c}{#1}% + \@ptabularcr + \noalign{\vskip .8ex}% + \hline + \@ptabularcr + \noalign{\vskip -2ex}% +}% +\def\cutinhead@ppt#1{% + \noalign{\vskip 1.5ex}% + \hline + \@ptabularcr + \noalign{\vskip -2ex}% Style Note: in apj, it is -1.5ex + \multicolumn{\pt@ncol}{c}{#1}% + \@ptabularcr + \noalign{\vskip .8ex}% + \hline + \@ptabularcr + \noalign{\vskip -2ex}% +}% +\newcommand\sidehead[1]{% + \noalign{\vskip 1.5ex}% + \multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}% + \@ptabularcr + \noalign{\vskip .5ex}% +}% +\def\@ptablenotetext#1#2{% + \vspace{0ex}% Style Note: in ppt, it is gone + {%\parbox{\pt@width}% + {\hskip1em$^{\mathrm#1}$#2}\par}% +}% +\def\@ptablenotes#1{% + \par + \vspace{2ex}% + {\setlength\parskip{1.5ex}#1}% +}% +\def\@ptablenotes@apj#1{% + \par + \vspace{2ex}% + {#1}% +}% +\newcommand\tablerefs[1]{\ifdim\@abovenoteskip=0pt\global\@abovenoteskip=10pt\fi +\appgdef\tblnote@list{\hsize\pt@width\leftskip\z@\rightskip\z@% +\@tableref{\parfillskip\z@ plus1fil#1\endgraf}}}% +\def\@tableref#1{% + \par + \vspace*{3ex}% + {%\parbox{\pt@width} %%%% + {\hskip1em\rmfamily References. --- #1}\par}% +}% +\newcommand\tablecomments[1]{\ifdim\@abovenoteskip=0pt\global\@abovenoteskip=10pt\fi +\appgdef\tblnote@list{\hsize\pt@width\leftskip\z@\rightskip\z@% +\@tablecom{\parfillskip\z@ plus1fil#1\endgraf}}}% +\def\@tablecom#1{% + \par + \vspace*{3ex}% + {%\parbox{\pt@width} %%% +{\hskip1em\rmfamily Note. --- #1}\par}% +}% +\def\@tableref@pptt#1{% + \par + \vspace*{3ex}% + {%\parbox{\pt@width} %%% + {\hskip1em{\sc References.---}#1}\par}% +}% +\def\@tablecom@pptt#1{% + \vspace*{3ex}{% + %\parbox{\pt@width} %%% + {\hskip1em{\sc Note.---}#1}\par}% +}% +\newcounter{plate}% +\def\ftype@plate{4}% +\def\ext@plate{lof}% +\newenvironment{plate}{\@float{plate}}{\end@float}% +\newenvironment{plate*}{\@dblfloat{plate}}{\end@dblfloat}% +\let\platewidth=\tablewidth +\newcommand\platenum[1]{% + \def\theplate{#1}% + \let\@currentlabel\theplate + \addtocounter{plate}{\m@ne}% +}% +\def\thefigure{\@arabic\c@figure}% +\def\thetable{\@arabic\c@table}% +\def\theplate{\@arabic\c@plate}% +\def\fnum@figure{{\rmfamily Fig.\space\thefigure.---}}% +\def\fnum@table{{\rmfamily Table \thetable:}}% +\def\fnum@plate{{\bfseries Plate \theplate.}}% +\def\fps@figure{bp}% +\def\fps@table{bp}% +\def\fps@plate{bp}% +\def\eps@scaling{1.0}% +\newcommand\epsscale[1]{\gdef\eps@scaling{#1}}% +\newcommand\plotone[1]{% + \typeout{Plotone included the file #1} + \centering + \leavevmode + \includegraphics[width={\eps@scaling\columnwidth}]{#1}% +}% +\newcommand\plottwo[2]{{% + \typeout{Plottwo included the files #1 #2} + \centering + \leavevmode + \columnwidth=.45\columnwidth + \includegraphics[width={\eps@scaling\columnwidth}]{#1}% + \hfil + \includegraphics[width={\eps@scaling\columnwidth}]{#2}% +}}% +\def\plotfiddle#1#2#3#4#5#6#7{{ +\typeout{Plotfiddle included the file #1} +\centering\leavevmode%% Re-implement from v4.0 +\vbox to #2{\rule{0pt}{#2}} +\hspace*{#6pt}\includegraphics[width=#4pt, height=#5pt, angle=#3, origin=c]{#1}}% +} +\let\jnl@style=\rmfamily +\def\ref@jnl#1{{\jnl@style#1}}% +\newcommand\aj{\ref@jnl{AJ}}% + % Astronomical Journal +\newcommand\actaa{\ref@jnl{Acta Astron.}}% + % Acta Astronomica +\newcommand\araa{\ref@jnl{ARA\&A}}% + % Annual Review of Astron and Astrophys +\newcommand\apj{\ref@jnl{ApJ}}% + % Astrophysical Journal +\newcommand\apjl{\ref@jnl{ApJ}}% + % Astrophysical Journal, Letters +\newcommand\apjs{\ref@jnl{ApJS}}% + % Astrophysical Journal, Supplement +\newcommand\ao{\ref@jnl{Appl.~Opt.}}% + % Applied Optics +\newcommand\apss{\ref@jnl{Ap\&SS}}% + % Astrophysics and Space Science +\newcommand\aap{\ref@jnl{A\&A}}% + % Astronomy and Astrophysics +\newcommand\aapr{\ref@jnl{A\&A~Rev.}}% + % Astronomy and Astrophysics Reviews +\newcommand\aaps{\ref@jnl{A\&AS}}% + % Astronomy and Astrophysics, Supplement +\newcommand\azh{\ref@jnl{AZh}}% + % Astronomicheskii Zhurnal +\newcommand\baas{\ref@jnl{BAAS}}% + % Bulletin of the AAS +\newcommand\caa{\ref@jnl{Chinese Astron. Astrophys.}}% + % Chinese Astronomy and Astrophysics +\newcommand\cjaa{\ref@jnl{Chinese J. Astron. Astrophys.}}% + % Chinese Journal of Astronomy and Astrophysics +\newcommand\icarus{\ref@jnl{Icarus}}% + % Icarus +\newcommand\jcap{\ref@jnl{J. Cosmology Astropart. Phys.}}% + % Journal of Cosmology and Astroparticle Physics +\newcommand\jrasc{\ref@jnl{JRASC}}% + % Journal of the RAS of Canada +\newcommand\memras{\ref@jnl{MmRAS}}% + % Memoirs of the RAS +\newcommand\mnras{\ref@jnl{MNRAS}}% + % Monthly Notices of the RAS +\newcommand\na{\ref@jnl{New A}}% + % New Astronomy +\newcommand\nar{\ref@jnl{New A Rev.}}% + % New Astronomy Review +\newcommand\pra{\ref@jnl{Phys.~Rev.~A}}% + % Physical Review A: General Physics +\newcommand\prb{\ref@jnl{Phys.~Rev.~B}}% + % Physical Review B: Solid State +\newcommand\prc{\ref@jnl{Phys.~Rev.~C}}% + % Physical Review C +\newcommand\prd{\ref@jnl{Phys.~Rev.~D}}% + % Physical Review D +\newcommand\pre{\ref@jnl{Phys.~Rev.~E}}% + % Physical Review E +\newcommand\prl{\ref@jnl{Phys.~Rev.~Lett.}}% + % Physical Review Letters +\newcommand\pasa{\ref@jnl{PASA}}% + % Publications of the Astron. Soc. of Australia +\newcommand\pasp{\ref@jnl{PASP}}% + % Publications of the ASP +\newcommand\pasj{\ref@jnl{PASJ}}% + % Publications of the ASJ +\newcommand\qjras{\ref@jnl{QJRAS}}% + % Quarterly Journal of the RAS +\newcommand\rmxaa{\ref@jnl{Rev. Mexicana Astron. Astrofis.}}% + % Revista Mexicana de Astronomia y Astrofisica +\newcommand\skytel{\ref@jnl{S\&T}}% + % Sky and Telescope +\newcommand\solphys{\ref@jnl{Sol.~Phys.}}% + % Solar Physics +\newcommand\sovast{\ref@jnl{Soviet~Ast.}}% + % Soviet Astronomy +\newcommand\ssr{\ref@jnl{Space~Sci.~Rev.}}% + % Space Science Reviews +\newcommand\zap{\ref@jnl{ZAp}}% + % Zeitschrift fuer Astrophysik +\newcommand\nat{\ref@jnl{Nature}}% + % Nature +\newcommand\iaucirc{\ref@jnl{IAU~Circ.}}% + % IAU Cirulars +\newcommand\aplett{\ref@jnl{Astrophys.~Lett.}}% + % Astrophysics Letters and Communications +\newcommand\apspr{\ref@jnl{Astrophys.~Space~Phys.~Res.}}% + % Astrophysics Space Physics Research +\newcommand\bain{\ref@jnl{Bull.~Astron.~Inst.~Netherlands}}% + % Bulletin Astronomical Institute of the Netherlands +\newcommand\fcp{\ref@jnl{Fund.~Cosmic~Phys.}}% + % Fundamental Cosmic Physics +\newcommand\gca{\ref@jnl{Geochim.~Cosmochim.~Acta}}% + % Geochimica Cosmochimica Acta +\newcommand\grl{\ref@jnl{Geophys.~Res.~Lett.}}% + % Geophysics Research Letters +\newcommand\jcp{\ref@jnl{J.~Chem.~Phys.}}% + % Journal of Chemical Physics +\newcommand\jgr{\ref@jnl{J.~Geophys.~Res.}}% + % Journal of Geophysical Research +\newcommand\jqsrt{\ref@jnl{J.~Quant.~Spec.~Radiat.~Transf.}}% + % Journal of Quantitiative Spectroscopy and Radiative Trasfer +\newcommand\memsai{\ref@jnl{Mem.~Soc.~Astron.~Italiana}}% + % Mem. Societa Astronomica Italiana +\newcommand\nphysa{\ref@jnl{Nucl.~Phys.~A}}% + % Nuclear Physics A +\newcommand\physrep{\ref@jnl{Phys.~Rep.}}% + % Physics Reports +\newcommand\physscr{\ref@jnl{Phys.~Scr}}% + % Physica Scripta +\newcommand\planss{\ref@jnl{Planet.~Space~Sci.}}% + % Planetary Space Science +\newcommand\procspie{\ref@jnl{Proc.~SPIE}}% + % Proceedings of the SPIE +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\let\applopt=\ao +\newcommand\phn{\phantom{0}}% +\newcommand\phd{\phantom{.}}% +\newcommand\phs{\phantom{$-$}}% +\newcommand\phm[1]{\phantom{#1}}% +\let\la=\lesssim % For Springer A&A compliance... +\let\ga=\gtrsim +\newcommand\sq{\mbox{\rlap{$\sqcap$}$\sqcup$}}% +\newcommand\arcdeg{\mbox{$^\circ$}}% +\newcommand\arcmin{\mbox{$^\prime$}}% +\newcommand\arcsec{\mbox{$^{\prime\prime}$}}% +\newcommand\fd{\mbox{$.\!\!^{\mathrm d}$}}% +\newcommand\fh{\mbox{$.\!\!^{\mathrm h}$}}% +\newcommand\fm{\mbox{$.\!\!^{\mathrm m}$}}% +\newcommand\fs{\mbox{$.\!\!^{\mathrm s}$}}% +\newcommand\fdg{\mbox{$.\!\!^\circ$}}% +\newcommand\farcm@mss{\mbox{$.\mkern-4mu^\prime$}}% +\let\farcm\farcm@mss +\newcommand\farcs@mss{\mbox{$.\!\!^{\prime\prime}$}}% +\let\farcs\farcs@mss +\newcommand\fp{\mbox{$.\!\!^{\scriptscriptstyle\mathrm p}$}}% +\newcommand\micron{\mbox{$\mu$m}}% +\def\farcm@apj{% + \mbox{.\kern -0.7ex\raisebox{.9ex}{\scriptsize$\prime$}}% +}% +\def\farcs@apj{% + \mbox{% + \kern 0.13ex.% + \kern -0.95ex\raisebox{.9ex}{\scriptsize$\prime\prime$}% + \kern -0.1ex% + }% +}% +\newcommand\case[2]{\mbox{$\frac{#1}{#2}$}}% +\newcommand\slantfrac{\case}% +\newcommand\onehalf{\slantfrac{1}{2}}% +\newcommand\onethird{\slantfrac{1}{3}}% +\newcommand\twothirds{\slantfrac{2}{3}}% +\newcommand\onequarter{\slantfrac{1}{4}}% +\newcommand\threequarters{\slantfrac{3}{4}}% +\newcommand\ubvr{\mbox{$U\!BV\!R$}}%% UBVR system +\newcommand\ub{\mbox{$U\!-\!B$}}% % U-B +\newcommand\bv{\mbox{$B\!-\!V$}}% % B-V +\newcommand\vr{\mbox{$V\!-\!R$}}% % V-R +\newcommand\ur{\mbox{$U\!-\!R$}}% % U-R +\newcommand\ion[2]{#1$\;${\small\rmfamily\@Roman{#2}}\relax}% +\newcommand\nodata{ ~$\cdots$~ }% +\newcommand\diameter{\ooalign{\hfil/\hfil\crcr\mathhexbox20D}}% +\newcommand\degr{\arcdeg}% +\newcommand\Sun{\sun}% Sun symbol, "S" +\newcommand\Sol{\sun}% +\newcommand\sun{\odot}% +\newcommand\Mercury{\astro{\char1}}% Mercury symbol, "1" +\newcommand\Venus{\astro{\char2}}% Venus symbol, "2" +\newcommand\Earth{\earth}% Earth symbol, "3" +\newcommand\Terra{\earth}% +\newcommand\earth{\oplus}% +\newcommand\Mars{\astro{\char4}}% Mars symbol, "4" +\newcommand\Jupiter{\astro{\char5}}% Jupiter symbol, "5" +\newcommand\Saturn{\astro{\char6}}% Saturn symbol, "6" +\newcommand\Uranus{\astro{\char7}}% Uranus symbol, "7" +\newcommand\Neptune{\astro{\char8}}% Neptune symbol, "8" +\newcommand\Pluto{\astro{\char9}}% Pluo symbol, "9" +\newcommand\Moon{\astro{\char10}}% Moon symbol, "M" +\newcommand\Luna{\Moon}% +\newcommand\Aries{\astro{\char11}}% +\newcommand\VEq{\Aries}% vernal equinox (Aries) +\newcommand\Taurus{\astro{\char12}}% +\newcommand\Gemini{\astro{\char13}}% +\newcommand\Cancer{\astro{\char14}}% +\newcommand\Leo{\astro{\char15}}% +\newcommand\Virgo{\astro{\char16}}% +\newcommand\Libra{\astro{\char17}}% +\newcommand\AEq{\Libra}% autumnal equinox (Libra) +\newcommand\Scorpius{\astro{\char18}}% +\newcommand\Sagittarius{\astro{\char19}}% +\newcommand\Capricornus{\astro{\char20}}% +\newcommand\Aquarius{\astro{\char21}}% +\newcommand\Pisces{\astro{\char22}}% +\def\load@astro{% + \dimen@=1\aas@ptsize\p@ + \font\astro@font=Astrosym at\dimen@ +}% +\def\astro#1{\leavevmode\hbox{\astro@font#1}}% +\def\astro@font{% + \ClassWarning{aastex}{% + Please use class option `astro', since you are using the astro font.% + }% +}% +\newcommand\sbond{\chem@bnd{\@sbnd}}% +\newcommand\dbond{\chem@bnd{\@dbnd}}% +\newcommand\tbond{\chem@bnd{\@tbnd}}% +\def\chem@bnd#1{% + {% + \kern.1em\relax + \setbox\z@\hbox{M}% + \dimen@ii.8em\relax + \p@=.1em\relax + \dimen@.5\ht\z@\dimen@i-\dimen@ + \advance\dimen@1.5\p@\advance\dimen@i-1.0\p@ + #1% + \kern.1em\relax + }% + }% +\def\@sbnd{% + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@dbnd{% + \advance\dimen@-0.5\p@\advance\dimen@i0.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@tbnd{% + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\renewcommand\LaTeX{% + \leavevmode + L% + \raise.42ex\hbox{% + \count@=\the\fam + $\fam\count@\scriptstyle\kern-.3em A$% + }% + \kern-.15em\TeX +}% +\newcommand\anchor[2]{#2}% +\newcommand\url{\@dblarg\@url}% +\def\@url[#1]{\anchor{#1}}% +\def\@text@email#1{#1}% +\def\authoremail{\substitute@command\authoremail\email}% +\newcommand\objectname{\@testopt\@objectname{[}} +\def\@objectname[#1]#2{#2}% +\newcommand\object{\@testopt\@object{[}}% +\def\@object[#1]#2{#2}% +%% macro for facility +\newcommand\facility{\@testopt\@facility{[}}% +\def\@facility[#1]#2{#2}% +%% macro for supportfrom +\newcommand\supportfrom{\@testopt\@supportfrom{[}}% +\def\@supportfrom[#1]#2{#2}% +%% macro for dataset +\newcommand\dataset{\@testopt\@dataset{[}}% +\def\@dataset[#1]#2{#2}% +\newcommand\sizrpt{% + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font + \typeout{% + (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font + }% +}% +\def\aas@preprint{% + \def\revtex@genre{preprint}% + \let\ptlandscape\@empty + \setlength\@slugcmmntwidth{.67\textwidth}% + \let\@makeslugcmmnt\@makeslugcmmnt@ppt + \let\@abstract\@abstract@ppt + \let\make@title\make@title@ppt + \let\make@affil\make@affil@ppt + \let\notetoeditor\@gobble + \let\clear@section@page\@empty + \let\placetable\@gobble + \let\placefigure\@gobble + \let\placeplate\@gobble + \let\typeout@deluxetable\typeout@deluxetable@ppt + \let\typeout@pt@nl\typeout@pt@nl@mss + \ps@plaintop + \let\references@refpar\references@refpar@mss + \let\cutinhead\cutinhead@ppt + \def\pt@headfrac@ass@normalsize{.1} + \def\pt@headfrac@ass@footnotesize{.12} + \def\pt@headfrac@ass@scriptsize{.15} + \def\pt@notemin@normal{4.5} + \def\pt@notemin@footnote{4.5} + \def\pt@notemin@script{5} +}% +\@namedef{aas@preprint2}{% + \aas@preprint + \def\revtex@genre{2-column preprint}% + \ps@plain + \@twocolumntrue + \@rightskip=\z@\@plus4em + \rightskip\@rightskip + \opt@just + \just@just % -SZ restored preprint2 to full justification + \setlength\parindent{1.2em}% + \setlength\parskip{0.5ex}% + \setlength\columnsep{0.5in}% + \setlength\hoffset{-0.2in}% + \tolerance=600 + \setlength\emergencystretch{6\p@}% + \def\baselinestretch{1.0}% + \def\@tightleading{1.0}% + \let\singlespace\@empty + \let\doublespace\@empty + \let\@dates\@dates@pptt + \let\@abstract\@abstract@pptt + \let\make@title\make@title@pptt + \let\make@author\make@author@pptt + \let\make@affil\make@affil@pptt + \let\@keywords\@keywords@pptt + \setlength{\skip\footins}{3ex\@plus1ex\@minus.5ex}% + \setlength\footnotesep{2ex}% + \let\@makefntext\@makefntext@pptt + \let\section\section@pptt + \let\subsection\subsection@pptt + \let\subsubsection\subsubsection@pptt + \let\section@centering\@empty + \let\appendix@figtab@defs\appendix@figtab@defs@pptt + \def\clear@thebibliography@page{% + \if@restonecol\if@twocolumn\else\twocolumn\fi\fi + }% + \let\references@refpar\references@refpar@pptt + \let\thebib@list\thebib@list@pptt + \let\@tablenotes\@tablenotes@pptt + \let\fnum@ptablecont\fnum@ptablecont@pptt + \let\@make@caption@text\@make@caption@text@pptt + \let\@makecaption@plano@cont\@makecaption@plano@cont@pptt + \let\cutinhead\cutinhead@ppt + \def\@plano@float@{\@dblfloat}% Extra layer of abstraction for float processing + \def\end@plano@float@{\end@dblfloat}% + %\let\@tableref\@tableref@pptt + \let\@tablecom\@tablecom@pptt + \def\pt@headfrac@ass@normalsize{.12} + \def\pt@headfrac@ass@footnotesize{.15} + \def\pt@headfrac@ass@scriptsize{.18} + \def\pt@notemin@normal{5} + \def\pt@notemin@footnote{5} + \def\pt@notemin@script{5} +}% +\def\section@pptt{% + \@startsection{section}{1}% + {\z@}{2.3ex\@plus1ex\@minus.2ex}% + {1.5ex\@plus.2ex}{\normalsize\bfseries}% +}% +\def\subsection@pptt{% + \@startsection{subsection}{2}% + {\z@}{2ex\@plus1ex\@minus.2ex}{1ex\@plus.2ex}{\normalsize\bfseries}% +}% +\def\subsubsection@pptt{% + \@startsection{subsubsection}{3}% + {\z@}{2ex\@plus1ex\@minus.2ex}{1ex\@plus.2ex}{\normalsize\itshape}% +}% +\def\aas@manuscript{% + \def\revtex@genre{manuscript}% + \let\ptlandscape\@empty + \def\baselinestretch{\@doubleleading}% + \let\footnote@size\@empty + \def\tighten{\def\baselinestretch{\@doubleleading}}% + \def\singlespace{}% + \def\doublespace{}% + \opt@tighten + \setlength\@slugcmmntwidth{\textwidth}% + \let\@makeslugcmmnt\@makeslugcmmnt@mss + \@rightskip=\z@\@plus4em + \rightskip\@rightskip + \opt@just + \let\sluginfo\sluginfo@mss + \let\@abstract\@abstract@mss + \let\@keywords\@keywords@mss % pagebreak after keywords + \let\make@title\make@title@mss + \def\clear@section@page{\clearpage}% + \def\clear@thebibliography@page{\clearpage}% + \let\typeout@deluxetable\typeout@deluxetable@mss + \let\typeout@pt@nl\typeout@pt@nl@mss + \ps@plaintop + \let\references@refpar\references@refpar@mss + \def\pt@headfrac@ass@normalsize{.08} + \def\pt@headfrac@ass@footnotesize{.1} + \def\pt@headfrac@ass@scriptsize{.12} + \def\pt@notemin@normal{3} + \def\pt@notemin@footnote{3} + \def\pt@notemin@script{4} +}% +\def\journal{\@gobble}% +\def\volume{\@gobble}% +\def\issue{\@gobble}% +\def\SGMLbi#1{#1}% +\def\SGMLbsc#1{#1}% +\def\SGMLclc#1{#1}% +\def\SGMLentity#1{\}% +\def\SGML{\@gobble}% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Modify the |\@makecol| macro for one-column abstract. +\newif\if@printfoot% +\global\@printfoottrue% +\global\newbox\my@footins +\gdef \@makecol@pptt {% + \ifvoid\footins + \setbox\@outputbox \box\@cclv + \else + \if@printfoot + \else + \global\setbox\my@footins\vbox{\box\footins} + %\global\advance\c@colht by -\ht\my@footins + \fi + \setbox\@outputbox \vbox{% + \global\setbox\footins\vbox{\unvbox\my@footins\unvbox\footins} + \boxmaxdepth \@maxdepth + \unvbox\@cclv + \if@printfoot + \vskip\skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + \else + \global\@printfoottrue + \fi + }% + \fi + \xdef\@freelist{\@freelist\@midlist}% + \global \let \@midlist \@empty + \@combinefloats + \ifvbox\@kludgeins + \@makespecialcolbox + \else + \setbox\@outputbox \vbox to \@colht{% + \@texttop + \dimen@ \dp\@outputbox + \unvbox \@outputbox + \ifbotragg% + \vskip -\dimen@ + \@textbottom + \fi + }% + \fi + \global \maxdepth \@maxdepth +} +%% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% macro to switch from one-column long abstract to two-column normal text +\iflong@abstract +\newtoks\juo@sar \juo@sar={} +\def\@ca#1#2#3#4{} +\@ifundefined{stripsep}{\newskip\stripsep\stripsep 15pt}{} +\newskip\m@addvipersep +\m@addvipersep\z@ +\newskip\c@addvipersep +\c@addvipersep\z@ +\newdimen\ht@strip +\newdimen\right@cor +\newdimen\cor@height \cor@height=0pt +\newdimen\juo@pr +\newdimen\juo@ht +\newbox\@viper +\newcount\juo@sk +\newdimen\c@colht +\newbox\my@outputbox +%% macro for adding strip +\def\add@strip#1#2#3#4{\begingroup% + \xdef\ex@{\global\noexpand\juo@sar{\the\juo@sar\noexpand\@ca{#1}{#2}{#3}{#4}}}\ex@% +\endgroup} +%% macro for remove strip +\def\remove@strip#1{\ifx#1\@empty\global\juo@sk=0\else + \global\advance\juo@sk by-1\expandafter\next@item\the #1\@@#1\fi} +\def\next@item \@ca#1#2#3#4#5\@@#6{\global #6={#5}\global\juo@pr=#1\global\juo@ht=#2% +\global\cor@height=#3\global\m@addvipersep=#4} +%% macro for strip command +\def\strip{\@ifnextchar[{\@strip}{\@strip[0pt/0pt]}} +\def\@strip[#1/#2]{\global\@tempdima=#1\global\@tempdimb=#2% + \global \setbox\@viper\vbox\bgroup% + \hsize\textwidth + \@parboxrestore + \col@number \@ne + \vrule height\topskip width\z@ depth\z@} +\def\endstrip{% + \egroup + \if@firstcolumn + \ifdim\pagetotal>\z@ + \global\ht@strip\pagegoal + \global\advance\ht@strip by-\pagetotal + \global\advance\ht@strip by-\stripsep + \global\advance\ht@strip by-\ht\@viper + \global\advance\ht@strip by-\stripsep + \global\juo@ht=\ht\@viper + \else + \global\ht@strip\z@ + \fi + \ifdim\ht@strip>\z@ + \add@strip{\the\pagetotal}{\the\juo@ht}{\the\@tempdima}{\the\@tempdimb}% + \global\advance\juo@sk by1 + \fi + \fi +} +\newif\ifbotragg\botraggfalse +\def\@outputdblcol@pptt{% +\if@firstcolumn + \global\@firstcolumnfalse + \global\setbox\@leftcolumn\box\@outputbox + \global\c@colht\@colht\global\c@addvipersep\z@ + \ifnum\juo@sk>0 + \remove@strip\juo@sar + \global\@colht\the\juo@pr + \global\@printfootfalse + \ifdim\right@cor>\z@ + \global\advance\@colht by\right@cor + \fi + \global\advance\@colht by\cor@height + \global\cor@height=0pt + \fi +\else + \ifdim\c@colht>\@colht% + \@tempdima\@colht% + \ifdim\@colht>\z@%% + \ifvoid\footins% + \else% + \vskip-\skip\footins% + \fi% + \splittopskip0pt% + \setbox\my@outputbox\vbox{% + \vspace*{\@colht}%% + \global\botraggfalse% + \vskip.7\baselineskip% + \vsplit\@outputbox to \baselineskip% + \unvbox\@outputbox}% + \unvbox\my@outputbox% + \ifvoid\my@outputbox% + \global\botraggtrue + \fi% + \global \@printfoottrue + \global\c@addvipersep\m@addvipersep% + \else% + \fi% + \ifnum\juo@sk>0% + \else% + \global\@colht\c@colht% + \fi% + \else% + \global \@firstcolumntrue% + \global\setbox\@outputbox\vbox to \ht\@leftcolumn{\unvbox\@outputbox}% + \setbox\@outputbox \vbox{\hb@xt@\textwidth {% + \hb@xt@\columnwidth {\box\@leftcolumn \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth{\box\@outputbox \hss}}% + \vss}% + \@combinedblfloats + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi + {\@outputpage\@startdblcolumn}% + \endgroup + \global\juo@sk=0\global\juo@sar={}% + \global\cor@height\z@\global\c@addvipersep\z@ + \fi +\fi +} +\fi +\endinput +%% +%% End of file `aastex.cls'. +%% diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aastex61.cls b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aastex61.cls new file mode 100644 index 0000000..6a6ead3 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aastex61.cls @@ -0,0 +1,6408 @@ +%% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% AASTeX61.cls %% +%% October 5, 2016 %% +%% November 28, 2016 (bug fix on .bib file) %% +%% Copyright 2016 American Astronomical Society %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\currversion{6.1} + +%% +%% These files are distributed +%% WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~}% +%% +%%% date = "9/19/2016", +%%% author = "Amy Hendrickson (mailto:amyh@texnology.com)" +%%% including +%%% 1) code from emulateapj.cls, version 01/23/15(marked below) +%%% written by Alexey Vikhlinin, which relies on RevTeX4-1 +%%% for much functionality; +%%% 2) some code from aastex (marked below) +%%% 3) Original work by Amy Hendrickson (marked below) for +%%% extensive table tools, including easy decimal entry and splitting +%%% tables horizontally into 2 or 3 pieces, for tabular and deluxetable +%%% environments; rotate tables; gridlines for use in positioning figures, +%%% track changes. + +%%% This work may be distributed and/or modified under the +%%% conditions of the LaTeX Project Public License, either version 1.3c +%%% of this license or (at your option) any later version. +%%% The latest version of this license is in +%%% http://www.latex-project.org/lppl.txt +%%% and version 1.3 or later is part of all distributions of LaTeX +%%% version 2005/12/01 or later. +% +%%% This work has the LPPL maintenance status `maintained'. +% +%%% The Current Maintainer of this work is Greg Schwarz +%%% This work consists of the file aastex.cls + +%%% copyright = "Copyright (C) 2016 American Astronomical Society +%%% +%%% This work may be distributed and/or modified under the +%%% conditions of the LaTeX Project Public License, either version 1.3 +%%% of this license or (at your option) any later version. +%%% The latest version of this license is in +%%% http://www.latex-project.org/lppl.txt +%%% and version 1.3 or later is part of all distributions of LaTeX +%%% version 2003/12/01 or later. +%%% +%%% This work has the LPPL maintenance status "maintained". +%%% +%%% The Current Maintainer of this work is the American Astronomical Society. +%%% +%%% This work consists of all files listed in the document README. +%%% +%%% address = "American Astronomical Society +%%% USA", +%%% telephone = "+1 ???", +%%% FAX = "", +%%% email = "aastex-help@aas.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, AAS, journal", +%%% supported = "yes", +%%% abstract = "formatter for AAS journal submissions", +%%% } + +\ProvidesClass{aastex61}%%% + [2016/04/16 Version 6.1/AAS markup document class]% +{} +\ClassInfo{aastex}{% +^^J +^^J + Original \protect\LaTeX2.09 style + by Chris Biemesderfer (chris@seagoat.com). +^^J + Adapted to \protect\LaTeXe\space + by A. Ogawa (ogawa@teleport.com)% +^^J +emulateapj.cls included, Copyright 2000-2015 Alexey Vikhlinin +^^J +Rewrite and update of emulateapj.cls, +revised and enhanced with table macros, gridlines, draft watermark,^^J +track changes, new `modern' style and much more, by Amy Hendrickson,% +^^J + (amyh@texnology.com, http://www.texnology.com) +^^J +^^J +}% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aastex.cls version 2.0 is a based on emulateapj.cls, version January 23, 2015, +%% and an older version of aastex.cls, with many additional functionalities. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Options. Document style options, and additional feature options. + +% These are the General document style options, 6 choices + +% manuscript : onecolumn, doublespace, 12pt fonts + +%% Preprints are like manuscript, except they are single spaced. +% preprint : onecolumn, single space, 12pt fonts +% preprint2 : twocolumn, single space, 12pt fonts + +%% Modern is new design developed by David Hogg and Daniel Foreman-Mackey +% modern : one column, single space, 10pt fonts, more stylish + +% twocolumn : a two column article, single space, 10pt fonts + +% Default document style option +% onecolumn : a one column article; single space, 10pt fonts + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Additional feature options: + +% revtex4 : will produce an error message and demand to download revtex4-1. +% twocolappendix: make 2 column appendix // produces error message. +% onecolappendix: make 1 column appendix is the default. // not needed because it is the default +% astrosymb : Loads Astrosymb font and define \astro commands. +% tighten : Makes baselineskip slightly smaller, only works with twocolumn option. +%% author can also use the commands \tighten, or \singlespace or \doublespace in the body of their article +%% to get this change to the baselineskip +% times : uses times font as the default +% linenumbers : turn on lineno package. +% trackchanges : required to see the revision mark up and print output +% letteredappendix: (was numbered appendix) Not needed because it is the default, will label appendix sections A, B, ... +% numberedappendix: Legacy command, will produce same results as lettered appendix, since we don't want more +% than one `section 1' in article: will cause problems for cross referencing. + + +\newif\ifmanu +\newif\iftwelvepoint +\newif\ifmodern +\newif\ifdoublespace +\newif\if@two@col +\newif\ifonecolstyle +\newif\iftwocolstyle + + \DeclareOption{manuscript}{\twelvepointtrue\@two@colfalse\doublespacetrue\manutrue}% + +%% Preprints are like manuscript but are single spaced: +\newif\ifpreprint + \DeclareOption{preprint}{\@two@colfalse\preprinttrue\twelvepointtrue}% + +\newif\ifpreprinttwo + \DeclareOption{preprint2}{\@two@coltrue\preprinttwotrue\twelvepointtrue}% + + +%% New design suggested by +\DeclareOption{modern}{\@two@colfalse\twelvepointtrue\moderntrue} + +%% left in from older version, in case it could be useful: + +\DeclareOption{twocolumn}{\twocolstyletrue\@two@coltrue} + +%% default style +\DeclareOption{onecolumn}{\onecolstyletrue} + +%% obsolete option +\DeclareOption{revtex4}{\typeout{=================^^J^^J!!! The revtex4 option no longer + allowed!^^J^^J Please download revtex4-1.cls^^J^^J + Thank-you!^^J^^J=================}\stop} + +\newif\if@two@col@app +\DeclareOption{twocolappendix}{\typeout{^^J^^J The option^^J +`twocolappendix' no +longer works! onecolappendix is preferred,^^J +and is the default.^^J^^J}\stop}%\@two@col@apptrue} +\DeclareOption{onecolappendix}{\@two@col@appfalse}%% this is default + +\newif\iflongauthor +\DeclareOption{longauthor}{\global\longauthortrue} + +\newlength{\bibbaselineskip}\setlength{\bibbaselineskip}{3.075mm} + + \DeclareOption{astrosymb}{ + \def\astro#1{\leavevmode\hbox{\astro@font#1}}% + \def\load@astro@font{% +\iftwelvepoint + \font\astro@font=Astrosym at 8pt +\else + \font\astro@font=Astrosym at 7pt +\fi +}% + \AtBeginDocument{\load@astro@font} + } + +%% Default definition for \astro, in case astrosymb option has not +%% been used: +\def\astro#1{\typeout{^^J^^J Please use class option `astrosymb' to +access fonts for the \string\astro\space command +^^J^^J +}\stop} + + \def\apjsecfont{\normalsize} + \def\secnum@size{\small} + \def\subsecnum@size{\normalsize} + + \def\AppendixApjSectionMarkInTitle#1{\relax} +\newif\ifletteredappendix + \DeclareOption{letteredappendix}{\global\letteredappendixtrue + \def\AppendixApjSectionMarkInTitle#1{#1.\ } + } + +%% this option is obsolete, since letteredappendix is a more logical name; +%% but keeping it here in case someone uses it, set to be the same as +%% letteredappendix. + \DeclareOption{numberedappendix}{\global\letteredappendixtrue + \def\AppendixApjSectionMarkInTitle#1{#1.\ } + } + + \newif\if@number@appendix@floats\@number@appendix@floatsfalse + \DeclareOption{appendixfloats}{ + \@number@appendix@floatstrue + } + +%%%%%%%%%%%%% +%% AH + +%% This option changes the baselineskips in the definitions of \normalsize etc +%% to make them a bit smaller. +\newif\iftighten +\DeclareOption{tighten}{\global\tightentrue} + +%% AH +\newif\iftimes +\DeclareOption{times}{\global\timestrue} + +\newif\ifnumlines +\DeclareOption{linenumbers}{\global\numlinestrue} + +\newif\iftrack +\DeclareOption{trackchanges}{\global\tracktrue} + +%% End AH Options + +\ExecuteOptions{onecolumn,onecolappendix,letteredappendix}% + +\ProcessOptions + +%%%%%%%%%%%%% +% + + \iftimes +%% Might be better to use apjfonts, from Alexey Vikhlinin's website +%% http://hea-www.harvard.edu/~alexey/emulateapj/apjfonts.sty +%%\usepackage{apjfonts} +%% but times.sty is ubiquitous, and many people may not have apjfonts.sty +%% or the fonts that it calls. +%% default fonts: +\usepackage{times} + \fi + +%%%%%%%%%%%%% + + \IfFileExists{revtex4-1.cls}{ + \def\@revtex@cls{revtex4-1} + }{ +\typeout{^^J^^J Please update your system to include +revtex4-1.cls^^J^^J}\stop + } +\def\@revtex@cls{revtex4-1} +\let\@startsection@from@latex=\@startsection + + +%% Passing options to revtex while loading: + \iftwelvepoint + \iflongauthor + \LoadClass[nofootinbib,showkeys,twoside,floatfix,unsortedaddress,flushbottom,12pt,aps,pra] + {\@revtex@cls} + \else + \LoadClass[nofootinbib,showkeys,twoside,floatfix,superscriptaddress,flushbottom,12pt,aps,pra] + {\@revtex@cls} + \fi + \else %not twelvepoint + \iflongauthor + \LoadClass[nofootinbib,showkeys,twoside,floatfix,unsortedaddress,flushbottom,10pt,aps,pra] + {\@revtex@cls} + \else + \LoadClass[nofootinbib,showkeys,twoside,floatfix,superscriptaddress,flushbottom,10pt,aps,pra] + {\@revtex@cls} + \fi + \fi + +%%%%%%%%%%%%%%%%%%%% + +\def\blankaffiliation{~}% + +%% needed? + \def\@eapj@cap@font{\bfseries} + \def\@eapj@figname{Figure} + \def\@eapj@tabname{Table} + +% Restore natbib package without sorting. +\def\NAT@sort{0} +\def\NAT@cmprs{0} + +% only redefine sort@cites for natbib versions < 2009 +\@ifundefined{NAT@sort@cites@}{\def\NAT@sort@cites#1{\edef\NAT@cite@list{#1}}}% + +\RequirePackage{latexsym}% +\RequirePackage{graphicx}% +\RequirePackage{amssymb}% + +\newcommand{\bibstyle@aas}{\bibpunct{(}{)}{;}{a}{}{,}}% +\@citestyle{aas}% + +\let\@startsection=\@startsection@from@latex +\def\baselinestretch{1.0} + +%% a bit more vertical space between horizontal lines, makes table more readable +\AtBeginDocument{\def\arraystretch{1.2}} + +%% needed? +\def\raggedcolumn@sw#1#2{#2} % implement flushbottom as it was in revtex4 + +\RequirePackage{epsf,graphicx} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Font families +%% modification of bk10.clo, and bk12.clo, standard LaTeX distribution +%% +%% Implements doublespace used in `manuscript' option +%% Implements `tighten' option: make baselineskip smaller if `tighten' is used +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% tighten only works with two column styles: +\iftwocolstyle\else\global\tightenfalse\fi + +%%% preprint, preprint2, manuscript are 12pt +%% Modified bk12.clo +\iftwelvepoint + +\renewcommand\normalsize{% +\ifdoublespace % manuscript + \iftighten + \@setfontsize\normalsize\@xiipt{20}% + \else + \@setfontsize\normalsize\@xiipt{24}% + \fi +\else + \iftighten + \@setfontsize\normalsize\@xiipt{13}% + \else + \ifmodern + \@setfontsize\normalsize\@xiipt{16}% + \else + \@setfontsize\normalsize\@xiipt{15}% + \fi + \fi +\fi %% end doublespace/no double space + \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} + +\normalsize + +\renewcommand\small{% +\ifdoublespace % manuscript + \@setfontsize\small\@xipt{20}% +\else +\ifmodern + \@setfontsize\small\@xipt{12}% +\else + \@setfontsize\small\@xipt{13.6}% +\fi\fi +%% end doublespace/no double space + \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 9\p@ \@plus3\p@ \@minus5\p@ + \parsep 4.5\p@ \@plus2\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} + +\renewcommand\footnotesize{% +\ifdoublespace % manuscriptstyle + \@setfontsize\footnotesize\@xpt{18} +\else + \ifmodern + \@setfontsize\footnotesize\@xpt{11}% + \else + \@setfontsize\footnotesize\@xpt\@xiipt +\fi\fi + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 6\p@ \@plus2\p@ \@minus2\p@ + \parsep 3\p@ \@plus2\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\ifdoublespace % manuscript style +\renewcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{14}} +\renewcommand\tiny{\@setfontsize\tiny\@vipt{10}} +\renewcommand\large{\@setfontsize\large\@xivpt{18}} +\renewcommand\Large{\@setfontsize\Large\@xviipt{22}} +\renewcommand\LARGE{\@setfontsize\LARGE\@xxpt{25}} +\renewcommand\huge{\@setfontsize\huge\@xxvpt{30}} +\else +\renewcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}} +\renewcommand\tiny{\@setfontsize\tiny\@vipt\@viipt} +\renewcommand\large{\@setfontsize\large\@xivpt{22}} +\renewcommand\Large{\@setfontsize\Large\@xviipt{24}} +\renewcommand\LARGE{\@setfontsize\LARGE\@xxpt{28}} +\renewcommand\huge{\@setfontsize\huge\@xxvpt{30}} +\fi +\let\Huge=\huge +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\else %% not twelvepoint, now tenpoint +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% no doublespace here, because the only doublespace is in `manuscript style' which is 12pt + +\renewcommand\normalsize{% +\iftighten + \@setfontsize\normalsize\@xpt{11.5}% +\else + \@setfontsize\normalsize\@xpt{12.5}% +\fi + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} + +\normalsize + +\renewcommand\small{% +\iftighten + \@setfontsize\small\@ixpt{12}% +\else + \@setfontsize\small\@ixpt{11}% +\fi + \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus2\p@ + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 4\p@ \@plus2\p@ \@minus2\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} + +\renewcommand\footnotesize{% +\iftighten + \@setfontsize\footnotesize\@viiipt{9}% +\else + \@setfontsize\footnotesize\@viiipt{9.5}% standard eightpoint size +\fi + \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 3\p@ \@plus\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} + +%% Standard 10pt font sizes +\renewcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} +\renewcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} +\renewcommand\large{\@setfontsize\large\@xiipt{14}} +\renewcommand\Large{\@setfontsize\Large\@xivpt{18}} +\renewcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}} +\renewcommand\huge{\@setfontsize\huge\@xxpt{25}} +\renewcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} + +\fi + +%% End font sizes +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@} +\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@} +\setlength\headheight{12\p@} +\def\@listi{\leftmargin\leftmargini + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep4\p@ \@plus2\p@ \@minus\p@} +\let\@listI\@listi +\@listi +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 4\p@ \@plus2\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep 2\p@ \@plus\p@\@minus\p@ + \parsep \z@ + \partopsep \p@ \@plus\z@ \@minus\p@ + \itemsep \topsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} + +% **************************************************** +% * TWO AND SINGLE ONE COLUMN STYLES: AV * +% **************************************************** +% + +%%%%% include atbeginend.sty by AV: + +% Copy \begin and \end to \BeginEnvironment and \EndEnvironment +\let\BeginEnvironment=\begin +\let\EndEnvironment=\end +%% \ifundefined from TeXbook +\def\IfUnDef#1{\expandafter\ifx\csname#1\endcsname\relax} +% Null command needed to eat its argument +\def\NullCom#1{} +\def\begin#1{% +% if defined \BeforeBeg for this environment, execute it +\IfUnDef{BeforeBeg#1}\else\csname BeforeBeg#1\endcsname\fi% +\IfUnDef{AfterBeg#1}% This is done to skip the command for environments + % which can take arguments, like multicols; YOU MUST NOT + % USE \AfterBegin{...}{...} for such environments! + \let\SaveBegEnd=\BeginEnvironment% +\else + % Start this environment + \BeginEnvironment{#1}% + % and execute code after \begin{environment} + \csname AfterBeg#1\endcsname + \let\SaveBegEnd=\NullCom +\fi +\SaveBegEnd{#1} +} +\def\end#1{% +% execute code before \end{environment} +\IfUnDef{BeforeEnd#1}\else\csname BeforeEnd#1\endcsname\fi% +% close this environment +\EndEnvironment{#1} +% and execute code after \begin{environment} +\IfUnDef{AfterEnd#1}\else\csname AfterEnd#1\endcsname\fi% +} +\long\def\BeforeBegin#1#2{\expandafter\gdef\csname BeforeBeg#1\endcsname {#2}} +\long\def\BeforeEnd #1#2{\expandafter\gdef\csname BeforeEnd#1\endcsname {#2}} +\long\def\AfterBegin #1#2{\expandafter\gdef\csname AfterBeg#1\endcsname {#2}} +\long\def\AfterEnd #1#2{\expandafter\gdef\csname AfterEnd#1\endcsname{#2}} + +%%%% end of atbeginend.sty + +% **************************************** +% * PAGE LAYOUT * +% **************************************** + +% Page size, spacing parameters, etc. + +\textwidth=7.1in +\columnsep=0.3125in +\parindent=0.125in +\voffset=-20mm +\hoffset=-7.5mm + +\topmargin=0in +\headheight=.15in +\headsep=0.5in +\oddsidemargin=0in +\evensidemargin=0in +\parskip=0cm + +\tolerance=600 % 3x "normal" value; cuts down on overfull complaints + +%% AV,MM, to have 64 lines per column, with textheight 25cm: +\textheight=64\baselineskip +\textheight=\baselinestretch\textheight +\ifdim\textheight>25.2cm\textheight=25.0cm\fi + +%% so that the margin at the bottom of the page is about equal to margin at top. -- AH +\advance\textheight -54pt + +\topskip\baselineskip +\maxdepth\baselineskip + + + +\def\eqsecnum{ + \@newctr{equation}[section] + \def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} + +%% running heads: +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} +\let\shorttitle\lefthead +\let\shortauthors\righthead + +\def\ps@apjheads{\let\@mkboth\markboth + \def\@evenfoot{} + \def\@evenhead{\lower9mm\hbox to\textwidth{ + \rm\thepage\hfil \rm\textsc{\@rectohead} \hfil}}} + \def\@oddfoot{} + \def\@oddhead{\lower9mm\hbox to\textwidth{ + \hfil\rm\textsc{\@versohead}\hfil \rm\thepage}} + +\pagestyle{apjheads} + +\@twosidetrue + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% TITLE PAGE % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\long\def\frontmatter@title@above{ +\ifmodern +\vglue-18pt +{\footnotesize +\raggedright +{\sc Draft version \today}\\[2pt] +{\footnotesize +Typeset using \LaTeX\ {\bf modern} style in AASTeX61} +\vskip48pt +} +\else +%% +\ifpreprint +\vspace*{-\headsep}\vspace*{\headheight} +\footnotesize +\noindent{\sc Draft version \today}\\[2pt] +{\footnotesize Typeset using \LaTeX\ {\bf preprint} style in AASTeX61} +\par\vspace*{-\baselineskip}\vspace*{0.625in} +\else +%% +\ifpreprinttwo +\vspace*{-\headsep}\vspace*{\headheight} +\footnotesize +{\footnotesize\textsc{\@journalinfo}}\par +{\footnotesize Typeset using \LaTeX\ {\bf preprint2} style in AASTeX61} +\par\vspace*{-\baselineskip}\vspace*{0.625in} +\else +%% +\iftwocolstyle +\vspace*{-\headsep}\vspace*{\headheight} +\footnotesize +{\footnotesize\textsc{\@journalinfo}}\par +{\footnotesize Typeset using \LaTeX\ {\bf twocolumn} style in AASTeX61} +\par\vspace*{-\baselineskip}\vspace*{0.625in} +\else +\ifmanu +\vspace*{-\headsep}\vspace*{\headheight} +\footnotesize +\noindent\textsc{\@journalinfo}\\[-8pt] +{\footnotesize Typeset using \LaTeX\ {\bf manuscript} style in AASTeX61} +\par\vspace*{-\baselineskip}\vspace*{0.625in} +\else +%% Default +\vspace*{-\headsep}\vspace*{\headheight} +\footnotesize +{\footnotesize\textsc{\@journalinfo}}\par +{\footnotesize Typeset using \LaTeX\ default style in AASTeX61}%% default style +\par\vspace*{-\baselineskip}\vspace*{0.625in} +\fi\fi\fi\fi\fi +}% + +\def\frontmatter@title@produce{% + \begingroup +\ifnumlines\nolinenumbers\fi + \frontmatter@title@above + \frontmatter@title@format + \@title +\vskip12pt + \@ifx{\@title@aux\@title@aux@cleared}{}{% + \expandafter\frontmatter@footnote\expandafter{\@title@aux}% + }% + \par +%% \class@warn{Unused short title ignored}% +\ifmodern +\vskip-42pt +\else +\ifmanu +\vskip-60pt +\else + \frontmatter@title@below +\fi +\fi + \endgroup +}% + +\newcount\fncount +\newcount\endfncount +\long\def\tempfootnote#1{\global\advance\fncount by 1\relax% +\expandafter\gdef\csname footnote\the\fncount\endcsname{#1}} + +\long\def\abstracttempfootnote#1{\global\advance\fncount by 1\relax% +\expandafter\gdef\csname absfootnote\the\fncount\endcsname{#1}} + +\def\tempfootnoteintitle#1{} + +\long\def\ltx@foottext#1#2{% + \begingroup + \expandafter\ltx@make@current@footnote\expandafter{\@mpfn}{#1}% +\@footnotetext{#2}% + \endgroup +}% + +\def\kickoutfootnotes{\c@footnote=0\relax% +\loop\advance\endfncount by 1\relax% +\expandafter\ifx\csname footnote\the\endfncount\endcsname\relax% +\else% +\def\thempfn{\fnsymbol{footnote}}% +\advance\c@footnote by 1\relax% +\unskip\footnote{\csname footnote\the\endfncount\endcsname}% +\repeat} + + + +%% +\renewcommand\title[2][]{% +\def\@title{\setbox0=\vbox{\let\footnote\tempfootnote #2}% +{\let\footnote\tempfootnoteintitle\uppercase{#2}} +\kickoutfootnotes +\ifdoublespace\vskip 3\baselineskip\fi +}% + \def\@shorttitle{#1}% + \let\@AF@join\@title@join +}% + + +\def\frontmatter@title@format{\normalsize\centering} + +\def\frontmatter@title@below{\ifmodern\vskip12pt\fi}% + +\def\frontmatter@authorformat{\small\scshape +\ifmodern +\vskip48pt +\centering +\leftskip=.05in plus 1fil +\rightskip=.05in plus 1 fil +\baselineskip=13pt +\else +\centering +\fi +}% + + +\def\frontmatter@affiliationfont{\normalfont\footnotesize\it +\ifmodern +\baselineskip=14pt +\rightskip-12pt plus 1fil +\leftskip6pt \parindent-4pt +\fi +}% + +%ADW: start text on first page +\def\frontmatter@finalspace{\vspace*{-\baselineskip}\vspace*{0.375in}} + +\def\@separator{\\}% + +\newcounter{front@matter@foot@note}\setcounter{front@matter@foot@note}{0} + +\iflongauthor +\renewcommand\affiliation[1]{% + \move@AU\move@AF% +\iflongauthor\let\@listand\relax\fi + \begingroup% + \@affiliation{%\hspace*{2mm} +\ifnum\countauthors<\AuthorCollaborationLimit + #1\ifmodern\iflongauthor\baselineskip=12pt\else\vskip2pt\fi\else\baselineskip=12pt\fi\fi +\ifnum\countauthors=\AuthorCollaborationLimit + #1\ifmodern\iflongauthor\baselineskip=12pt\else\vskip2pt\fi\else\baselineskip=12pt\fi\fi +\iflongauthor\vskip-12pt\ifnum\countauthors>\AuthorCollaborationLimit\iftwelvepoint\vskip-3pt\else\iftwocolstyle\else\vskip-6pt\fi\fi\fi% +\fi +}% +}% +\else +%% older version +\renewcommand\affiliation[1]{% + \move@AU\move@AF% + \begingroup% + \@affiliation{%\hspace*{2mm} + #1\ifmodern\iflongauthor\baselineskip=12pt\else\vskip2pt\fi\fi}% +}% +\fi %% end switch for longauthor + + +% ABSTRACT +\def\frontmatter@abstractfont{\normalsize\parindent=9pt +}% +%\def\frontmatter@abstractwidth{6in} +\def\frontmatter@preabstractspace{12pt} +\def\frontmatter@postabstractspace{12pt} + +\def\abstractname{ABSTRACT} +\long\def\frontmatter@abstractheading{% + \begingroup + \centering + \abstractname + \vskip 1mm + \par + \endgroup +}% + +\newif\ifabstract% +\renewenvironment{frontmatter@abstract}{% + \aftermaketitle@chk{\begin{abstract}}% +\global\abstracttrue + \global\setbox\absbox\vbox\bgroup + \color@begingroup + \columnwidth\textwidth + \hsize\columnwidth + \@parboxrestore + \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote)}\c@mpfootnote\z@ % should be footnote, not mpfootnote? +% \let\@footnotetext\frontmatter@footnotetext + \minipagefootnote@init + \let\set@listindent\set@listindent@ + \let\@listdepth\@mplistdepth \@mplistdepth\z@ + \let@environment{description}{frontmatter@description}% + \@minipagerestore + \@setminipage + \frontmatter@abstractheading + \frontmatter@abstractfont +% \let\footnote\mini@note + \expandafter\everypar\expandafter{\the\everypar\addcontents@abstract\everypar{}}% +\ifnumlines\let\go\linenumbers\else\let\go\relax\fi\go +}{% +\ifnumlines\let\go\endlinenumbers\else\let\go\relax\fi\go + \par + \unskip + \minipagefootnote@here + \@minipagefalse %% added 24 May 89 + \color@endgroup +\egroup% end setbox\absbox +}% + +\let\abstract\frontmatter@abstract + +\def\frontmatter@abstract@produce{% + \par + \preprintsty@sw{% + \do@output@MVL{% + \vskip\frontmatter@preabstractspace + \vskip200\p@\@plus1fil + \penalty-200\relax + \vskip-200\p@\@plus-1fil + }% + }{% + \addvspace{\frontmatter@preabstractspace}% + }% + \begingroup + \dimen@\baselineskip + \setbox\z@\vtop{\unvcopy\absbox}% + \advance\dimen@-\ht\z@\advance\dimen@-\prevdepth + \@ifdim{\dimen@>\z@}{\vskip\dimen@}{}% + \endgroup + \begingroup + \prep@absbox +\unvbox\absbox + \post@absbox + \endgroup + \@ifx{\@empty\mini@notes}{}{\mini@notes\par}% + \addvspace\frontmatter@postabstractspace +\global\abstractfalse +}% + +\newif\ifbib + + +% **************************************** +% * KEYWORDS * +% **************************************** + + + \def\@keys@name{\textit{Keywords:}\/~\mbox{}}% + +\newlength{\keys@width} +\def\frontmatter@keys@format{\ifmodern\vskip0pt\else\vspace*{0.5mm}\fi% + \settowidth{\keys@width}{\normalsize\@keys@name}% + \rightskip=0.5in\leftskip=\rightskip\parindent=0pt% + \hangindent=\keys@width\hangafter=1\normalsize}% +\def\@keywords@produce#1{% + \showKEYS@sw{% + \begingroup% + \frontmatter@keys@format% + \@keys@name#1\par + \endgroup + }{% + \@if@empty{#1}{}{% + \class@warn{If you want your keywords to appear in your output, use document class option showkeys}% + }% + }% +}% + +\let\subjectheadings=\keywords + + +% **************************************** +% * FOOTNOTES * +% **************************************** + +%% legacy notes and footnote code + +% Footnotes on the last page: user issues \lastpagefootnotes. It catches all +% footnotes and issues them before \begin{refernces} or +% \begin{\thebibliography} or \begin{appendix}, whichever comes first, +% at the end of right column. +%% ??? +\newcounter{lastfootnote} +\let\orig@footnote=\footnote +% +\def\spit@out@footnotes@{\addtocounter{footnote}{-\c@lastfootnote}\vspace*{-\baselineskip}\vspace*{\skip\footins}\bgroup\footnotesize\lastfootnote\par\egroup\let\footnote=\orig@footnote} +% +\let\spit@out@footnotes\relax +% +\long\def\lastpagefootnotes{% +\raggedbottom% Have to use flushbottom with revtex4-1 but it eats away + % last page footnotes +\setcounter{lastfootnote}{0} +\long\gdef\lastfootnote{\mbox{}} +\let\spit@out@footnotes\spit@out@footnotes@ +\long\def\footnote##1{\refstepcounter{lastfootnote}\footnotemark\g@addto@macro\lastfootnote{\\[\footnotesep]\refstepcounter{footnote}\mbox{}\hspace*{3mm}\textsuperscript{\thefootnote}~##1}} +% We need to mess with footnotes in appendix only if it is in a +% different mode (twocol vs onecol) than the main text +\def\mess@with@appendix@footnotes{ +\BeforeBegin{appendix}{\spit@out@footnotes\let\spit@out@footnotes\relax} +\BeforeEnd{appendix}{\spit@out@footnotes\let\spit@out@footnotes\relax} +\AfterEnd{appendix}{\let\footnote=\orig@footnote} +} + +\if@two@col + \if@two@col@app\else + \mess@with@appendix@footnotes + \fi +\fi + +\BeforeBegin{references}{\spit@out@footnotes\let\spit@out@footnotes\relax} +\BeforeBegin{thebibliography}{\spit@out@footnotes\let\spit@out@footnotes\relax} +% in case \lastpagefootnotes were given inside \begin{appendix}\end{appendix}, +\AfterEnd{references}{\let\footnote=\orig@footnote} +\AfterEnd{thebibliography}{\let\footnote=\orig@footnote} +} +\let\lastpagefootnote=\lastpagefootnotes + +%% probably not needed: +\def\notetoeditor#1{}% % We do not need notes to editor in the preprint +\def\placetable#1{}% % We do not need notes to editor in the preprint +\def\placefigure#1{}% % We do not need notes to editor in the preprint + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifdoublespace %used for manuscript +\footnotesep 12pt +\skip\footins 36pt +\else +\footnotesep 12pt +\skip\footins 24pt +\fi + +\let\footnoterule\relax + +\def\@makefntext#1{\mbox{}\hspace*{3mm}\@makefnmark~#1} + + +% **************************************** +% * SECTIONS * +% **************************************** + +\setcounter{secnumdepth}{3} + +\newif\if@firstsection \@firstsectiontrue + +\def\section{% +\if@firstsection + \maketitle +\global\@firstsectionfalse + \setcounter{footnote}{\thefront@matter@foot@note}% + \let\footnotetext=\old@foot@note@text + \let\footnotemark=\old@foot@note@mark + %ADW: start text on first page + %\clearpage + \if@two@col + \twocolumngrid + \fi +\fi + \@startsection{section}{1}{\z@}{9pt plus 1pt minus + 1pt}{4pt}{\apjsecfont\center}} + +\def\subsection{\@startsection{subsection}{2}{\z@}{9pt plus 1pt minus 1pt}{4pt}% + {\normalsize\itshape \center}} + +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {2ex plus 1ex minus .2ex}{1ex plus .2ex}{\small\itshape \center}} + +\def\paragraph{\@startsection{paragraph}{4}{\z@}% + {1.5ex plus 1ex minus .2ex}{0pt}{\small\itshape}} + +\def\subparagraph{\@startsection{subparagraph}{5}{\z@}% + {1ex plus 1ex minus .2ex}{-0.5\parindent}{\small\itshape}} + + +\def\thesection{\arabic{section}} +\def\thesubsection{\thesection.\arabic{subsection}} +\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} +\def\theparagraph{\thesubsubsection.\arabic{paragraph}} +\def\p@section {} +\def\p@subsection {} +\def\p@subsubsection {} +\def\p@paragraph {} +\def\p@subparagraph {} + + +\def\sec@upcase#1{\uppercase{#1}} +\def\subsec@upcase#1{\relax{#1}} + +% +% How the section number will appear in the section title - AV +\def\ApjSectionMarkInTitle#1{#1.\ } +\def\ApjSectionpenalty{0} + + +\def\@sect#1#2#3#4#5#6[#7]#8% +{\ifnum#2=1\setbox0=\hbox{\def\label##1{\gdef\templabel{##1}}#7}\fi +\@tempskipa #5\relax + \ifdim \@tempskipa >\z@ \begingroup + #6\relax + \ifnum #2>\c@secnumdepth \def \@svsec {}\else + \refstepcounter{#1} \edef \@svsec {\ApjSectionMarkInTitle + {\csname the#1\endcsname}}\fi + \@hangfrom {\hskip #3\relax + \ifnum #2=1{\secnum@size {\rm\@svsec~}}% + \else {\subsecnum@size {\rm\@svsec~}}\fi }% + {\interlinepenalty \@M + \ifnum #2=1\sec@upcase{#8}% + \else \subsec@upcase{#8}\fi\par}\endgroup + \csname #1mark\endcsname {#7}\addcontentsline{toc}{#1}% + {\ifnum #2>\c@secnumdepth \else \protect \numberline + {\csname the#1\endcsname }\fi #7}% + \else + \ifnum #2>\c@secnumdepth \def \@svsec {}\else + \refstepcounter{#1} \edef \@svsec {\ApjSectionMarkInTitle + {\csname the#1\endcsname}}\fi + \def \@svsechd {#6\hskip #3% + \ifnum #2=1{\secnum@size{\rm\@svsec~}}\else{\subsecnum@size{\rm\@svsec~}}\fi% + \ifnum #2=1\sec@upcase{#8}\else\subsec@upcase{#8}\fi% + \ifnum #2=4\hskip 0.4ex{\rm ---}\fi% + \csname #1mark\endcsname {#7}\addcontentsline{toc}{#1}% + {\ifnum #2>\c@secnumdepth \else \protect \numberline {\csname + the#1\endcsname }\fi #7}}\fi \@xsect {#5} \penalty \ApjSectionpenalty +%-refstepcounter is now within a group. So \@currentlabel, which is normally +%-set by \refstepcounter is hidden within a group. Need to set it manually. +\protected@edef\@currentlabel{\csname p@#1\endcsname\csname +the#1\endcsname} +\expandafter\ifx\csname templabel\endcsname\relax +\let\go\relax +\else +\def\go{\label{\templabel}}\fi\go +\let\templabel\relax +} + +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M + \sec@upcase{#5}\par}\endgroup + \else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi + \@xsect{#3} +% MM: +\penalty \ApjSectionpenalty} + + +\def\acknowledgments{\vskip 5.8mm plus 1mm minus 1mm} +\let\acknowledgements=\acknowledgments % second spelling + + +% **************************************** +% * APPENDIX * +% **************************************** + +\newcounter{remember@figure@num} +\newcounter{remember@table@num} + + +% this was an environment earlier, which doesn't make sense since we don't +% do \begin{appendix}...\end{appendix}. Changed to \appendix which is how it is used. + +% numberedappendix: Needed to label appendix sections A, B, . +% appendixfloats: Needed. ?? + +\newif\ifappendixon +\def\appendix{ +\global\appendixontrue +\onecolumngrid +%\clearpage +% \vrule used for extra space; otherwise revtex4-1 sometimes eats +% away the last line before appendix + \noindent\mbox{}\vrule height 24pt width0pt\hfill{\apjsecfont APPENDIX}\hfill\mbox{}\par + \nopagebreak\medskip\@nobreaktrue\def\ApjSectionpenalty{\@M} + \@firstsectionfalse + \setcounter{section}{0} + \setcounter{subsection}{0} + \setcounter{equation}{0} +%% +\ifletteredappendix + \def\thesection{\Alph{section}} + \def\theequation{\hbox{\Alph{section}\arabic{equation}}} +%% these are NOT supposed to reset to zero +%\setcounter{table}{0} +%\setcounter{figure}{0} +\fi +%% +\if@number@appendix@floats +% we don't want to set equations to zero in appendix, because there +% might then be two equation 1's, etc., confusing for cross referencing. +%\setcounter{equation}{0} + \def\thesection{\Alph{section}} + \def\theequation{\hbox{\Alph{section}\arabic{equation}}} + \def\section{ +\@startsection {section}{1}{\z@} + {10pt}{5pt}{\centering\scshape\apjsecfont}} +\else +% Do not use appendix numbers in the titles + \def\ApjSectionMarkInTitle{\AppendixApjSectionMarkInTitle} +\fi +} +% + +%% + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** + +\renewenvironment{references}[0]{ + \onecolumngrid + \par + \vspace{10pt plus 3pt} + \noindent \makebox[\textwidth][c]{\small\scshape REFERENCES} + \par + \vspace*{4pt plus 3pt} + \set@column@hsize{2}\twocolumngrid + \parindent=0cm \parskip=0cm + \def\baselinestretch{1.0} + \footnotesize \baselineskip=\baselinestretch\bibbaselineskip plus 1pt + minus 1pt \interlinepenalty \@M + \hyphenpenalty=10000 + \frenchspacing % AV - to get right spacing after ``et al.'' + \def\refpar{\par\hangindent=1.2em\hangafter=1}} +{ + \onecolumngrid +} + +% redefine thebibliography + +% remove numbers from the reference list +\def\@biblabel#1{\relax} + +\newskip\bibskip +\bibskip=0pt plus 1pt +\let\savebibitem\bibitem +\def\bibitem{\vskip\bibskip\savebibitem} +\newdimen\bibindent +\renewenvironment{thebibliography}[1]{\global\bibtrue + +\onecolumngrid +\vspace{20pt} +\goodbreak + \hbox to\textwidth{\hss\normalsize REFERENCES\hss} +\vspace{6pt}\parskip=0pt +\twocolumngrid +\par + \raggedright +\small +\ifmodern\else + \vspace{10pt plus 3pt}\fi +\par +\topsep=0pt + \list{}% + { + \parindent=0pt \parskip=1pt plus 1pt \parsep=0pt % AV + \bibindent=0pt % +\ifmodern\vskip-12pt +\baselineskip=13pt plus 1pt +\else +\ifdoublespace +\baselineskip=20pt +\else +\baselineskip=13pt plus 1pt \fi\fi \interlinepenalty \@M % AV + \frenchspacing % AV - to get right spacing after ``et al.'' + \hyphenpenalty=10000 + \itemindent=-1.0em % + \itemsep=0pt % + \listparindent=0pt % + \settowidth\labelwidth{0pt} % + \labelsep=0pt % + \leftmargin=1.0em + \advance\leftmargin\labelsep +%%% \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\relax}}% + \sloppy\clubpenalty10000\widowpenalty10000% + \sfcode`\.\@m\relax +%%%\item[] This May be necessary, but causes extra vertical space in first column +%%% of the bibliography. +} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% +\endlist + \onecolumngrid % to balance references +\global\bibfalse +\newpage + } + +% %% AV: + +\def\reference{\@ifnextchar\bgroup {\@reference} + {\@latexerr{Missing key on reference command} + {Each reference command should have a key corresponding to a markcite somewhere in the text}}} +\def\@reference#1{\refpar} + +%% subtitle header and journal info, legacy, probably not needed +% \def\submitted#1{\gdef\@submitted{#1}} +% \let\slugcomment\submitted % slugcomment == submitted +% \submitted{Draft version \today} +% \journalinfo{\@submitted} + + \def\journalinfo#1{\gdef\@journalinfo{#1}} + \journalinfo{Draft version \today} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Equations % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% EQNARRAY with reduced spacing around tab characters - AV +\def\eqnarray{% + \stepcounter{equation}% + \def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue + \setlength{\arraycolsep}{0.25\arraycolsep} + \m@th + \global\@eqcnt\z@ + \tabskip\@centering + \let\\\@eqncr + $$\everycr{}\halign to\displaywidth\bgroup + \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel + &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil + &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep + $\displaystyle{##}$\hfil\tabskip\@centering + &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup + \tabskip\z@skip + \cr + } + +% **************************************** +% * TABLES AND FIGURES * +% **************************************** + +\def\@arstrut@hline@clnc{0.5\p@}% % Klootch: magic number + +\setcounter{topnumber}{7} + +\setlength{\belowcaptionskip}{4pt}% +\setlength{\abovecaptionskip}{5pt} + +\setlength{\textfloatsep}{9pt} +\setlength{\dbltextfloatsep}{0pt} + +% \addtolength{\textfloatsep}{17mm plus 10mm minus 10mm} + % \addtolength{\dbltextfloatsep}{7mm plus 10mm minus 10mm} + + +\renewcommand{\topfraction}{1.0} +\renewcommand{\bottomfraction}{1.0} +\renewcommand{\textfraction}{0.0} +\renewcommand{\dbltopfraction}{0.85} +\renewcommand{\dblfloatpagefraction}{0.85} +\setcounter{topnumber}{9} +\setcounter{bottomnumber}{9} +\setcounter{totalnumber}{20} +\setcounter{dbltopnumber}{9} + +% Copied from revtex4.cls; without it, captions are centered +\def\@xfloat@prep{% + \let\footnote\footnote@latex + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}% + \c@mpfootnote\z@ + \let\@footnotetext\@mpfootnotetext + \let\H@@footnotetext\@mpfootnotetext + \let\@makefntext\@mpmakefntext +}% + + +%%%%%%%%%%%% \cutinhead + +%% Number of \pt@ncol set when \tablecolumns{} used at beginning of +%% deluxetable. + +\def\@ptabularcr{\\} +\newcommand\cutinhead[1]{% + \noalign{\vskip 1.5ex}% + \hline + \@ptabularcr + \noalign{\vskip -1.5ex}% + \multicolumn{\pt@ncol}{c}{#1}% + \@ptabularcr + \noalign{\vskip .8ex}% + \hline + \@ptabularcr + \noalign{\vskip -2ex}% +}% + +\newcommand\sidehead[1]{% + \noalign{\vskip 1.5ex}% +% \hline +% \@ptabularcr +% \noalign{\vskip -1.5ex}% + \multicolumn{\pt@ncol}{l}{#1}% + \@ptabularcr + \noalign{\vskip .8ex}% +% \hline +% \@ptabularcr +% \noalign{\vskip -2ex}% +}% + + +%% these don't seem to be relevant: +\newcommand\figcaption{\@testopt{\@xfigcaption}{}}% +%% suggested by Joern Wilms +\def\@figcaption#1{{\def\@captype{figure}\caption{\footnotesize #1}}} +\def\@xfigcaption[#1]#2{{\def\@captype{figure}\caption{\footnotesize +#2}}} + +\def\thefigure{\@arabic\c@figure} + +\def\fnum@figure{{\footnotesize{\@eapj@cap@font\rm +\mbox{\@eapj@figname~\thefigure}% <== was period here +}}} + +\def\thetable{\@arabic\c@table} +%%% Table captions without making a floating table +\def\tabcaption{\@ifnextchar[{\@xtabcaption}{\@tabcaption}} +\def\@tabcaption#1{{\def\@captype{table}\caption{#1}}} +\def\@xtabcaption[#1]#2{{\def\@captype{table}\caption{#2}}} +\def\fnum@table{{\@eapj@cap@font \@eapj@tabname~\thetable}} + + \let\fnum@ptable=\fnum@table + \def\fnum@ptablecont{{\centering{\scshape Table~\thetable}---{\itshape + Continued}}}% + \long\def\@make@caption@text#1#2{% + {\small\centering#1{\scshape #2}\par\vskip1.4ex} + }% + +\long\def\@makecaption@plano@cont#1#2{% + {\small \centering#1\par}\vskip1.4ex\relax +}% + + +%% Commands from aastex.cls: +\newcommand\dataset{\@testopt\@dataset{[}}% +\def\@dataset[#1]#2{#2}% +\newcommand\facility{\@testopt\@facility{[}}% +\def\@facility[#1]#2{{\vskip6pt{\large\it Facility:} #2}}% + +\newcommand\facilities{\@testopt\@facilities{[}}% +\def\@facilities[#1]#2{{\vskip6pt{\large\it Facilities:} #2}}% + +\newcommand\software{\@testopt\@software{[}}% +\def\@software[#1]#2{{\vskip6pt{\large\it Software:} #2}}% + +\newcommand\object{\@testopt\@object{[}}% +\def\@object[#1]#2{#2}% +\newcommand\objectname{\@testopt\@objectname{[]}}% +\def\@objectname[#1]#2{#2}% +\newlength{\plot@width} +\def\eps@scaling{1.0}% +\newcommand\epsscale[1]{\def\eps@scaling{#1}}% +\newcommand\plotone[1]{% + \centering + \leavevmode + \setlength{\plot@width}{0.85\linewidth} + \includegraphics[width={\eps@scaling\plot@width}]{#1}% +}% +\newcommand\plottwo[2]{% + \centering + \leavevmode + \setlength{\plot@width}{0.425\linewidth} + \includegraphics[width={\eps@scaling\plot@width}]{#1}% + \hfil + \includegraphics[width={\eps@scaling\plot@width}]{#2}% +}% +\newcommand\plotfiddle[7]{% + \centering + \leavevmode + \vbox\@to#2{\rule{\z@}{#2}}% + \includegraphics[% + scale=#4, + angle=#3, + origin=c + ]{#1}% +}% +\newcommand\figurenum[1]{% + \def\thefigure{#1}% + \let\@currentlabel\thefigure + \addtocounter{figure}{\m@ne}% +}% + +\newcommand\phn{\phantom{0}}% +\newcommand\phd{\phantom{.}}% +\newcommand\phs{\phantom{$-$}}% +\newcommand\phm[1]{\phantom{#1}}% +\let\la=\lesssim % For Springer A&A compliance... +\let\ga=\gtrsim +\newcommand\sq{\mbox{\rlap{$\sqcap$}$\sqcup$}}% +\newcommand\arcdeg{\mbox{$^\circ$}}% +\newcommand\arcmin{\mbox{$^\prime$}}% +\newcommand\arcsec{\mbox{$^{\prime\prime}$}}% +\newcommand\fd{\mbox{$.\!\!^{\mathrm d}$}}% +\newcommand\fh{\mbox{$.\!\!^{\mathrm h}$}}% +\newcommand\fm{\mbox{$.\!\!^{\mathrm m}$}}% +\newcommand\fs{\mbox{$.\!\!^{\mathrm s}$}}% +\newcommand\fdg{\mbox{$.\!\!^\circ$}}% +\newcommand\farcm@mss{\mbox{$.\mkern-4mu^\prime$}}% +\let\farcm\farcm@mss +\newcommand\farcs@mss{\mbox{$.\!\!^{\prime\prime}$}}% +\let\farcs\farcs@mss +\newcommand\fp{\mbox{$.\!\!^{\scriptscriptstyle\mathrm p}$}}% +\newcommand\micron{\mbox{$\mu$m}}% +\def\farcm@apj{% + \mbox{.\kern -0.7ex\raisebox{.9ex}{\scriptsize$\prime$}}% +}% +\def\farcs@apj{% + \mbox{% + \kern 0.13ex.% + \kern -0.95ex\raisebox{.9ex}{\scriptsize$\prime\prime$}% + \kern -0.1ex% + }% +}% + + +\newcommand\ion[2]{#1$\;${% +\ifx\@currsize\normalsize\small \else +\ifx\@currsize\small\footnotesize \else +\ifx\@currsize\footnotesize\scriptsize \else +\ifx\@currsize\scriptsize\tiny \else +\ifx\@currsize\large\normalsize \else +\ifx\@currsize\Large\large +\fi\fi\fi\fi\fi\fi +\rmfamily\@Roman{#2}}\relax}% + +\renewcommand\case[2]{\mbox{$\frac{#1}{#2}$}}% +\renewcommand\slantfrac{\case}% +\newcommand\onehalf{\slantfrac{1}{2}}% +\newcommand\onethird{\slantfrac{1}{3}}% +\newcommand\twothirds{\slantfrac{2}{3}}% +\newcommand\onequarter{\slantfrac{1}{4}}% +\newcommand\threequarters{\slantfrac{3}{4}}% +\newcommand\ubvr{\mbox{$U\!BV\!R$}}%% UBVR system +\newcommand\ub{\mbox{$U\!-\!B$}}% % U-B +\newcommand\bv{\mbox{$B\!-\!V$}}% % B-V +\renewcommand\vr{\mbox{$V\!-\!R$}}% % V-R ++ +\newcommand\ur{\mbox{$U\!-\!R$}}% % U-R + +%% need this change so that it works correctly in tables: +{\catcode`\$=\active +\gdef\nodata{ ~$\cdots$~ }}% + +\newcommand\diameter{\ooalign{\hfil/\hfil\crcr\mathhexbox20D}}% +\newcommand\degr{\arcdeg}% +\newcommand\Sun{\sun}% +\newcommand\Sol{\sun}% +\newcommand\sun{\odot}% +\newcommand\Mercury{\astro{\char1}}% Mercury symbol, "1" +\newcommand\Venus{\astro{\char2}}% Venus symbol, "2" +\newcommand\Earth{\earth}% +\newcommand\Terra{\earth}% +\newcommand\earth{\oplus}% +\newcommand\Mars{\astro{\char4}}% Mars symbol, "4" +\newcommand\Jupiter{\astro{\char5}}% Jupiter symbol, "5" +\newcommand\Saturn{\astro{\char6}}% Saturn symbol, "6" +\newcommand\Uranus{\astro{\char7}}% Uranus symbol, "7" +\newcommand\Neptune{\astro{\char8}}% Neptune symbol, "8" +\newcommand\Pluto{\astro{\char9}}% Pluo symbol, "9" +\newcommand\Moon{\astro{\char10}}% Moon symbol, "M" +\newcommand\Luna{\Moon}% +\newcommand\Aries{\astro{\char11}}% +\newcommand\VEq{\Aries}% vernal equinox (Aries) +\newcommand\Taurus{\astro{\char12}}% +\newcommand\Gemini{\astro{\char13}}% +\newcommand\Cancer{\astro{\char14}}% +\newcommand\Leo{\astro{\char15}}% +\newcommand\Virgo{\astro{\char16}}% +\newcommand\Libra{\astro{\char17}}% +\newcommand\AEq{\Libra}% autumnal equinox (Libra) +\newcommand\Scorpius{\astro{\char18}}% +\newcommand\Sagittarius{\astro{\char19}}% +\newcommand\Capricornus{\astro{\char20}}% +\newcommand\Aquarius{\astro{\char21}}% +\newcommand\Pisces{\astro{\char22}}% + + +\newcommand\sbond{\chem@bnd{\@sbnd}}% +\newcommand\dbond{\chem@bnd{\@dbnd}}% +\newcommand\tbond{\chem@bnd{\@tbnd}}% +\def\chem@bnd#1{% + {% + \kern.1em\relax + \setbox\z@\hbox{M}% + \dimen@ii.8em\relax + \p@=.1em\relax + \dimen@.5\ht\z@\dimen@i-\dimen@ + \advance\dimen@1.5\p@\advance\dimen@i-1.0\p@ + #1% + \kern.1em\relax + }% + }% +\def\@sbnd{% + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@dbnd{% + \advance\dimen@-0.5\p@\advance\dimen@i0.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@tbnd{% + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% + +\newcommand\anchor[2]{#2}% +\renewcommand\url{\@dblarg\@url}% +\def\@url[#1]{\anchor{#1}}% + +\let\jnl@style=\rmfamily +\def\ref@jnl#1{{\jnl@style#1}}% +\newcommand\aj{\ref@jnl{AJ}}% % Astronomical Journal +\newcommand\araa{\ref@jnl{ARA\&A}}% % Annual Review of Astron and Astrophys +\renewcommand\apj{\ref@jnl{ApJ}}% % Astrophysical Journal ++ +\newcommand\apjl{\ref@jnl{ApJL}} % Astrophysical Journal, Letters +\newcommand\apjs{\ref@jnl{ApJS}}% % Astrophysical Journal, Supplement +\renewcommand\ao{\ref@jnl{ApOpt}}% % Applied Optics ++ +\newcommand\apss{\ref@jnl{Ap\&SS}}% % Astrophysics and Space Science +\newcommand\aap{\ref@jnl{A\&A}}% % Astronomy and Astrophysics +\newcommand\aapr{\ref@jnl{A\&A~Rv}}% % Astronomy and Astrophysics Reviews +\newcommand\aaps{\ref@jnl{A\&AS}}% % Astronomy and Astrophysics, Supplement +\newcommand\azh{\ref@jnl{AZh}}% % Astronomicheskii Zhurnal +\newcommand\baas{\ref@jnl{BAAS}}% % Bulletin of the AAS +\newcommand\icarus{\ref@jnl{Icarus}}% % Icarus +\newcommand\jrasc{\ref@jnl{JRASC}}% % Journal of the RAS of Canada +\newcommand\memras{\ref@jnl{MmRAS}}% % Memoirs of the RAS +\newcommand\mnras{\ref@jnl{MNRAS}}% % Monthly Notices of the RAS +\renewcommand\pra{\ref@jnl{PhRvA}}% % Physical Review A: General Physics ++ +\renewcommand\prb{\ref@jnl{PhRvB}}% % Physical Review B: Solid State ++ +\renewcommand\prc{\ref@jnl{PhRvC}}% % Physical Review C ++ +\renewcommand\prd{\ref@jnl{PhRvD}}% % Physical Review D ++ +\renewcommand\pre{\ref@jnl{PhRvE}}% % Physical Review E ++ +\renewcommand\prl{\ref@jnl{PhRvL}}% % Physical Review Letters +\newcommand\pasp{\ref@jnl{PASP}}% % Publications of the ASP +\newcommand\pasj{\ref@jnl{PASJ}}% % Publications of the ASJ +\newcommand\qjras{\ref@jnl{QJRAS}}% % Quarterly Journal of the RAS +\newcommand\skytel{\ref@jnl{S\&T}}% % Sky and Telescope +\newcommand\solphys{\ref@jnl{SoPh}}% % Solar Physics +\newcommand\sovast{\ref@jnl{Soviet~Ast.}}% % Soviet Astronomy +\newcommand\ssr{\ref@jnl{SSRv}}% % Space Science Reviews +\newcommand\zap{\ref@jnl{ZA}}% % Zeitschrift fuer Astrophysik +\renewcommand\nat{\ref@jnl{Nature}}% % Nature +\newcommand\iaucirc{\ref@jnl{IAUC}}% % IAU Cirulars +\newcommand\aplett{\ref@jnl{Astrophys.~Lett.}}% % Astrophysics Letters +\newcommand\apspr{\ref@jnl{Astrophys.~Space~Phys.~Res.}}% % Astrophysics Space Physics Research +\newcommand\bain{\ref@jnl{BAN}}% % Bulletin Astronomical Institute of the Netherlands +\newcommand\fcp{\ref@jnl{FCPh}}% % Fundamental Cosmic Physics +\newcommand\gca{\ref@jnl{GeoCoA}}% % Geochimica Cosmochimica Acta +\newcommand\grl{\ref@jnl{Geophys.~Res.~Lett.}}% % Geophysics Research Letters +\renewcommand\jcp{\ref@jnl{JChPh}}% % Journal of Chemical Physics +\newcommand\jgr{\ref@jnl{J.~Geophys.~Res.}}% % Journal of Geophysics Research +\newcommand\jqsrt{\ref@jnl{JQSRT}}% % Journal of Quantitiative Spectroscopy and Radiative Trasfer +\newcommand\memsai{\ref@jnl{MmSAI}}% % Mem. Societa Astronomica Italiana +\newcommand\nphysa{\ref@jnl{NuPhA}}% % Nuclear Physics A +\newcommand\physrep{\ref@jnl{PhR}}% % Physics Reports +\newcommand\physscr{\ref@jnl{PhyS}}% % Physica Scripta +\newcommand\planss{\ref@jnl{Planet.~Space~Sci.}}% % Planetary Space Science +\newcommand\procspie{\ref@jnl{Proc.~SPIE}}% % Proceedings of the SPIE + +\newcommand\actaa{\ref@jnl{AcA}}% % Acta Astronomica +\newcommand\caa{\ref@jnl{ChA\&A}}% % Chinese Astronomy and Astrophysics +\newcommand\cjaa{\ref@jnl{ChJA\&A}}% % Chinese Journal of Astronomy and Astrophysics +\newcommand\jcap{\ref@jnl{JCAP}}% % Journal of Cosmology and Astroparticle Physics +\newcommand\na{\ref@jnl{NewA}}% % New Astronomy +\newcommand\nar{\ref@jnl{NewAR}}% % New Astronomy Review +\newcommand\pasa{\ref@jnl{PASA}}% % Publications of the Astron. Soc. of Australia +\newcommand\rmxaa{\ref@jnl{RMxAA}}% % Revista Mexicana de Astronomia y Astrofisica + +%% added feb 9, 2016 +\newcommand\maps{\ref@jnl{M\&PS}}% Meteoritics and Planetary Science +\newcommand\aas{\ref@jnl{AAS Meeting Abstracts}}% American Astronomical Society Meeting Abstracts +\newcommand\dps{\ref@jnl{AAS/DPS Meeting Abstracts}}% American Astronomical Society/Division for Planetary Sciences Meeting Abstracts + + + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\let\applopt=\ao + +\newcommand\ulap[1]{\vbox\@to\z@{{\vss#1}}}% +\newcommand\dlap[1]{\vbox\@to\z@{{#1\vss}}}% + + +\newcounter{table@save} + +\def\tablenum#1{% + \setcounter{table@save}{\the\c@table} + \gdef\use@tablenum{1} + \setcounter{table}{#1}\def\thetable{#1}\def\@currentlabel{#1} + %\def\label##1{\save@label{##1}} +}% +\gdef\use@tablenum{0} +\def\restore@tablenum{\if\use@tablenum0\else\setcounter{table}{\the\c@table@save}\addtocounter{table}{\m@ne}\gdef\use@tablenum{0}\fi} + +\def\tabletypesize#1{\gdef\currtabletypesize{#1} +\def\@table@type@size{#1}}% + +\tabletypesize{\small} +\let\tablefontsize=\tabletypesize % for compatibility with old documents + +\gdef\@tablecaption{} +\def\tablecaption#1{\gdef\@tablecaption{#1}} + +\def\LT@endpbox{% + \@finalstrut\@arstrutbox + \egroup + \the\LT@p@ftn + \global\LT@p@ftn{}% + \hfil} + +%% Used for longtable +\def\LT@makecaption#1#2#3{% + \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth +{% +\def \@currentlabel{\thetable} + \sbox\@tempboxa{\small #2. #3}% + \ifdim\wd\@tempboxa>\hsize + \small #2. #3% + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \endgraf\vskip\baselineskip}% + \hss}}} + +\let\LT@makecaption@rtx=\LT@makecaption % to fight redefinition in Revtex-4.1 + +\def\xfigure{figure} +%% from book.cls/ used?? +\long\def\@makecaption#1#2{% + \vskip\abovecaptionskip +\ifx\@captype\xfigure +\gdef \@currentlabel{\thefigure} +\else +\gdef \@currentlabel{\thetable}\fi +%% \small added to keep currtabletypesize from determining size of caption + \sbox\@tempboxa{\small +{\bf #1.} #2}% + \ifdim \wd\@tempboxa >\hsize +\small +{\bf #1.} #2\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfill\box\@tempboxa\hfill}% + \fi + \vskip\belowcaptionskip} + +\newdimen\@abovenoteskip +\newcommand\tablerefs[1]{\ifdim\@abovenoteskip=0pt\global\@abovenoteskip=10pt\fi +{\small\@tableref{\parfillskip\z@ plus1fil\relax #1\endgraf}}}% + +\def\@tableref#1{% + \par + \vspace*{3ex}% + {%\parbox{\pt@width} %%%% + {\hskip1em\rm References. --- #1}\par}% +}% + + +\global\def\tablenotemark#1{{\normalfont\textsuperscript{#1}}} +\global\def\tablenotetext#1#2{\footnotetext[#1]{\currtabletypesize\relax#2}} + +%% redefined by AH below, since it wasn't working with tabular table +\global\def\tablenotetext#1#2{\vskip-8pt\vskip1sp\flushleft{\currtabletypesize +\noindent\hskip1em $^{#1}$ #2}\vskip1sp} + + +\newif\if@table@not@headed + +%% this version of \tablehead doesn't seem to be used, so set to \xyztablehead{} +\def\xyztablehead#1{\@table@not@headedfalse% + \kill + \caption{\\% + \@tablecaption}% + \\\hline\hline% + #1\vrule height 12pt depth 10pt width 0pt\relax +\hskip\tabcolsep\\[.7ex] + \hline\\[-1.5ex] + \endfirsthead + \caption[]{--- \emph{Continued}}\\ + \hline + \hline\\[-1.7ex] + #1\hskip\tabcolsep\\[.7ex] + \hline\\[-1.5ex] + \endhead + \hline + \endfoot% +} + +\newlength{\table@note@skip} +\setlength{\table@note@skip}{0.5ex} +\newlength{\deluxe@table@width} +\newlength{\@d@t@a} +\newcounter{deluxe@table@num} +\newdimen\LTcapwidth + +%% \ignorespaces necessary ++== depth 6pt was depth 3pt +\def\colhead#1{\multicolumn{1}{c}{\vrule depth 6pt width +0pt\relax#1}\ignorespaces} +\def\twocolhead#1{\multicolumn{2}{c}{\hss\vrule depth 6pt width +0pt\relax#1\hss}\ignorespaces} +\def\nocolhead#1{\multicolumn{1}{h}{}\ignorespaces} +\def\dcolhead#1{\multicolumn{1}{c}{$\vrule depth 6pt +width0pt\relax#1$}\ignorespaces} + +%\newcounter{LT@tables} +\def\tablewidth#1{% + \ifdim#1=\z@ + \else + \gdef\@d@t@@flag{1} + \if@filesw\immediate\write\@auxout{% + \gdef\expandafter\noexpand + \csname deluxe@table@width@\romannumeral\c@LT@tables\endcsname + {#1}} + \fi + \fi +} + + +\def\save@natural@width{% + \ifnum\@d@t@@flag=0 + \setlength{\@d@t@a}{0pt}% + \let\@d@t@b=\LT@entry% + \def\LT@entry##1##2{\addtolength{\@d@t@a}{##2}% + }% + \expandafter\csname LT@\romannumeral\c@deluxe@table@num\endcsname + \setlength{\@d@t@a}{-\@d@t@a} + \tablewidth{\the\@d@t@a} + \def\LT@entry{\@d@t@b} + \fi +} + +\def\lt@expand@linewidth@one{\setlength\LTleft{0pt}\setlength\LTright{0pt}} +\def\lt@expand@linewidth@two{@{\extracolsep{0pt plus 1filll}}} +\def\find@table@width{% +%%% set table width using aux file and command \tablewidth + \setcounter{deluxe@table@num}{\c@LT@tables} + \refstepcounter{deluxe@table@num} + \expandafter\ifx\csname deluxe@table@width@\romannumeral\c@deluxe@table@num\endcsname\relax + \def\@d@t@{0.999\linewidth} + \else + \edef\@d@t@{\expandafter\csname deluxe@table@width@\romannumeral\c@deluxe@table@num\endcsname} + \fi + \ifdim\@d@t@<\z@% then natural width is used + \setlength{\deluxe@table@width}{-\@d@t@} + \setlength{\LTcapwidth}{-\@d@t@} + \def\lt@expand@linewidth{\relax} + \def\lt@expand@linewidth@{} + \else% we will enclose table in the minipage of the given width and make + % longtable to span the full minipage width + \ifdim\@d@t@>\z@\else\def\@d@t@{0.999\linewidth}\fi + \setlength{\deluxe@table@width}{\@d@t@} + \setlength{\LTcapwidth}{\@d@t@} + \def\lt@expand@linewidth{\lt@expand@linewidth@one} + \def\lt@expand@linewidth@{\lt@expand@linewidth@two} + \fi +} + +\newlength{\abovedeluxetableskip} +\newlength{\belowdeluxetableskip} +\setlength{\abovedeluxetableskip}{0pt} +\setlength{\belowdeluxetableskip}{0pt} +\setlength{\tabcolsep}{5pt} + +\setlength\doublerulesep{1.5pt} +\newdimen\lastrowheight +\def\set@last@row@height{\setlength{\lastrowheight}{\ht\strutbox}\addtolength{\lastrowheight}{\dp\strutbox}\setlength{\lastrowheight}{-\arraystretch\lastrowheight}} + +\let\tableline=\colrule % Revtex said: Command \tableline is obsolete; Use \colrule instead.. + +%% +\newtoks\DT@p@ftn +\global\def\xtablenotetext@DT#1#2{ + \edef\@tempa{\the\DT@p@ftn\noexpand\tablenotemark{#1}~} + \global\DT@p@ftn\expandafter{\@tempa{\@table@type@size#2}\par}}% + +%%% AH %%%%%%%%%%%%%%%%%%%%% +\let\savedollar$ +\catcode`\$=\active +\let$\savedollar + +%% + +\def\resetdecimals{\global\let\zdoit\relax\global\let\ddoit\relax} + +\def\tableheadfrac#1{} +\newcount\pt@column +\newcount\pt@ncol + +\newcommand\tablecolumns[1]{% + \pt@column=#1\relax + \pt@ncol=#1\relax + \global\let\pt@addcol\@empty +}% + +%% from older version, probably can delete: +\def\@tablecom#1{% + \vspace*{\table@note@skip} +\par +{\parbox{\linewidth}{\hskip1em\rmfamily {\@eapj@cap@font Note}. --- #1}\par}% +}% +\def\@tableref#1{% + \vspace*{\table@note@skip} +\par +{\parbox{\linewidth}{\hskip1em\rmfamily {\@eapj@cap@font References}. --- #1}\par}% +}% +\def\spew@tblnotes{% + \@ifx@empty\tblref@list{}{% + \@tablenotes{\tblref@list}% + \vspace*{\table@note@skip}% + \global\let\tblref@list\@empty + }% + \@ifx@empty\tblnote@list{}{% + \@tablenotes{\tblnote@list}% + \vspace*{\table@note@skip}% + \global\let\tblnote@list\@empty + } + \the\DT@p@ftn% +}% + +%% for notes on emulateapj please see http://hea-www.harvard.edu/~alexey/emulateapj +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% End of code taken from emulateapj.cls %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%%% New as of august 2015: + +%% These commands requested AAS +\newcommand{\noprint}[1]{} +\newcommand{\figsetstart}{{\bf Fig. Set} } +\newcommand{\figsetend}{} +\newcommand{\figsetgrpstart}{} +\newcommand{\figsetgrpend}{} +\newcommand{\figsetnum}[1]{{\bf #1.}} +\newcommand{\figsettitle}[1]{ {\bf #1}} +\newcommand{\figsetgrpnum}[1]{\noprint{#1}} +\newcommand{\figsetgrptitle}[1]{\noprint{#1}} +\newcommand{\figsetplot}[1]{\noprint{#1}} +\newcommand{\figsetgrpnote}[1]{\noprint{#1}} + +%% for url's in document, will allow them to break over lines. +\usepackage{url} + +%% for tables continuing over pages +\usepackage{longtable} + +%% for editing changes +\usepackage{xcolor} +% hyperref link defaults to "blue" (0000ff) as this matches our publisher produced pdf style +\definecolor{xlinkcolor}{cmyk}{1,1,0,0} + + +%% In response to request from AAS + \usepackage[bookmarks=false, % show bookmarks bar? + pdfnewwindow=true, % links in new window + colorlinks=true, % false: boxed links; true: colored links + linkcolor=xlinkcolor, % color of internal links + citecolor=xlinkcolor, % color of links to bibliography + filecolor=xlinkcolor, % color of file links + urlcolor=xlinkcolor, % color of external links +final=true + ]{hyperref} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Additions to AASTeX by Amy Hendrickson, TeXnology Inc, August 17, 2015 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Table Tools, written by Amy Hendrickson +%% for American Astronomical Society +%% August 17, 2015 +%% array package is necessary: +\usepackage{array} + +%%%%%%%% +%% 1) h in table preamble will makes text in that column ignored. + +%%%%%%%% +%% 2) uppercase C L or R will make those columns in math mode. + +%%%%%%%% +%% 3) \begin{splittabular}{}...\end{splittabular} +%% `B' in the preamble will show where the table should be broken. It may +%% be used once in a preamble to break the table into two parts, or +%% two times in a preamble to break the table into three parts. + +%% The resulting table will position left half of table above right half of table. + +%% Care should be taken with \multicolumn so that it won't be broken between +%% the two parts of the table. You may need to shorten the \multicolumn argument +%% for number of columns to be appropriate to the number of columns in +%% the new split table. + +%% In this example, for instance, we start with: +%% \begin{tabular}{ccccccc} +%% \multicolumn{7}{c}{\textsc{Table 1}} +%% and change it to: +%% \begin{splittabular}{ccccBccc} +%% \multicolumn{4}{c}{\textsc{Table 1}}\\ +%% +%% If you'd like to have a table number in the second half of the table, +%% you can ask for a second multicolumn command that will position at the +%% top of the second half of the table: +%% +%% \begin{splittabular}{ccccBccc} +%% \multicolumn{4}{c}{\textsc{Table 1}}&\multicolumn{3}{c}{\textsc{Table 1, Continued}}\\ +%% +%% You can do the same for the caption, and give a Continued caption for +%% the second half of the table. Originally: +%% \multicolumn{7}{c}{\textsc{Log of \textit{HST} Observations for +%% NGC~6388}} +%% Now, changed so that we get a caption on both halves of the table: +%% \multicolumn{4}{c}{\textsc{Log of \textit{HST} Observations for +%% NGC~6388}}&\multicolumn{3}{c}{\textsc{Log of \textit{HST} Observations for +%% NGC~6388, Continued}}\\ +%% +%% Similarly, you can rearrange table notes to appear at the bottom of +%% the appropriate half of the table. For instance, starting with this, +%% which would make table notes both appear at the bottom of the top half +%% of the table: +%% \multicolumn{4}{l}{\small{$\dagger$ Average distance of data set from +%% cluster center.}}\\ +%% \multicolumn{4}{l}{$^{\rm a}$SNAP program.}\\ +%% +%% We may substitute the following: +%% \multicolumn{4}{l}{$^{\rm a}$SNAP program.}&\multicolumn{3}{l}{\small{$\dagger$ Average distance of data set from +%% cluster center.}}\\ +%% +%% Which will produce the first endnote underneath the top half of the +%% table, and the second underneath the bottom half. +%% +%% Another option would be to have both endnotes appear below the bottom +%% half of the table. Easily done: +%% &&&&\multicolumn{3}{l}{$^{\rm a}$SNAP program.}\\ +%% &&&&\multicolumn{3}{l}{\small{$\dagger$ Average distance of data set from +%% cluster center.}}\\ +%% %% %% %% %% %% %% + +%%%%%%%% +%% 4) \colnumbers will make line with column numbers automatic. It will work with splittabular +%% and splitdeluxetable as well as tabular. +%% To use: type in \colnumbers within the table whereever you'd like it to appear, typically +%% underneath the column headers, before the lines of data. + +%%%%%%%% +%% 5) Easy Decimal numbering +%% How to make decimal numbers in tables line up on the period: + +%% Use D (for decimal column) in table preamble for every decimal number. The decimal +%% numbers will use two columns, one for the left part of the decimal +%% number and one for the right part. + +%% D may be used more than once in a table preamble. + +%% If you want to type in a column header over the decimal +%% numbers, please use \multicolumn2c{} to span both columns. + +%% After the column headers, to start decimal numbering, +%% type in \decimals in the body of the table. + +%% When entering decimal numbers +%% remember to leave a space after the decimal number, before the following &. +%% For instance: &22.3 &35.96 \\ + +%% If you'd like an empty entry, please supply a period and a space: & . &. You +%% will not see the period in the resulting table. + +%% example: +% \begin{tabular}{rDD} +% \hline +% &&&\multicolumn2c{\bf More}\\ +% &\multicolumn2c{\bf Decimals}&\multicolumn2c{\bf Decimals}\\ +% \hline +% \hline +% \decimals +% one& . &34.2 \\ +% two &567.0 &21345 \\ +% three&.0 &62.5 \\ +% four&245 &5034.349923 \\ +% five&21 & \\ +% six& &21.6 +% \end{tabular} +%% +% Decimal numbering works within \begin{splittabular}...\end{splittabular} +% \begin{splitdeluxetable} and \end{splitdeluxetable} for tables broken into two +% or three parts. \colnumbers will number the columns counting both sides +% of the decimal number as one column; \tablehead{\colhead{}...} will make +% the column headers position above the two columns used for one decimal +% number as well. +% +% Decimal numbers will be in math mode so that plus and minus signs are printed +% correctly, expressions like `$\pm$ 1.2' or `\pm 1.2', will both work +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\let\savedollar$ +\catcode`\$=\active + +\let\savetabular\tabular +\def\tabular{\catcode`\&=\active\relax\catcode`\$=\active\relax\savetabular} +\long\gdef\eatone{\setbox0=\hbox\bgroup\savedollar\let$\relax} +\gdef\endeatone{\savedollar\egroup\hskip-2\tabcolsep} + + +%% Hide, important because it allows us to split tables horizontally +\newcolumntype{h}{>\eatone c<\endeatone} + +\newcolumntype{C}{>{\bgroup\savedollar\let$\relax}c<{\savedollar\egroup}} +\newcolumntype{L}{>{\bgroup\savedollar\let$\relax}l<{\savedollar\egroup}} +\newcolumntype{R}{>{\bgroup\savedollar\let$\relax}r<{\savedollar\egroup}} + +\newcolumntype{B}{>\eatone c<\endeatone} %% used for \splittabular to indicate break in + %% two or three parts of table + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Split tables into 2 or 3 parts; stack the parts +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Process table preamble + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Count number of columns in preamble + +\newcount\colcount +\newcount\firstcolcount +\newcount\secondcolcount +\newcount\thirdcolcount +\newcount\columncount + +%% \makeatother is necessary to keep @ from being treated as a letter +%% when counting the number of columns in table. +\makeatother +\def\xD{D} +\def\xaster{*} +\newcount\howmanyDs +\newcount\firsthowmanyDs +\newcount\secondhowmanyDs + +\newif\ifD + +\def\countcols#1{\ifcat#1c +\global\advance\colcount by 1\relax\fi +%% +\def\lookforD{#1} +\ifx\lookforD\xD +\global\advance\howmanyDs by 1 +\global\advance\colcount by1\relax +\fi +%% +\futurelet\next\lookatnext +} +\makeatletter + +\def\xeatone#1{\countcols} +\def\xrelax{\relax} + +%% second conditional deals with expressions like @{} in +%% the preamble. +\def\lookatnext{\if\next\xrelax\let\go\relax +\else +\ifx\next\bgroup\let\go\xeatone\else +\let\go\countcols\fi\fi\go} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% reset line counting at \\ + +%% arraycr redefined to match revtex4-1 +\def\new@arraycr{\relax +\global\columncount=0\relax +\global\colheadcount=0\relax +\iffalse {\fi \ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xarraycr} +{\global \@tbpen \intertabularlinepenalty \@xarraycr}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Redefining & is necessary to get around \omit in \multicolumn, +%% which prevents @{} from being used to change the meaning of multicolumn. +%% Now column number and top or bottom table is used to determine whether +%% multicolumn should be turned on or off. +\let\saveampersand& + +\newif\iffirstbox +\newif\ifsecondbox +\newif\ifthirdbox + +\long\gdef\CheckNumberAndSwitch{\unskip\global\advance\columncount by 1\relax% +\saveampersand} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Parse and count preamble + +\def\catchfirstpreamble#1B#2Z{%firstpreamble +\def\leftpreamble{#1\relax} +\colcount=0 +\global\howmanyDs=0\relax +\expandafter\countcols\leftpreamble +\global\firstcolcount\the\colcount +\global\firsthowmanyDs\the\howmanyDs +\ifnum\firstcolcount>25 +\typeout{^^J +----------------------------------------------------- +^^J +Warning! +^^J^^J +Too many columns in first part of table! +^^J^^J +Maximum number of columns in each part of the table is 25. Each `D' counts as two columns. +^^J +----------------------------------------------------- +}\fi +\global\howmanyDs=0\relax +\global\colcount=0\relax +\newcolumntype{A}{#1}} + +\def\catchsecondpreamble#1B#2Z{%secondpreamble +\def\rightpreamble{#2\relax} +\colcount=0 +\expandafter\countcols\rightpreamble +\global\secondcolcount\colcount +\global\secondhowmanyDs\the\howmanyDs +\ifnum\secondcolcount>25 +\typeout{^^J----------------------------------------------------- +^^J +Warning! +^^J^^J +Too many columns in second part of table! +^^J^^J +Maximum number of columns in each part of the table is 25. Each `D' counts as two columns. +^^J +----------------------------------------------------- +}\fi +\global\totalcolumns=\firstcolcount +\global\advance\totalcolumns by \secondcolcount +\global\colcount=0\relax +\newcolumntype{Z}{#2}} + + +\def\catchsecondofthreepreamble#1B#2B#3Z{%secondpreamble +\def\rightpreamble{#2\relax} +\colcount=0 +\howmanyDs=0 +\expandafter\countcols\rightpreamble +\global\secondcolcount\colcount +\global\secondhowmanyDs\the\howmanyDs +\global\totalcolumns=\firstcolcount +\global\advance\totalcolumns by \secondcolcount +\global\colcount=0\relax +\newcolumntype{Z}{#2}} + + +\def\catchthirdpreamble#1B#2B#3Z{%firstpreamble +\def\thirdpreamble{#3} +\colcount=0 +\expandafter\countcols\thirdpreamble +\global\thirdcolcount\the\colcount +\global\advance\totalcolumns by \thirdcolcount +\global\colcount=0\relax +\newcolumntype{z}{#3}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Define splittabular/endsplittabular + +\newcount\PartsOfTable +\newif\ifbreaktab + +\def\checkforB #1B#2B#3B{ +%% defaults, may be used in \colnumbers +\gdef\tabfullpreamble{#1#2#3\relax} +\gdef\firstpreamble{#1} +\gdef\secondpreamble{#2} +\gdef\thirdpreamble{#3} +\ifx\thirdpreamble\empty +\global\PartsOfTable=2 +\else +\global\PartsOfTable=3 +\fi +} + +\def\lookforD#1{\def\zone{#1}\ifx\zone\xD +\global\Dtrue\else\Dfalse\fi} + +\newcount\columnoneandtwo +\newif\ifdonullmulticol + +\newcount\colnumsused +\newcount\loopnum + +\catcode`\&=\active +\let&\CheckNumberAndSwitch +\let$\savedollar + +%sss +\def\splittabular{\catcode`\&=\active +\catcode`\$=\active +\global\colnumbersonfalse +\let\colnumbers\savesplitplaincolnumbers +\let\splitdecimalcolnumbers\savesplitdecimalcolnumbers +\def\decimalcolnumbers{\splitdecimalcolnumbers} +\xsplittabular} + +\def\xsplittabular#1#2\end{{ +\global\firsttimetrue +\let&\CheckNumberAndSwitch +\let$\savedollar +%%% +\def\endtabular{\endarray +\global\let\zdoit\relax +\global\let\ddoit\relax +\global\Dfalse} +\setbox0=\hbox{\def\firstarg{#1}\expandafter\lookforD\firstarg} +\PartsOfTable=0 +\def\tempfullpreamble{#1BB} +\setbox0=\hbox{\expandafter\checkforB\tempfullpreamble} +%% Now PartsOfTable is either =2 or 3 +%% +\global\colnumsused=0 +\global\breaktabtrue +\global\colcount=0 +%% +\ifnum\PartsOfTable=3 +\let\multicolumn\threebreakmulticolumn +\else +\let\multicolumn\breakmulticolumn +\fi +%% +\def\one{#1Z}%% full preamble +\ifnum\PartsOfTable=3 +\expandafter\catchfirstpreamble\one +\expandafter\catchsecondofthreepreamble\one +\expandafter\catchthirdpreamble\one +\makefirstdummycolumns %f +\makeseconddummycolumns %F +\makethirddummycolumns %E +\else %% PartsOfTable=2 +\expandafter\catchfirstpreamble\one +\expandafter\catchsecondpreamble\one +\makefirstdummycolumns %f +\makeseconddummycolumns %F +\fi +%%% +\global\columncount=0 +\ifnum\PartsOfTable=3 +%% For table divided into three parts !! +\firstboxtrue\secondboxfalse\thirdboxfalse +% +\setbox\firsttablebox=\hbox{% +\begin{tabular}{AFE}% +#2\crcr +\end{tabular}} +% +\hbox to \hsize{\hss\unhbox\firsttablebox\hss} +\vskip6pt +\hrule +\vskip6pt +\global\columncount=0 +\firstboxfalse\secondboxtrue\thirdboxfalse +\ifcolnumberson +\let\colnumbers\xplain +\setbox\secondtablebox=\hbox{% +\begin{tabular}{fZE}% fZE +#2\crcr\end{tabular}} +\else +\setbox\secondtablebox=\hbox{ +\begin{tabular}{fZE}% fZE +#2 +\end{tabular}} +\fi +\hbox to \hsize{\hss\unhbox\secondtablebox\hss} +%% +\vskip6pt +\hrule +\vskip6pt +\firstboxfalse\secondboxfalse\thirdboxtrue +\global\columncount=0 +\ifcolnumberson +\let\colnumbers\xplain +\setbox\thirdtablebox=\hbox{% +\begin{tabular}{fFz}% fFz +#2\crcr\end{tabular}} +\else +\setbox\thirdtablebox=\hbox{ +\begin{tabular}{fFz}% fFz +#2 +\end{tabular}} +\fi +\hbox to \hsize{\hss\unhbox\thirdtablebox\hss} +\else +%% +%% For table divided into two parts: +%% +\global\columncount=0 +\secondboxfalse + \setbox\firsttablebox=\hbox{% +\begin{tabular}{AF}% should be AF +#2 +\end{tabular} +} + \hbox to \hsize{\hss\unhbox\firsttablebox\hss} +\vskip6pt +\hrule +\vskip6pt +\global\columncount=0 +\secondboxtrue +\ifcolnumberson +\setbox\secondtablebox=\hbox{\let\colnumbers\xplain +\begin{tabular}{fZ}% should be fZ +#2 +\end{tabular} +} +\else +\setbox\secondtablebox=\hbox{ +\begin{tabular}{fZ}% should be fZ +#2 +\end{tabular} +} +\fi +\hbox to \hsize{\hss\unhbox\secondtablebox\hss} +%% +%% end of conditional testing for 2 or 3 part table: +\fi +%\global\breaktabfalse +} +\firsthowmanyDs=0 +\secondhowmanyDs=0 +\resetdecimals +\end +} + +%yyy +\def\endsplittabular{\global\firsttimefalse\global\colnumbersonfalse +\global\let\splitplaincolnumbers\savesplitplaincolnumbers +\global\breaktabfalse} + +\long\gdef\breakmulticolumn#1#2#3{% +\multispan{#1}% +\let&\CheckNumberAndSwitch +\ifsecondbox% +\ifnum\columncount<\firstcolcount% +\global\donullmulticoltrue% +\else% +\global\donullmulticolfalse% +\fi% +%%% + \else% first box +\ifnum\columncount<\firstcolcount% +\global\donullmulticolfalse% +\else% +\global\donullmulticoltrue% +\fi% +\fi% +\ifdonullmulticol% +\global\advance\colheadcount by 1\relax +\begingroup + \def\@addamp{\if@firstamp \@firstampfalse \else + \@preamerr 5\fi}% + \@mkpream{h}\@addtopreamble\@empty + \endgroup + \def\@sharp{}% +%% comment out \@arstrut to prevent blank line where multicolumn was found +%% on other parts of the table, but not on the current part. + \@arstrut +\@preamble + \null\ignorespaces +\else% +\begingroup + \def\@addamp{\if@firstamp \@firstampfalse \else + \@preamerr 5\fi}% + \@mkpream{#2}\@addtopreamble\@empty + \endgroup + \def\@sharp{#3}% + \@arstrut \@preamble + \null\ignorespaces +\fi% +\global\donullmulticolfalse% +\global\advance\columncount by #1\relax% +\global\advance\columncount-1\relax% +} + + +\long\gdef\threebreakmulticolumn#1#2#3{% +\multispan{#1}% +\columnoneandtwo=\firstcolcount\relax% +\advance\columnoneandtwo by \secondcolcount\relax% +%% +\global\donullmulticoltrue\relax% +\iffirstbox\relax% +\ifnum\columncount<\firstcolcount% +\global\donullmulticolfalse% +\fi\relax% +\ifnum\columncount=\firstcolcount\relax% +\donullmulticoltrue\fi\relax% +\else\relax% +%% +\ifsecondbox% +\ifnum\columncount=\firstcolcount\relax% +\global\donullmulticolfalse\fi\relax% +\ifnum\columncount>\firstcolcount% +\ifnum\columncount<\columnoneandtwo\relax% +\global\donullmulticolfalse\relax% +\fi\fi\relax% +\else\relax% +%%% +\ifthirdbox% +\ifnum\columncount<\columnoneandtwo% +\global\donullmulticoltrue% +\else\relax% +\global\donullmulticolfalse% +\fi\relax% +\fi%% end if third box +\fi%% end if second box +\fi%% end if first box +%% +\ifdonullmulticol% +\begingroup\relax% +\global\advance\colheadcount by 1\relax% + \def\@addamp{\if@firstamp \@firstampfalse \else% + \@preamerr 5\fi}% + \@mkpream{h}\@addtopreamble\@empty% + \endgroup% + \def\@sharp{}% +%% comment out \@arstrut to prevent blank line where multicolumn was found +%% on other parts of the table, but not on the current part. + \@arstrut \@preamble% + \null\ignorespaces +\else% +\begingroup% + \def\@addamp{\if@firstamp \@firstampfalse \else% + \@preamerr 5\fi}% + \@mkpream{#2}\@addtopreamble\@empty% + \endgroup% + \def\@sharp{#3}% + \@arstrut \@preamble% + \null\ignorespaces +\fi% +\global\donullmulticolfalse% +\global\advance\columncount by #1\relax% +\global\advance\columncount-1\relax% +} + +%% First dummy columns is the part of the table that will not print, +%% in this case the first part to the left. +%%\makefirstdummycolumns +%% +%% and second dummy columns +%% \makeseconddummycolumns. +\gdef\makefirstdummycolumns{ +\ifcase\firstcolcount +\or% 1 +\newcolumntype{f}{h} % no D possible +%%%%%%%%%%%%%%%%%% +\or% 2 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hh}%% 0 + \or + \newcolumntype{f}{d} %% 1 + \fi +%%%%%%%%%%%%%%%%%% +\or% 3 + \ifcase\firsthowmanyDs% + \newcolumntype{f}{hhh}% 0 + \or% + \newcolumntype{f}{dh}% 1 + \fi% +%%%%%%%%%%%%%%%%%% +\or% 4 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhh} % 0 + \or + \newcolumntype{f}{dhh} % 1 + \or + \newcolumntype{f}{dd} % 2 + \fi +%%%%%%%%%%%%%%%%%% +\or% 5 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh} % 0 + \or + \newcolumntype{f}{dhhh} % 1 + \or + \newcolumntype{f}{ddh} % 2 + \fi +%%%%%%%%%%%%%%%%%% +\or% 6 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhh} % 0 + \or + \newcolumntype{f}{dhhhh} % 1 + \or + \newcolumntype{f}{ddhh} % 2 + \or + \newcolumntype{f}{ddd} % 3 + \fi +%%%%%%%%%%%%%%% +\or % 7 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhh} % 1 + \or + \newcolumntype{f}{ddhhh} % 2 + \or + \newcolumntype{f}{dddh} % 3 + \fi +%%%%%%%%%%%%%%%%%% +\or % 8 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhh} % 2 + \or + \newcolumntype{f}{dddhh} % 3 + \or + \newcolumntype{f}{dddd} % 4 + \fi +%%%%%%%%%%%%%%%%%% +\or % 9 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhh} % 2 + \or + \newcolumntype{f}{dddhhh} % 3 + \or + \newcolumntype{f}{ddddh} % 4 + \fi +%%%%%%%%%%%%%%%%%% +\or %10 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhh} % 3 + \or + \newcolumntype{f}{ddddhh} % 4 + \or + \newcolumntype{f}{ddddd} % 5 + \fi +%%%%%%%%%%%%%%%%%% +\or % 11 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhh} % 4 + \or + \newcolumntype{f}{dddddh} % 5 + \fi +%%%%%%%%%%%%%%%%%% +\or % 12 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhh} % 4 + \or + \newcolumntype{f}{dddddhh} % 5 + \or + \newcolumntype{f}{dddddd} % 6 + \fi +%%%%%%%%%%%%%%%%%% +\or %13 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhh} % 5 + \or + \newcolumntype{f}{ddddddh} % 6 + \fi +%%%%%%%%%%%%%%%%%% +\or %14 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhh} % 5 + \or + \newcolumntype{f}{ddddddhh} % 6 + \or + \newcolumntype{f}{ddddddd} % 7 + \fi +%%%%%%%%%%%%%%%%%% +\or %15 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhh} % 6 + \or + \newcolumntype{f}{dddddddh} % 7 + \fi +%%%%%%%%%%%%%%%%%% +\or %16 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhh} % 6 + \or + \newcolumntype{f}{dddddddhh} % 7 + \or + \newcolumntype{f}{dddddddd} % 8 +\fi +%%%%%%%%%%%%%%%%%% +\or %17 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhh} % 7 + \or + \newcolumntype{f}{ddddddddh} % 8 +\fi +%%%%%%%%%%%%%%%%%% +\or %18 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhh} % 6 + \or + \newcolumntype{f}{ddddddhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhh} % 8 + \or + \newcolumntype{f}{ddddddddd} % 9 +\fi +%%%%%%%%%%%%%%%%%% +\or %19 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhh} % 8 + \or + \newcolumntype{f}{ddddddddddh} % 9 +\fi +%%%%%%%%%%%%%%%%%% +\or %20 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhh} % 8 + \or + \newcolumntype{f}{dddddddddhh} % 9 + \or + \newcolumntype{f}{dddddddddd} % 10 + \fi +%%%%%%%%%%%%%%%%%% +\or %21 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh h} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhhh} % 8 + \or + \newcolumntype{f}{ddd ddd ddd hhh} % 9 + \or + \newcolumntype{f}{ddd ddd ddd d h} % 10 + \fi +%%%%%%%%%%%%%%%%%% +\or %22 +\ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh hh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhhhh} % 8 + \or + \newcolumntype{f}{ddd ddd ddd hhhh} % 9 + \or + \newcolumntype{f}{ddd ddd ddd dhh} % 10 + \or + \newcolumntype{f}{ddddddddddd} % 11 + \fi +%%%%%%%%%%%%%%%%%% +\or %23 +\ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh hhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhhhhh} % 8 + \or + \newcolumntype{f}{ddd ddd ddd hhhhh} % 9 + \or + \newcolumntype{f}{ddddddddddhhh} % 10 + \or + \newcolumntype{f}{ddddd ddddd dh} % 11 + \fi +%%%%%%%%%%%%%%%%%% +\or %24 +\ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh hhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhhhhhh} % 8 + \or + \newcolumntype{f}{ddd ddd ddd hhhhhh} % 9 + \or + \newcolumntype{f}{ddddddddddhhhh} % 10 + \or + \newcolumntype{f}{ddddd ddddd dhh} % 11 + \or + \newcolumntype{f}{ddddd ddddd dd} % 12 + \fi +%%%%%%%%%%%%%%%%%% +\or %25 +\ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh hhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhhhhhhh} % 8 + \or + \newcolumntype{f}{ddd ddd ddd hhhhhhh} % 9 + \or + \newcolumntype{f}{ddddddddddhhhhh} % 10 + \or + \newcolumntype{f}{dddddddddddhhh} % 11 + \or + \newcolumntype{f}{ddddddddddddh} % 12 + \fi +%%%%%%%%%%%%%%%%%% +\else +\typeout{^^J----------------------------------------------------- ^^J +Warning!^^J^^J +Too many Columns using in Splittabular. +^^J +25 column maximum in +each part of the table.^^J Each`T' counts as two columns. +^^J-----------------------------------------------------^^J} +\fi +} + + +%% Second dummy columns is the part of the table that will not print, +%% in this case the part to the right. +%%\makeseconddummycolumns + +\gdef\makeseconddummycolumns{% +\ifcase\secondcolcount +%0 +\or +%1 +\newcolumntype{F}{h} % no D possible +%%%%%%%%%%%%%%%%%% +\or +%2 + \ifcase\secondhowmanyDs + \newcolumntype{F}{hh}%% 0 + \or + \newcolumntype{F}{d} %% 1 + \fi +%%%%%%%%%%%%%%%%%% +\or +%3 + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhh} % 0 + \or + \newcolumntype{F}{dh} % 1 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhh} % 0 + \or + \newcolumntype{F}{dhh} % 1 + \or + \newcolumntype{F}{dd} % 2 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh} % 0 + \or + \newcolumntype{F}{dhhh} % 1 + \or + \newcolumntype{F}{ddh} % 2 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhh} % 0 + \or + \newcolumntype{F}{dhhhh} % 1 + \or + \newcolumntype{F}{ddhh} % 2 + \or + \newcolumntype{F}{ddd} % 3 + \fi +%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhh} % 1 + \or + \newcolumntype{F}{ddhhh} % 2 + \or + \newcolumntype{F}{dddh} % 3 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhh} % 2 + \or + \newcolumntype{F}{dddhh} % 3 + \or + \newcolumntype{F}{dddd} % 4 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhh} % 2 + \or + \newcolumntype{F}{dddhhh} % 3 + \or + \newcolumntype{F}{ddddh} % 4 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhh} % 3 + \or + \newcolumntype{F}{ddddhh} % 4 + \or + \newcolumntype{F}{ddddd} % 5 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhh} % 4 + \or + \newcolumntype{F}{dddddh} % 5 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhh} % 4 + \or + \newcolumntype{F}{dddddhh} % 5 + \or + \newcolumntype{F}{dddddd} % 6 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhh} % 5 + \or + \newcolumntype{F}{ddddddh} % 6 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhh} % 5 + \or + \newcolumntype{F}{ddddddhh} % 6 + \or + \newcolumntype{F}{ddddddd} % 7 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhh} % 6 + \or + \newcolumntype{F}{dddddddh} % 7 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhh} % 6 + \or + \newcolumntype{F}{dddddddhh} % 7 + \or + \newcolumntype{F}{dddddddd} % 8 +\fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhh} % 7 + \or + \newcolumntype{F}{ddddddddh} % 8 +\fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhh} % 8 + \or + \newcolumntype{F}{ddddddddd} % 9 +\fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhh} % 8 + \or + \newcolumntype{F}{dddddddddh} % 9 +\fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhh} % 8 + \or + \newcolumntype{F}{dddddddddhh} % 9 + \or + \newcolumntype{F}{dddddddddd} % 10 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh h} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhhh} % 8 + \or + \newcolumntype{F}{ddd ddd ddd hhh} % 9 + \or + \newcolumntype{F}{ddd ddd ddd d h} % 10 + \fi +%%%%%%%%%%%%%%%%%% +\or +\ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh hh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhhhh} % 8 + \or + \newcolumntype{F}{ddd ddd ddd hhhh} % 9 + \or + \newcolumntype{F}{ddddddddddhh} % 10 + \or + \newcolumntype{F}{ddddddddddd} % 11 + \fi +%%%%%%%%%%%%%%%%%% +\or +\ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh hhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhhhhh} % 8 + \or + \newcolumntype{F}{ddd ddd ddd hhhhh} % 9 + \or + \newcolumntype{F}{ddddddddddhhh} % 10 + \or + \newcolumntype{F}{ddddd ddddd dh} % 11 + \fi +%%%%%%%%%%%%%%%%%% +\or +\ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh hhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhhhhhh} % 8 + \or + \newcolumntype{F}{ddd ddd ddd hhhhhh} % 9 + \or + \newcolumntype{F}{ddddddddddhhhh} % 10 + \or + \newcolumntype{F}{ddddd ddddd dhh} % 11 + \or + \newcolumntype{F}{ddddd ddddd dd} % 12 + \fi +%%%%%%%%%%%%%%%%%% +\or +\ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh hhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhhhhhhh} % 8 + \or + \newcolumntype{F}{ddd ddd ddd hhhhhhh} % 9 + \or + \newcolumntype{F}{ddddddddddhhhhh} % 10 + \or + \newcolumntype{F}{ddddd ddddd dhhh} % 11 + \or + \newcolumntype{F}{ddddd ddddd ddh} % 12 + \fi +%%%%%%%%%%%%%%%%%% +\else +\typeout{^^J----------------------------------------------------- ^^J +Warning!^^J^^J +Too many Columns using in Splittabular. +^^J +25 column maximum in +each part of the table.^^J Each`D' counts as two columns. +^^J-----------------------------------------------------^^J} +\fi +} + +%% we don't have to worry about D's in this section, fortunately. +\gdef\makethirddummycolumns{ +\ifcase\thirdcolcount +\or\newcolumntype{E}{h} +\or\newcolumntype{E}{hh} +\or\newcolumntype{E}{hhh} +\or\newcolumntype{E}{hhhh} +\or\newcolumntype{E}{hhhhh} +\or\newcolumntype{E}{hhhhhh} +\or\newcolumntype{E}{hhhhhhh} +\or\newcolumntype{E}{hhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhhhhhhh} %% up to 25 columns +\else \typeout{^^J-----------------------------------------------------^^J +Warning! +^^J^^J Too many Columns in Splittabular. +^^J +25 column maximum in +each part of the table.^^J +Each `D' counts as two columns. +^^J-----------------------------------------------------^^J}\fi +} + +%%%%%%%%%%%%%%%%% +%% Colnums + +%% defaults + +\gdef\settabnumdefaults{% +\loopnum=0\relax\loop% +\ifnum\loopnum<31\relax% +\expandafter\gdef\csname tab\the\loopnum\endcsname{% +\multicolumn1{c}{\global\advance\colnumsused by 1\relax% +(\the\colnumsused)}}% +\global\advance\loopnum by1\repeat} + +%%%%%%%%%%%%%%%%%%%%%%%%% +%% this version of countcols is for \colnumbers +\newcount\totalcolumncount +\def\xH{h} + +\makeatother +\def\tabcountcols#1{\ifcat#1c +\global\advance\colcount by 1\relax\fi% +%% +\def\lookforD{#1}% +\ifx\lookforD\xD% +\expandafter\gdef\csname tab\the\colcount\endcsname{% +\multicolumn2{c}{\global\advance\colnumsused by 1\relax% +(\the\colnumsused)}}% +\fi% +\ifx\lookforD\xH% +\expandafter\gdef\csname tab\the\colcount\endcsname{% +\multicolumn1{h}{}}% +\fi% +%% +\futurelet\next\tablookatnext} + +\def\tabxeatone#1{\tabcountcols} + +%% second conditional deals with expressions like @{} in +%% the preamble. +\def\tablookatnext{\if\next\xrelax\let\xgo\relax\else% +\ifx\next\bgroup\let\xgo\tabxeatone\else\let\xgo\tabcountcols\fi\fi\xgo} +\makeatletter +%%%%%%%%%%%%%%% + +\newcount\totalcolumns +\newbox\firsttablebox +\newbox\secondtablebox +\newbox\thirdtablebox +\newif\ifdbreaktab + +%% A loop would be more elegant, of course, but using & in a loop +%% within a table column produces errors. +%% was\tabnumberline, now \colnumbers + +%% Is this test necessary? +%\newif\ifcolumnums + +\newif\ifcolnumberson +\def\deluxecolnumbers{\global\colnumbersontrue} + +\def\colnumbers{\omit\\\omit\xcolnumbers} +\def\xcolnumbers{\global\let\colnumbers\xcolnumbers% +\global\colnumbersontrue\let&\CheckNumberAndSwitch% +\global\colcount=0\relax% +\global\totalcolumncount=0\relax% +%% above here +\settabnumdefaults% +%% Now, change the columns that have `D' to be \multicolumn2c, by redefining +%% the \csname tab\endcsname +%% +\expandafter\tabcountcols\tabfullpreamble% +\global\totalcolumncount=\the\colcount\relax% +\global\colcount=0\relax% +\ifbreaktab\else\ifdbreaktab\else\global\colnumsused=0\relax\fi\fi% +%% +% +\ifdeluxe\ifbreaktab\\\else\\[-6pt]\fi%\hline% not above +\else% +\\[-14pt]\fi% +\ifcase\totalcolumncount% +\or% +\csname tab1\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&%% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname% +\or +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname% +\or%22 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname% +\or% 24 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname% +\or% 25 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname% +\or% 27 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname% +\or% 28 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname% +\or% 29 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname% +\or% 30 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname&\csname tab30\endcsname% +\else% +\typeout{^^J^^J +Sorry, more than 30 columns cannot be numbered with^^J +\string\colnumbers. Please number the columns manually.^^J +Thank you!^^J}\fi% +%\ifbreaktab +\\\hline% below, hline is wanted +%\else +\noalign{\vskip-13pt} +%\vrule height 28pt width0pt %the \vrule is in the line below colnumbers; + % it causes all the vrules on that line to grow to 28pt. + % The -14pt will cause the lower line to overlap the upper line. + % Complication, needed to add this vrule to Z and z in order to + % have it also work for split tabular. +%\fi +} + + +\let\savecolnumbers\colnumbers + +\gdef\plaincolnumbers{% +\omit\\\omit% +\global\colnumbersontrue\let&\CheckNumberAndSwitch% +\global\colcount=0\relax% +\global\totalcolumncount=0\relax% +%% above here +\settabnumdefaults% +%% Now, change the columns that have `D' to be \multicolumn2c, by redefining +%% the \csname tab\endcsname +%% +\expandafter\tabcountcols\tabfullpreamble% +\global\totalcolumncount=\the\colcount\relax% +\global\colcount=0\relax% +\ifbreaktab\else\ifdbreaktab\else\global\colnumsused=0\relax\fi\fi% +%% +\\\ifcase\totalcolumncount% +\or% +\csname tab1\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&%% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname% +\or +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname% +\or%22 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname% +\or% 24 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname% +\or% 25 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname% +\or% 27 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname% +\or% 28 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname% +\or% 29 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname% +\or% 30 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname&\csname tab30\endcsname% +\else% +\typeout{^^J^^J +Sorry, more than 30 columns cannot be numbered with^^J +\string\colnumbers. Please number the columns manually.^^J +Thank you!^^J}\fi% +\\\hline% below, hline is wanted +%\\\noalign{\vskip-30pt} +%\vrule height 28pt width0pt %the \vrule is in the line below colnumbers; + % it causes all the vrules on that line to grow to 28pt. + % The -14pt will cause the lower line to overlap the upper line. + % Complication, needed to add this vrule to Z and z in order to + % have it also work for split tabular. +} + +\let\saveplaincolnumbers\plaincolnumbers + + +\def\splitplaincolnumbers{% +\omit\\\omit% +\xplain} + +\let\savesplitplaincolnumbers\splitplaincolnumbers + +\newif\iffirsttime +\firsttimetrue +\gdef\xplain{% +\global\let\plaincolnumbers\xplain% +\global\colnumbersontrue\let&\CheckNumberAndSwitch% +\global\colcount=0\relax% +\global\totalcolumncount=0\relax% +%% above here +\settabnumdefaults% +%% Now, change the columns that have `D' to be \multicolumn2c, by redefining +%% the \csname tab\endcsname +%% +\expandafter\tabcountcols\tabfullpreamble% +\global\totalcolumncount=\the\colcount\relax% +\global\colcount=0\relax% +\ifbreaktab\else\ifdbreaktab\else\global\colnumsused=0\relax\fi\fi% +%% +\iffirsttime +\\%\hline% above not wanted +\else +\\[-12pt]%\hline% above not wanted +\fi +\ifcase\totalcolumncount% +\or% +\csname tab1\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&%% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname% +\or +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname% +\or%22 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname% +\or% 24 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname% +\or% 25 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname% +\or% 27 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname% +\or% 28 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname% +\or% 29 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname% +\or% 30 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname&\csname tab30\endcsname% +\else% +\typeout{^^J^^J +Sorry, more than 30 columns cannot be numbered with^^J +\string\colnumbers. Please number the columns manually.^^J +Thank you!^^J}\fi% +\\\hline% below, hline is wanted +\iffirsttime +\\\noalign{\vskip-30pt} +\vrule height 28pt width0pt %the \vrule is in the line below colnumbers; + % it causes all the vrules on that line to grow to 28pt. + % The -14pt will cause the lower line to overlap the upper line. + % Complication, needed to add this vrule to Z and z in order to + % have it also work for split tabular. +\fi\global\firsttimefalse +} + +\def\decimalcolnumbers{\crcr\saveplaincolnumbers\\% +\noalign{\global\savetabskip\tabskip +\tabskip=0pt +\global\let\extracolsep\relax +\global\let\ddoit\saveddoit +\global\let\zdoit\savezdoit +\vskip-32pt +}{\vrule height28pt depth0pt width0pt}\relax} + +\def\splitdecimalcolnumbers{\\[-15pt]% +\savesplitplaincolnumbers +\global\colnumbersonfalse +\\\noalign{\vskip-32pt %!!! +\global\savetabskip\tabskip +\tabskip=0pt +\global\let\extracolsep\relax +\global\let\ddoit\saveddoit +\global\let\zdoit\savezdoit +}\vrule height 28pt width0pt %!!! +\global\let\splitdecimalcolnumbers\secondsplitdecimalcolnumbers} + +\def\secondsplitdecimalcolnumbers{\omit\\%[-15pt] +\plaincolnumbers +\global\colnumbersonfalse +\\\noalign{\vskip-26pt %!!! was -28pt +\global\savetabskip\tabskip +\tabskip=0pt +\global\let\extracolsep\relax +\global\let\ddoit\saveddoit +\global\let\zdoit\savezdoit +}\\\relax} + +\let\savesplitdecimalcolnumbers\splitdecimalcolnumbers + +%%AAA +\newif\ifdeluxestar +\expandafter\def\csname +deluxetable*\endcsname{\deluxestartrue\bgroup\floattrue +\hsize=\textwidth +\deluxetable} + +\expandafter\def\csname enddeluxetable*\endcsname{\enddeluxetable +\egroup +\global\colnumbersonfalse +\global\deluxedecimalsfalse +\global\deluxestarfalse +} + +\def\deluxedecimalcolnumbers{\deluxedecimalstrue\colnumbersontrue} +\def\deluxetablecaption#1{\gdef\@tablecaption{#1}} + +\newif\ifstartlongtable +\def\startlongtable{\global\startlongtabletrue} + +\newif\iffloat +\def\floattable{\global\deluxestartrue\global\floattrue} + +%% for equivalent but in \begin...\end form. +\def\floatrotatetable{\global\deluxestartrue\global\floattrue} +\let\endfloatrotatetable\relax + +\def\deluxetable{ +\global\deluxetrue +\catcode`\&=\active +\catcode`\$=\active +\let\tablecaption\deluxetablecaption +\deluxetablecaption{} +%% july 2016 +% \iffloat +% \let\go\ydeluxetable +% \else\let\go\longdeluxetable\fi\go%} +%% aug 2016 +\ifstartlongtable + \ifdeluxestar +\vskip12pt + \if@two@col\onecolumngrid + \vskip12pt + \fi\fi +\let\go\longdeluxetable +\else +\let\go\ydeluxetable +\fi\go +} + +\def\ydeluxetable#1{% +\@ifnextchar[{\xdeluxetable{#1}}{\zdeluxetable{#1}}} + +% x and z are the same, except that xdeluxetable allows optional square bracket arg, like [h]. +\def\xdeluxetable#1[#2]{\global\breaktabtrue +\let\colnumbers\deluxecolnumbers +\global\deluxedecimalsfalse +\let\decimals\deluxedecimals +\let\decimalcolnumbers\deluxedecimalcolnumbers +\let\tablehead\ztablehead +\gdef\tabfullpreamble{#1}%<<== needed +\def\endtabular{\endarray +\global\let\zdoit\relax +\global\let\tdoit\relax +\global\Dfalse} +\global\colnumsused=0 +\global\breaktabtrue +\global\colcount=0 +%% +%%%%%%%%%%%% + \lineskiplimit=\z@ % restore default setting +\ifdeluxestar +\gdef\two{#2}\gdef\checkh{h} +\ifx\two\checkh\onecolumngrid\fi +\begin{table*}[#2]\hsize=\textwidth\else + \begin{table}[#2]\fi +\noindent\setbox\splitbox=\vtop\bgroup% +\currtabletypesize + \vspace*{\abovedeluxetableskip} +%% +\def\startdata##1\enddata{% +\currtabletypesize +\setbox0=\hbox{ +\begin{tabular}{#1} +\pt@head +##1\end{tabular}} +\expandafter\ifx\csname @tablecaption\endcsname\empty\else + +\noindent\hbox +to\hsize{\hss\vtop{\hsize=\wd0 +\caption{\@tablecaption}}\hss}\vskip3pt\fi +\global\setbox3\hbox{% +\begin{tabular}{#1}% +\hline\hline\noalign{\vskip-9pt}% +\pt@head% +##1\omit\\\omit\\\hline\end{tabular}} + +%\noindent\hskip-1.25em %% kludge! but seems necessary +\hbox to\hsize{\hss\copy3\hss} +\global\setbox4\vtop\bgroup\ifdeluxestar\hsize=\textwidth\else\hsize=\wd0\fi\leftskip6pt\parindent-6pt +}} + +\def\zdeluxetable#1{\global\breaktabtrue +\let\colnumbers\deluxecolnumbers +\global\deluxedecimalsfalse +\let\decimals\deluxedecimals +\let\decimalcolnumbers\deluxedecimalcolnumbers +\let\tablehead\ztablehead +\gdef\tabfullpreamble{#1}%<<== needed +\def\endtabular{\endarray +\global\let\zdoit\relax +\global\let\tdoit\relax +\global\Dfalse} +\global\breaktabtrue +\global\colnumsused=0 +\global\colcount=0 +%% +%%%%%%%%%%%% + \lineskiplimit=\z@ % restore default setting +\ifdeluxestar +\begin{table*}\hsize=\textwidth\else + \begin{table}\fi +\noindent\setbox\splitbox=\vtop\bgroup% +\currtabletypesize + \vspace*{\abovedeluxetableskip} +%% +\def\startdata##1\enddata{% +\currtabletypesize +\setbox0=\hbox{\colnumbersonfalse +\begin{tabular}{#1} +\pt@head +##1\end{tabular}}% +\expandafter\ifx\csname @tablecaption\endcsname\empty\else + +\noindent\hbox +to\hsize{\hss\vtop{\hsize=\wd0 +\caption{\@tablecaption}}\hss}\vskip3pt\fi +\global\setbox3\hbox{% +\begin{tabular}{#1}% +\hline\hline\noalign{\vskip-9pt}% +\pt@head% + +##1\omit\\\omit\\\hline\end{tabular}}%%<<== original +\vskip-\parskip +\noindent\hbox to\hsize{\hss\copy3\hss} +\global\setbox4\vtop\bgroup\hsize=\wd0\relax +\leftskip6pt\parindent-6pt +}} + +%% go to \end{deluxetable}, after longdeluxetable + +\newbox\longtablebox +\def\longdeluxetable#1{ +\global\rotateonfalse +\let\colnumbers\deluxecolnumbers +\global\deluxedecimalsfalse +\let\decimals\deluxedecimals +\let\decimalcolnumbers\deluxedecimalcolnumbers +\let\tablehead\ztablehead +\gdef\tabfullpreamble{#1}%<<== needed +\def\endtabular{\endarray +\global\let\zdoit\relax +\global\let\tdoit\relax +\global\Dfalse} +\global\colnumsused=0 +\global\colcount=0 +%% +%%%%%%%%%%%% + \lineskiplimit=\z@ % restore default setting +\let\enddeluxetable\endlongdeluxetable + \vspace*{\abovedeluxetableskip} +%% +\def\startdata##1\enddata{% +\global\setbox\longtablebox=\hbox{\currtabletypesize +\tabcolsep=3pt +\begin{tabular}{#1} +\pt@head +##1\end{tabular}} +%%% +\bgroup\centering +\def\table@hook{\currtabletypesize} + \LTcapwidth=\wd\longtablebox +\begin{longtable}{#1} +\caption{\hsize=\wd\longtablebox +\advance\baselineskip2pt +\@tablecaption}\\ +\hline\hline\noalign{\vskip-9pt}% prob ok +\pt@head% +\endfirsthead + +\noalign{\centerline{\small +{\bf Table \thetable}\ \it(continued)}\vskip6pt} +\hline\hline +\noalign{\vskip-12pt} +\pt@head% +\endhead + +\hline +\multicolumn{\totalcolumns}{c}{\vrule height 24pt width0pt\small\it +Table \thetable\ +continued \if@two@col\else on next page\fi}\\ +\endfoot + +\hline%\nobreak +\endlastfoot + +##1 +\end{longtable} +\vglue-24pt +\egroup +\global\setbox4=\vtop\bgroup +\ifdim\wd\longtablebox>\textwidth +\hsize=\textwidth +\else +\hsize=\wd\longtablebox\fi +\leftskip=6pt +\parindent=-6pt +\currtabletypesize +\global\startlongtablefalse +}% end data, endlongtable +} + + +\def\endlongdeluxetable{\vrule depth 6pt width 0pt +\vskip1sp +\egroup +\ifdim\dp4>6pt +\vbox{%\vglue-3.5\baselineskip %% why this dimension?? +\hbox to \columnwidth{\hfill +\vtop{\hsize\wd\longtablebox +\leftskip=6pt\parindent-6pt +\copy4}\hfill} +}\fi +\ifdeluxestar + \if@two@col +\vglue\ht4 + \twocolumngrid + \hsize=\columnwidth +\fi\fi% +\global\colnumbersonfalse +\global\deluxedecimalsfalse +\global\rotateonfalse +%\global\floatfalse +\if@two@col\vskip12pt\twocolumngrid\fi +\relax} + +%% bbb +%% \end{deluxetable}: +\def\enddeluxetable{% +\egroup%end box 4 +\ifdim\dp4>6pt +\hbox to\hsize{\hss\copy4\hss} +\fi +\egroup% end splitbox +\centering +\ifrotateon\global\rotateonfalse +\rotatebox{90}{\hbox to\textheight{\hfill\vbox{ +\unvbox\splitbox +\vspace*{\belowdeluxetableskip}}\hfill}} +\else +\centering\unvbox\splitbox +\vspace*{\belowdeluxetableskip} +\vspace*{24pt} +\fi +\ifdeluxestar\end{table*}\global\deluxestarfalse +\if@two@col +\twocolumngrid\hsize=\columnwidth\fi%% check this!! +\else\end{table}\fi +\gdef\colnumbers{\saveplaincolnumbers} +\global\breaktabfalse +\global\deluxefalse +\global\colnumbersonfalse +\global\deluxedecimalsfalse +\global\rotateonfalse +\startlongtablefalse +%\global\floatfalse +}%% check this!! + + + +\newbox\splitbox +\newif\ifdeluxe +\def\splitdeluxetable{\global\deluxetrue\catcode`\&=\active +\catcode`\$=\active +\xsplitdeluxetable} + +\def\xsplitdeluxetable#1{\global\breaktabtrue +\let\colnumbers\deluxecolnumbers +\let\decimals\deluxedecimals +\global\deluxedecimalsfalse +\let\decimalcolnumbers\deluxedecimalcolnumbers +\let\tablehead\xtablehead +\gdef\tabfullpreamble{#1} +\def\endtabular{\endarray +\global\let\zdoit\relax +\global\let\tdoit\relax +\global\Dfalse} +%%% modification of emulateapj \deluxetable %%%% +\setbox0=\hbox{\def\firstarg{#1}\expandafter\lookforD\firstarg} +\gdef\temppreamble{#1\relax} +\PartsOfTable=0 +\def\tempfullpreamble{#1BB} +\setbox0=\hbox{\expandafter\checkforB\tempfullpreamble} +%% Now PartsOfTable is either =2 or 3 +%% +\gdef\one{#1Z} +\global\colnumsused=0 +\global\breaktabtrue +\global\colcount=0 +%% +\ifnum\PartsOfTable=3 +\let\multicolumn\threebreakmulticolumn +\else +\let\multicolumn\breakmulticolumn +\fi +%%%%%%%%%%%% + \lineskiplimit=\z@ % restore default setting + \gdef\tblnote@list{} + \gdef\tblref@list{} +\ifsplitstar + \begin{table*}\else + \begin{table}\fi +\noindent\setbox\splitbox=\vtop\bgroup% +\currtabletypesize + \vspace*{\abovedeluxetableskip} +\let\startdata\xstartdata} +%% \end{splitdeluxetable}: + +\newdimen\movetabledown + +\def\endsplitdeluxetable{\vskip1sp\egroup%% end box with tablenotes +\hbox to \hsize{\hss\copy4\hss} +\egroup +\vskip1pt +\ifrotateon\global\rotateonfalse +\vskip\movetabledown\rotatebox{90}{\vbox{\noindent\unvbox\splitbox % +\vspace*{\belowdeluxetableskip} +}}\global\movetabledown=0pt\else +\noindent\unvbox\splitbox +\vspace*{\belowdeluxetableskip} +\fi +\ifsplitstar +\end{table*} +\else +\end{table}\fi +\gdef\colnumbers{\saveplaincolnumbers} +\tabletypesize{\small} +\global\breaktabfalse +\global\deluxefalse +\global\splitstarfalse +\global\colnumbersonfalse +\global\deluxedecimalsfalse +} + +\newif\ifsplitstar +\expandafter\def\csname splitdeluxetable*\endcsname{\global\splitstartrue\splitdeluxetable} +\expandafter\def\csname endsplitdeluxetable*\endcsname{\endsplitdeluxetable\global\splitstarfalse +\global\colnumbersonfalse +\global\deluxedecimalsfalse +} + +\newdimen\maxtablewidth + +\gdef\NoTableCaption{\global\@table@not@headedtrue} + +%% For splitdeluxetable + +%%% ====================================================== %%% +\gdef\dbreaktabular{\catcode`\&=\active +\let&\CheckNumberAndSwitch\xdbreaktabular} + +\long\gdef\xdbreaktabular#1{%% #1=contents of table +{\global\maxtablewidth=0pt +\let&\CheckNumberAndSwitch +\let$\savedollar +\global\colnumsused=0 +%% +\global\dbreaktabtrue +\global\colcount=0 +%% +\ifnum\PartsOfTable=3 +\let\multicolumn\threebreakmulticolumn +\else +\let\multicolumn\breakmulticolumn +\fi +%% +\ifnum\PartsOfTable=3 +\expandafter\catchfirstpreamble\one +\expandafter\catchsecondofthreepreamble\one +\expandafter\catchthirdpreamble\one +\makefirstdummycolumns +\makeseconddummycolumns +\makethirddummycolumns +\else %% PartsOfTable=2 +\ifnum\PartsOfTable=2 +\expandafter\catchfirstpreamble\one +\expandafter\catchsecondpreamble\one +\makefirstdummycolumns +\makeseconddummycolumns +\fi\fi +%%% +\global\columncount=0 +\ifnum\PartsOfTable=3 +%% For table divided into three parts +\firstboxtrue\secondboxfalse\thirdboxfalse +\setbox\firsttablebox=\hbox{% +\begin{tabular}{AFE} +\ifx\csname pt@head\endcsname\relax\else +\pt@head\fi#1\crcr\end{tabular}} +\global\maxtablewidth=\wd\firsttablebox + +\noindent\hbox to \hsize{\hss\unhbox\firsttablebox\hss} +\vskip6pt +\hrule +\vskip6pt +\global\columncount=0 +\firstboxfalse\secondboxtrue\thirdboxfalse +\ifcolnumberson% +\setbox\secondtablebox=\hbox{% +\let\savecolnumbers\xcolnumbers% +\notfirsttrue% +\begin{tabular}{fZE} %fZE !!! +\ifx\csname pt@head\endcsname\relax\else% +\pt@head\fi#1\crcr\end{tabular}} +\else +%% +\setbox\secondtablebox=\hbox{% +\begin{tabular}{fZE}% +\ifx\csname pt@head\endcsname\relax\else% +\pt@head\fi\\[-14pt]% +#1\crcr% +\end{tabular}} +\fi +\ifdim\wd\secondtablebox>\maxtablewidth +\global\maxtablewidth\wd\secondtablebox\fi + +\noindent\hbox to \hsize{\hss\unhbox\secondtablebox\hss} +%% +\vskip6pt +\hrule +\vskip6pt +\firstboxfalse\secondboxfalse\thirdboxtrue +\global\columncount=0 +\ifcolnumberson +\notfirsttrue +\setbox\thirdtablebox=\hbox{ +\let\savecolnumbers\xcolnumbers +\notfirsttrue +\begin{tabular}{fFz} +\ifx\csname pt@head\endcsname\relax\else +\pt@head\fi#1\crcr\end{tabular}} +\else +\setbox\thirdtablebox=\hbox{ +\begin{tabular}{fFz} +\ifx\csname pt@head\endcsname\relax\else +\pt@head\fi\\[-14pt] +#1 +\end{tabular}} +\fi +\ifdim\wd\thirdtablebox>\maxtablewidth +\global\maxtablewidth\wd\thirdtablebox\fi + +\noindent\hbox to \hsize{\hss\unhbox\thirdtablebox\hss} +\vskip6pt +\hrule +\else +%% Original for table divided into two parts +\global\columncount=0 +\secondboxfalse +\setbox\firsttablebox=\hbox{% +\begin{tabular}{AF} +\ifx\csname pt@head\endcsname\relax\else +\pt@head\fi% +#1\end{tabular}} +\global\maxtablewidth=\wd\firsttablebox +\hbox to \hsize{\hss\unhbox\firsttablebox\hss} +\vskip6pt +\hrule +\vskip6pt +\global\columncount=0 +\secondboxtrue +\ifcolnumberson +\setbox\secondtablebox=\hbox{% +\let\savecolnumbers\xcolnumbers +\notfirsttrue +\begin{tabular}{fZ}%% +\ifx\csname pt@head\endcsname\relax\else% +\pt@head\fi#1\crcr%%= tablecontents +\end{tabular}}% +\else +\setbox\secondtablebox=\hbox{% +\begin{tabular}{fZ}%% was 12 +\ifx\csname pt@head\endcsname\relax\else% +\pt@head\fi\\[-14pt]% +#1%%= tablecontents +\end{tabular}}\fi +\ifdim\wd\secondtablebox>\maxtablewidth +\global\maxtablewidth\wd\secondtablebox\fi + +\noindent\hbox to \hsize{\hss\unhbox\secondtablebox\hss} +\vskip6pt +\hrule +\secondboxtrue +%% +%% end of conditional testing for 2 or 3 part table: +\fi +%% +\global\dbreaktabfalse}} +%%% ====================================================== %%% + +\newif\ifnotfirst +%% @@@@ +%% xstartdata, modified from \startdata in emulateapj, for splitdeluxetable +\gdef\xstartdata#1\enddata{\def\tablecontents{% +\ifcolnumberson% +\\ \savecolnumbers\\[2pt]\fi% +\ifdeluxedecimals\savedecimals\fi% +#1}% +\currtabletypesize% +\setbox2=\vtop{\dbreaktabular{\tablecontents}}% +% +\expandafter\ifx\csname @tablecaption\endcsname\empty\else + +\noindent\hbox +to\hsize{\hss\vtop{\hsize=\maxtablewidth\caption{\@tablecaption}}\hss}\vskip3pt\fi +\dbreaktabular{\tablecontents\noalign{\global\let\zdoit\relax +\global\let\ddoit\relax}} +\parindent=0pt +\global\setbox4=\vtop\bgroup% egroup in enddeluxetable +\currtabletypesize +\ifsplitstar +\hsize=\textwidth\else\hsize=245.3pt\fi +\parindent=-6pt \leftskip=6pt +} + +\def\tablecomments#1{{\small\vskip3pt\indent\vrule height 11pt depth 2pt +width 0pt\currtabletypesize{\sc Note}---{#1}\vskip1sp}} + +\def\tablenotetext#1#2{{\currtabletypesize\vskip1pt\indent\vrule +height 11pt depth +2pt width0pt\relax$^{\hbox to 5pt{$#1$}}$#2\vskip1sp}} + +\def\tablerefs#1{{\small\vskip3pt\indent\vrule height 11pt depth 2pt +width 0pt\currtabletypesize{\bf References}---{#1}\vskip1sp}} + +\let\tablereferences\tablerefs + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% 5. Simple entry decimal numbers + +%% extra unused args are to get rid of unnecessary commands revtex puts in +\gdef\lookfordecimal#1#2#3#4.#5 {\gdef\xone{{\let$\relax\savedollar#4\savedollar}} +\gdef\xtwo{#5}\ifx\xtwo\empty\else\gdef\xtwo{{\let$\relax\savedollar#5\savedollar}}\fi} + +%% D +\def\newdoit{\setbox0=\hbox\bgroup\zdoit} +\def\endnewdoit{\egroup\unhbox0} + +\long\gdef\zdoit#1 {\let$\relax +\def\bothcols{#1 }% +\setbox0=\hbox{\let$\relax\expandafter\lookfordecimal\bothcols{}{}{}{}.{} }% +\xdoit} + +\global\let\savezdoit\zdoit +\let\zdoit\relax + +\gdef\xdoit{\relax\hskip\tabcolsep\relax\xone&\tabskip=0pt% +\ifx\xtwo\empty\let\go\relax\else.\def\go{\xtwo}\fi\go} + +%% d +\def\xnewdoit{\setbox0=\hbox\bgroup\ddoit} +\def\xendnewdoit{\egroup} + +\long\gdef\ddoit#1#2#3{\xxdoit} +\let\saveddoit\ddoit +\let\ddoit\relax + +%% to delete all D material: + +\gdef\xxdoit{&} + +\newcolumntype{D}{>\newdoit r<{\endnewdoit} @{}l}%% +\newcolumntype{d}{>\xnewdoit h<{\xendnewdoit} @{}h} %% + +\newdimen\savetabskip +\gdef\decimals{\noalign{\global\savetabskip\tabskip +\tabskip=0pt +\global\let\extracolsep\relax +\global\let\ddoit\saveddoit +\global\let\zdoit\savezdoit +}} + +\let\savedecimals\decimals + +%% to allow \decimals to be used before \startdata: +\newif\ifdeluxedecimals +\def\deluxedecimals{\global\deluxedecimalstrue} + +%%%%%%%%% +%% This needed to be redefined so that \colhead in \tablehead would span both parts +%% of decimal numbers. + +%% in case there isn't a table head +\let\pt@head\relax + +%% for splitdeluxetable +\def\xtablehead{\catcode`\&=\active% +\catcode`\$=\active% +\xxtablehead} + +\def\xxtablehead#1{% +\let&\CheckNumberAndSwitch% +\gdef\pt@head{% +\hline\hline% +\multicolumn1c{\tempcounter=0 +\expandafter\getDs\tabfullpreamble\relax +\global\colcount=0 +\global\colheadcount=0}% +\\[-10pt]% this is right +#1\ifcolnumberson% +\ifnotfirst\\[-22pt]\fi +\else\\\hline\\[-8pt]\fi% space below hline for 2nd and 3rd part of split table +}% +% +} + +\def\ztablehead{\catcode`\&=\active% +\catcode`\$=\active% +\zztablehead} + +%% +\def\zztablehead#1{\let&\CheckNumberAndSwitch% +\gdef\pt@head{% +%% this is needed: +\multicolumn1c{\expandafter\getDs\tabfullpreamble\relax +\global\tempcounter=0 +\global\colcount=0 +\global\colheadcount=0}\\% +#1 +\ifcolnumberson\\[6pt] +\savecolnumbers\vrule height 11pt depth 4pt width 0pt\relax% +\\[6pt] +\ifdeluxedecimals\\[-14pt] % +\savedecimals\fi +\else \vrule depth 6pt +width0pt\\\ifdeluxedecimals\savedecimals\fi\hline\fi% +}} + + +\newcount\tempcounter + +\gdef\getDs#1{\let&\CheckNumberAndSwitch +\def\lookforD{#1}% +\ifx\lookforD\xD% +\expandafter\gdef\csname col\the\tempcounter\endcsname{2}\else +\expandafter\gdef\csname col\the\tempcounter\endcsname{1}\fi +\global\advance\tempcounter by 1 +\futurelet\next\checkingpreamble} + +\gdef\checkingpreamble{\ifx\next\relax +\let\go\relax\else\let\go\getDs\fi\go} + +%%% Something like this could be used to automate the width of colheads in the tablehead, +%% making those that match the D in preamble are multicolumn2c instead of +%% multicolumn 1c. +\newcount\colheadcount +\newcommand\xcolhead[1]{\multicolumn{\expandafter\ifx\csname +col\the\colheadcount\endcsname\relax 1\else\expandafter% +\csname col\the\colheadcount\endcsname\fi}{c}{\vrule depth 4pt width %% +0pt#1\relax\global\advance\colheadcount +by 1\relax}\ignorespaces}% +% + +%% +\extrarowheight=2pt +%% from revtex4-1, additions on top +%% fix for \usepackage{amsmath} and +%% any matrix environment +\def\matrixpreamble{*\c@MaxMatrixCols c} +%% this causes problem, must be fixed! +%\let\save@array@array@new\@array@array@new +\def\@array@array@new[#1]#2{% +\ifbreaktab +\else +%%% added so that we can use \colnumbers in any tabular environment +%%% and avoid error messages for breaktabular +\def\catchpreamble{#2\relax} +\gdef\tabfullpreamble{#2\relax} +{\colcount=0 +%% important fix, makes it possible to use amsmath and matrices. +\def\two{#2} +\ifx\matrixpreamble\two +\else +\expandafter\countcols\catchpreamble +\global\totalcolumns=\colcount\fi} +\fi +%%% end of additions + \@tempdima\ht\strutbox + \advance\@tempdima by\extrarowheight + \setbox\@arstrutbox\hbox{% + \vrule \@height\arraystretch\@tempdima + \@depth \arraystretch\dp\strutbox + \@width \z@ + }% + \begingroup + \@mkpream{#2}% + \xdef\@preamble{\@preamble}% + \endgroup + \prepdef\@preamble{% + \tabskip\tabmid@skip + \@arstrut + }% + \appdef\@preamble{% + \tabskip\tabright@skip + \cr + \array@row@pre + }% + \@arrayleft + \@nameuse{@array@align@#1}% + \m@th + \let\\\new@arraycr %<<== defined above, original plus reset counters + \let\tabularnewline\\% + \let\par\@empty + \let\@sharp##% + \set@typeset@protect + \lineskip\z@\baselineskip\z@ + \tabskip\tableft@skip + \everycr{}% + \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble +}% + +%% \rotate +\newif\ifrotateon +\def\rotate{\global\floattrue\iffloat\global\let\go\relax\global\rotateontrue\else +\global\rotateonfalse +\let\go\relax +%\def\go{\vskip48pt\huge +%{\tt \string\floattable\space must precede table using +%\string\rotate !!}} +\fi\go} + +\def\colnumbers{\plaincolnumbers} + +%% add 6pt of space between table and following text: +\let\saveendtable\endtable +\def\endtable{\vskip6pt\saveendtable} +\expandafter \let \csname endtable*\endcsname = \endtable +%% + +\newbox\rotatetablebox +\def\rotatetable{% +\global\startlongtabletrue\setbox\rotatetablebox=\vbox\bgroup +} +\def\endrotatetable{\egroup +\vglue\movetabledown +\hbox to +\textwidth{\hss\rotatebox{90}{\hbox{\box\rotatetablebox}}\hss} +\global\movetabledown=0pt\relax +\global\startlongtablefalse +} + + +\expandafter\def\csname rotatetable*\endcsname{% +\global\startlongtabletrue\setbox\rotatetablebox=\vbox to +\textwidth\bgroup\vfill} + + +\expandafter\def\csname endrotatetable*\endcsname{\vfill\egroup +\vbox to \textheight{\vfill +\vglue\movetabledown +\hbox to +\textwidth{\hss\rotatebox{90}{\box\rotatetablebox}\hss}\global\movetabledown=0pt\relax +\vfill} +\clearpage +\if@two@col +\twocolumngrid +\global\startlongtablefalse +} + + +\def\longrotatetable{% + \if@two@col\onecolumngrid\clearpage + \fi +\clearpage + \clearpage + \begingroup +\expandafter\def\csname deluxetable*\endcsname{\deluxetable} +\expandafter\def\csname enddeluxetable*\endcsname{\enddeluxetable} +\global\floatfalse +\global\startlongtabletrue +\def\LS@rot{% + \setbox\@outputbox\vbox{\hbox{\rotatebox{90}{\box\@outputbox}}}} + +\let\LS@makecol=\@makecol +\let\LS@makefcolumn=\@makefcolumn + + \vsize=\textwidth + \hsize=\textheight + \linewidth=\hsize + \columnwidth=\hsize + \@colroom=\vsize + \textheight=\vsize + \@colht=\vsize + \def\@makecol{\LS@makecol\LS@rot}% + \def\@makefcolumn##1{\LS@makefcolumn{##1}\LS@rot}} +\def\endlongrotatetable{% +\onecolumngrid %% ?? +\clearpage + \ifGin@pdftex + \pdfpageattr{/Rotate 90} + \fi + \clearpage + \endgroup + \if@two@col\twocolumngrid\fi +\clearpage + \global\@colht=\textheight + \global\vsize=\textheight + \global\@colroom=\textheight} + + +\newif\ifGin@pdftex +\Gin@pdftexfalse +\DeclareOption{pdftex}{% + \PassOptionsToPackage\CurrentOption{graphicx} + \Gin@pdftextrue +} + +\DeclareOption*{\PassOptionsToPackage\CurrentOption{graphicx}} +\ProcessOptions + +%% set &, $ catcode back to normal: + +\catcode`&=4 +\catcode`$=3 + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% end table tools +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Gridlines for positioning multiple illustrations in +%% one figure environment. + +\def\gridline#1{\vskip6pt\hbox to\hsize{#1}\vskip6pt} + +\def\boxedfig#1#2#3{\hfill\fbox{\vbox{\parskip=0pt\relax +\hsize=#2 +\includegraphics[width=#2]{#1}\vskip2pt\vtop{\hsize=#2 +\centerline{#3}}}}\hfill} + +\def\fig#1#2#3{\hfill\vbox{\parskip=0pt\hsize=#2 +\includegraphics[width=#2]{#1}\vskip2pt\vtop{\centering +\footnotesize +\hsize=#2 +#3\vskip1pt +}}\hfill} + +\def\leftfig#1#2#3{\vbox{\parskip=0pt\relax\hsize=#2 +\includegraphics[width=#2]{#1}\vskip2pt\vtop{\hsize=#2 +\centering +#3\vskip1sp\vskip1sp}}\hfill} + +\def\rightfig#1#2#3{\hfill\vbox{\parskip=0pt\relax\hsize=#2 +\includegraphics[width=#2]{#1}\vskip2pt\vtop{\hsize=#2 +\centering#3\vskip1sp}}} + +\def\rotatefig#1#2#3#4{\hfill\vbox{\centering\parskip=0pt\hsize=#3 +\includegraphics[width=#3,angle=#1]{#2}\vskip2pt\vtop{\centering +\footnotesize +\hsize=#3 +#4\vskip1pt +}}\hfill} + +%%%%%%%%%% End Grid line Macros %%%%%%%%%% + +%%%%%%%%%% Color Editing Macros %%%%%%%%%% +%% \turnoffedit or \turnoffedits +%% will prevent all \edit{text}, all +%% \collaborationcomment{text}, and all +%% \authorcomment{text} from producing any text. + +\newif\ifturnoffedit +\def\turnoffedit{\global\turnoffedittrue} +\def\turnoffedits{\global\turnoffedittrue} + +\newif\ifturnoffone +\newif\ifturnofftwo +\newif\ifturnoffthree + +%% \turnoffeditone to only turn off only \edit1, \collaborationcomment1 and \authorcomment1 : +\def\turnoffeditone{\turnoffonetrue} + +%% \turnoffedittwo to only turn off only \edit2, \collaborationcomment2 and \authorcomment2 : +\def\turnoffedittwo{\turnofftwotrue} + +%% \turnoffeditthree to only turn off only \edit3, \collaborationcomment3 and \authorcomment3 : +\def\turnoffeditthree{\turnoffthreetrue} + +%% Other choices can be made, but this should be +%% standardized, so didn't make an user interface +%% to change the colors easily. + +\expandafter\def\csname editcolor1\endcsname{magenta} +\expandafter\def\csname editcolor2\endcsname{blue} +\expandafter\def\csname editcolor3\endcsname{violet} + +\newcount\colorcount +\def\edit#1#2{{\colorcount=#1\relax% +\ifturnoffedit\let\go\ignorespaces\else% +\let\go\relax% +\color{\csname editcolor\the\colorcount\endcsname}% +\ifnum\colorcount=1{\ifturnoffone\else\bf#2\ \fi}\else% +\ifnum\colorcount=2{\ifturnofftwo\else\it#2\ \fi}\else% +\ifnum\colorcount=3{\ifturnoffthree\else#2\ \fi}\fi\fi\fi\fi% +}\go} + +\def\collaborationcomment#1#2{{\colorcount=#1 +\ifturnoffedit\let\go\ignorespaces\else% +\let\go\relax% +\color{\csname editcolor\the\colorcount\endcsname} +\ifnum\colorcount=1{\ifturnoffone\else\bf (Collaboration~note: #2)\ \fi}\else +\ifnum\colorcount=2{\ifturnofftwo\else\it (Collaboration~note: #2)\ \fi}\else +\ifnum\colorcount=3{\ifturnoffthree\else (Collaboration~note: #2)\ \fi}\fi\fi\fi\fi% +\go}} + +\def\authorcomment#1#2{{\colorcount=#1 +\ifturnoffedit\let\go\ignorespaces\else% +\let\go\relax% +\color{\csname editcolor\the\colorcount\endcsname} +\ifnum\colorcount=1{\ifturnoffone\else\bf (Author~note: #2)\ \fi}\else +\ifnum\colorcount=2{\ifturnofftwo\else\it (Author~note: #2)\ \fi}\else +\ifnum\colorcount=3{\ifturnoffthree\else (Author~note: #2)\ \fi}\fi\fi\fi\fi% +\go}} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Draft watermark + +\definecolor{ltgray}{gray}{.9}% .89 +\font\bighelv=phvr at 2in % +\def\setwatermarkfontsize#1{\font\bighelv=phvr at #1} + +\def\watermark#1{\def\thewatermark{\hbox to\textwidth{\vtop to +1.1\textheight{\vss +\hskip24pt\rotatebox{60}{\hbox{\bighelv \color{ltgray} +\uppercase{#1}}}\vss}}\hss}} +\let\thewatermark\empty + +%% Used in titlepage definition, as \pagestyle{titlepage} +\def\ps@titlepage{% + \let\@mkboth\@gobbletwo +\def\@oddhead{\ifx\thewatermark\empty\hfill\else +\hbox to \textwidth{\rlap{\thewatermark}\hfill}\fi} +\let\@oddfoot\@empty +\let\@evenhead\@empty\let\@evenfoot\@empty} + +% end of watermark definitions +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand*\submitjournal[1] +{\def\@submitted{Submitted to #1}}% + +%% this one is used +\def\titleblock@produce{% + \begingroup + \ltx@footnote@pop + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}% + \c@mpfootnote\z@ + \let\@makefnmark\frontmatter@makefnmark + \frontmatter@setup + \thispagestyle{titlepage}\label{FirstPage}% +\ifmodern\leftskip=0pt\rightskip\leftskip\fi + \frontmatter@title@produce + \groupauthors@sw{% + \frontmatter@author@produce@group + }{% + \frontmatter@author@produce@script + }% + \frontmatter@RRAPformat{% +\vskip12pt + \expandafter\produce@RRAP\expandafter{\@date}% + \expandafter\produce@RRAP\expandafter{\@received}% + \expandafter\produce@RRAP\expandafter{\@revised}% + \expandafter\produce@RRAP\expandafter{\@accepted}% + \expandafter\produce@RRAP\expandafter{\@published}% + }% +\expandafter\ifx\csname @submitted\endcsname\relax\else +\vskip6pt +\expandafter\produce@RRAP\expandafter{\centerline{\@submitted\hbox +to 20pt{\hfill}}\vskip12pt}% +\fi + \frontmatter@abstract@produce + \@ifx@empty\@pacs{}{% + \@pacs@produce\@pacs + }% + \@ifx@empty\@keywords{}{% + \@keywords@produce\@keywords + }% + \par + \frontmatter@finalspace + \endgroup +}% + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Highlight Figure +\definecolor{ltblue}{cmyk}{.5,.1,.1,0} + +\long\def\highlightfigure#1{\centerline{ +\fboxrule=4pt +\fboxsep=12pt +\fcolorbox{ltblue}{white}{\hbox to +.93\textwidth{\hss$\vcenter{\advance\hsize -24pt #1}$\hss}}}\gdef\highlightfigure{\typeout{^^J^^JERROR!^^J^^J +Only One Highlighted Figure per Article!^^J^^J}\stop}} + + +%%%%%%%%%%%%% +%% Line numbering + +\ifnumlines +\usepackage{lineno} + +\linenumbers*[1] +\if@two@col +\advance\linenumbersep -4pt +\else +\advance\linenumbersep 12pt +\fi\fi + + +\gdef\specialbibitem#1[#2]#3#4{ +{\tt\string\bibitem}[#2]{\tt\string{\string}} +#4} + +\let\savecite\cite +\let\savecitep\citep +\let\savecitet\citet +\def\specialcite#1{\hbox{\savecite{#1}}} +\def\specialcitep#1{\hbox{\savecitep{#1}}} +\def\specialcitet#1{\hbox{\savecitet{#1}}} +\let\saveref\ref +\def\specialref#1{\hbox{\saveref{#1}}} + +%%%%%%%%%%%%%%%%%%%%%%%%% +%% Track Changes +%% Amy Hendrickson, Nov 2015 +%% Change Jan 2016, to allow list of changes +%% to give line and page numbers for more than one entry on the same line. +%% Change Feb 2016, to allow optional argument for time/date, and/or editor initials, etc. + + +\providecolor{trackchange}{rgb}{1,0,0} +\providecolor{explain}{rgb}{.5,0,.5} + +\newif\ifsilent + +\newcount\refchangenumber +\def\added{\@ifnextchar[{\xadded}{\yadded}} + +\long\def\xadded[#1]#2{% +\iftrack {\global\advance\refchangenumber by 1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines% +\ifabstract\else% +\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}{}{}{}}\doit\fi}% +{\color{trackchange}(Added: [#1] #2)}%% +\ifabstract\label{\the\refchangenumber}% +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Added: [#1] +\textcolor{trackchange}{#2}\global\silenttrue}% +\else\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Added: [#1] +\textcolor{trackchange}{\let\bibitem\specialbibitem #2}\global\silentfalse}\fi% +\else#2\fi} + + + +\long\def\yadded#1{% +\iftrack{\global\advance\refchangenumber by 1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines\ifabstract\else% +\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}{}{}{}}\doit% +\fi}% +{\color{trackchange}(Added: #1)}%% +\ifabstract% +\label{\the\refchangenumber}% +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Added: +\textcolor{trackchange}{#1}, +\global\silenttrue}\else +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Added: +\textcolor{trackchange}{\let\bibitem\specialbibitem #1},% +\global\silentfalse}\fi% +\else#1\fi} + + + +\def\deleted{\@ifnextchar[{\xdeleted}{\ydeleted}} + +\long\def\xdeleted[#1]#2{\iftrack{\global\advance\refchangenumber by +1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines\ifabstract\else% +\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi% +\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}}\doit\fi% +}% +{\color{trackchange}% +\ifbib\let\sout\relax\fi% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\ref\specialref\let\cite\specialcite (Deleted: [#1] \sout{#2}) +}% +\ifabstract\label{\the\refchangenumber}% +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Deleted: [#1] +{\color{trackchange}% +\let\citet\specialcitet% +\let\citep\specialcitep% +\let\cite\specialcite\sout{#2}}\global\silenttrue}% +\else +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Deleted: [#1] +{\color{trackchange}% +\let\bibitem\specialbibitem% +\let\ref\specialref% +\let\cite\specialcite% +\let\citep\specialcitep% +\let\citet\specialcitet% +\sout{#2} +}\global\silentfalse}\fi% +\fi} + +\long\def\ydeleted#1{\iftrack{\global\advance\refchangenumber by 1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines\ifabstract\else% +\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi% +\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}{}{}{}}\doit% +\fi}% +%% +{\color{trackchange}% +\ifbib\let\sout\relax\fi% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\ref\specialref\let\cite\specialcite(Deleted: \sout{#1} +)}% +\ifabstract\label{\the\refchangenumber}% +\expandafter\gdef\csname changenum\the\refchangenumber\endcsname{Deleted: +{\color{trackchange}\let\ref\specialref% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\sout{#1}}\global\silenttrue}% +\else +\expandafter\gdef\csname changenum\the\refchangenumber\endcsname{Deleted: +{\color{trackchange}% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\bibitem\specialbibitem% +\let\ref\specialref% +\let\cite\specialcite\sout{#1}}\global\silentfalse}\fi% +\fi} + + +\def\replaced{\@ifnextchar[{\xreplaced}{\yreplaced}} + +\long\def\xreplaced[#1]#2#3{% +\iftrack\global\advance\refchangenumber by 1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines\ifabstract\else\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}}\doit\fi% +{\ifbib\let\sout\relax\fi +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange}(Replaced: [#1] \sout{#2}}% +{\color{black}replaced with:} {\let\ref\specialref% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange} #3)}% +\ifabstract\label{\the\refchangenumber}% +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Replaced: [#1] +{\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange}\sout{#2}} {\color{black} replaced with:} +{\color{trackchange}#3}, \global\silenttrue}% +\else +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Replaced: [#1] +{\ifbib\let\sout\relax\fi\let\bibitem\specialbibitem +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange}\sout{#2} +} {\color{black} replaced with:} +{\let\bibitem\specialbibitem\color{trackchange}#3}, \global\silentfalse}\fi% +\else#3\fi} + +\long\def\yreplaced#1#2{% +\iftrack\global\advance\refchangenumber by 1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines\ifabstract\else\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}}\doit\fi% +{\ifbib\let\sout\relax\fi\let\ref\specialref% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange}(Replaced: %\sout +{#1} +}% +{\color{black}replaced with:} +{\color{trackchange} #2)}% +\ifabstract\label{\the\refchangenumber}% +\expandafter\gdef\csname changenum\the\refchangenumber\endcsname{Replaced: +{\let\cite\specialcite% +\let\citep\specialcitep% +\let\citet\specialcitet% +\color{trackchange}\sout{#1}} {\color{black} replaced with:} +{\color{trackchange}#2},\global\silenttrue}% +\else +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Replaced: +{\ifbib\let\sout\relax\fi\let\bibitem\specialbibitem +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange}\sout{#1} +} {\color{black} replaced with:} +{\let\bibitem\specialbibitem\color{trackchange}#2}, \global\silentfalse}\fi% +\else#2\fi} + +\def\explain{\@ifnextchar[{\xexplain}{\yexplain}} + +\def\xexplain[#1]#2{\iftrack\ {\it\color{explain} [Explanation of change: +#2 (#1)]\ }\fi} + +\def\yexplain#1{\iftrack\ {\it\color{explain} [Explanation of change: +#1]\ }\fi} + +\newcount\listchangenum + +\def\listofchanges{ +\clearpage +\iftrack +\ifnum\refchangenumber>0 +\ifnumlines\nolinenumbers\fi +\vskip36pt +\hrule +\noindent{\vrule height 14pt width0pt depth 6pt\large\bf List of Changes} +\hrule +\vskip18pt +\nobreak +{\parskip=4pt \parindent=0pt +\loop +\global\silentfalse +\vskip-1pt\relax +\global\advance\listchangenum by 1\relax +\expandafter\ifx\csname changenum\the\listchangenum\endcsname\relax +\else +\csname changenum\the\listchangenum\endcsname\ +on page +%% can't get hyperlink to work correctly for page numbers, works but error messages. +\hyperlink{link\the\listchangenum}{\bf\pageref{\the\listchangenum}}% +\ifnumlines% +\ifsilent\global\silentfalse \else% +\setbox0=\hbox{\lineref{\the\listchangenum}}% +\ifdim\wd0<20pt% +, line\ +\hyperlink{link\the\listchangenum}{\lineref{\the\listchangenum}}% +\fi +\fi\fi.\relax +\repeat} +\fi\fi +\thispagestyle{empty} +} + +\PassOptionsToPackage{normalem}{ulem} +\usepackage{ulem} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% From earlier version of AASTeX, for usefulness and +%% backward compatibility, with some requested additions + +\let\jnl@style=\rmfamily +\def\ref@jnl#1{{\jnl@style#1}}% + +%%% +\renewcommand\memsai{\ref@jnl{Mem.~Soc.~Astron.~Italiana}}% + % Mem. Societa Astronomica Italiana +%% longer version: +\newcommand\memsocai{Mem. Societ\`a Astronomica Italiana} +\newcommand\aspconf{Ast. Soc. of the Pac. Conference Series} + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\let\applopt=\ao + +%%% More useful commands from Earlier version of Aastex: +\let\la=\lesssim % For Springer A&A compliance... +\let\ga=\gtrsim + +\let\farcm\farcm@mss +\let\farcs\farcs@mss + +\def\farcm@apj{% + \mbox{.\kern -0.7ex\raisebox{.9ex}{\scriptsize$\prime$}}% +}% + +\def\farcs@apj{% + \mbox{% + \kern 0.13ex.% + \kern -0.95ex\raisebox{.9ex}{\scriptsize$\prime\prime$}% + \kern -0.1ex% + }% +}% + +\def\chem@bnd#1{% + {% + \kern.1em\relax + \setbox\z@\hbox{M}% + \dimen@ii.8em\relax + \p@=.1em\relax + \dimen@.5\ht\z@\dimen@i-\dimen@ + \advance\dimen@1.5\p@\advance\dimen@i-1.0\p@ + #1% + \kern.1em\relax + }% + }% +\def\@sbnd{% + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@dbnd{% + \advance\dimen@-0.5\p@\advance\dimen@i0.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@tbnd{% + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% + +\renewcommand\LaTeX{% + \leavevmode + L% + \raise.42ex\hbox{% + \count@=\the\fam + $\fam\count@\scriptstyle\kern-.3em A$% + }% + \kern-.15em\TeX +}% + +%% added Feb 2, 2016, redefining definition of \caption made with hyperref +%% package. Making \caption[] be the default, to prevent sending caption +%% text to listoftables or listoffigures, which we are not going to use +%% anyway. This change enables track changes commands to work in captions. + +\def\caption{\numlinesfalse +\ifx\@captype\@undefined +\@latex@error {\noexpand \caption outside float}\@ehd +\expandafter \@gobble \else +\H@refstepcounter \@captype \let \Hy@tempa \@caption \@ifundefined +{float@caption}{} +{\expandafter \ifx \csname @float@c@\@captype\endcsname +\float@caption\let\Hy@tempa\Hy@float@caption\fi} +\expandafter\@firstofone\fi +{\@dblarg {\Hy@tempa \@captype}}[]} + + +\def\@caption#1[#2]#3{{\small\rm\expandafter \ifx \csname if@capstart\expandafter \endcsname +\csname iftrue\endcsname \global \let \@currentHref \hc@currentHref \else \hyper@makecurrent {\@captype }\fi +\@ifundefined {NR@gettitle}{\def \@currentlabelname{\thesection\relax #2}} +{\NR@gettitle {#2}}\par +%\addcontentsline {\csname ext@#1\endcsname }{#1}{\protect \numberline {\csname the#1\endcsname }{\ignorespaces #2}} +\begingroup \@parboxrestore \if@minipage \@setminipage \fi \normalsize +\expandafter\ifx \csname if@capstart\expandafter \endcsname +\csname iftrue\endcsname \global \@capstartfalse +\@makecaption {\bf\csname fnum@#1\endcsname }{\ignorespaces #3} +\else \@makecaption {\bf\csname fnum@#1\endcsname }{\ignorespaces \ifHy@nesting +\expandafter \hyper@@anchor \expandafter {\@currentHref }{#3}\else +\Hy@raisedlink {\expandafter \hyper@@anchor \expandafter +{\@currentHref }{\relax }}{#3}\fi }\fi \par \endgroup}} + + +\newcommand\tablebreak{\\[-11pt]\noalign{\break}\\ } + +%% As suggested by Greg Schwarz, Gus Meunch, Feb 11 + +\def\dataset{\@ifnextchar[{\ydataset}{\xdataset}} +\def\ydataset[#1]#2{\href{#2}{[#1]}} +\def\xdataset#1{\href{#1}{[DATASET]}} + +%% this seems in the middle of nowhere... +\advance\columnsep6pt + +%%%%%%%%%% +%% macros to give hyperref link to authors when orcid numbers +%% are supplied with \author[0000-2345-3333-0023]{author name} + \def\lookforbracket{\ifx\next[\let\go\xauthor + \else\let\go\yauthor\fi\go} + +\def\author{\futurelet\next\lookforbracket} + +\def\new@author@def#1#2{% + \move@AU\move@AF\move@AUAF + \let\@AF@join\@author@join + \def\@author{{\href{http://orcid.org/#1}{#2}}{}}% +}% + +\def\orciderrormessage{ +\typeout{^^J^^J [\firstarg]\space Invalid ORCID Identifier!^^J^^J The ID +should consist of +four sets of four digits,^^J separated with -, ie, +0000-0012-3245-1234 or ^^J +0000-0012-3245-123X +^^J^^J +Please fix, or don't use square bracket argument with +\string\author[]\string{\string} +^^J^^J} +} + +%% Tests to see if author gave reasonable Orcid number; +%% if not, stops processing and gives error message. +\newif\ifbadOrcid +\def\lookatOrcid #1-#2-#3-#4-{ +\def\one{#1}\def\two{#2}\def\three{#3}\def\four{#4} +\ifx\one\empty +\global\badOrcidtrue +\else +\ifx\two\empty +\global\badOrcidtrue +\else +\ifx\three\empty +\global\badOrcidtrue +\else +\ifx\four\empty +\global\badOrcidtrue +\fi\fi\fi\fi +} + +\def\lookforDigits #1#2#3#4{ +\def\xone{#1}\def\xtwo{#2}\def\xthree{#3}\def\xfour{#4} +%% +\ifx\xone\empty +\global\badOrcidtrue +\else + \ifcat \xone 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xtwo\empty +\global\badOrcidtrue +\else + \ifcat \xtwo 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xthree\empty +\global\badOrcidtrue +\else + \ifcat \xthree 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xfour\empty +\global\badOrcidtrue +\else + \ifcat \xfour 1\else + \global\badOrcidtrue\fi +\fi +} + +\def\FinallookforDigits #1#2#3#4{ +\def\xone{#1}\def\xtwo{#2}\def\xthree{#3}\def\xfour{#4} +%% +\ifx\xone\empty +\global\badOrcidtrue +\else + \ifcat \xone 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xtwo\empty +\global\badOrcidtrue +\else + \ifcat \xtwo 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xthree\empty +\global\badOrcidtrue +\else + \ifcat \xthree 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xfour\empty +\global\badOrcidtrue +\else + \ifcat \xfour 1\else + \if\xfour X + \else + \global\badOrcidtrue\fi + \fi +\fi +} + + + + + +%% Last digit might be X +\def\xauthor[#1]#2{\def\testone{#1-}\def\firstarg{#1} +\setbox0=\hbox{\expandafter\lookatOrcid\testone {}-{}-{}-{}- +\expandafter\lookforDigits\one {}{}{}{} +\expandafter\lookforDigits\two {}{}{}{} +\expandafter\lookforDigits\three {}{}{}{} +\expandafter\FinallookforDigits\four {}{}{}{}} +%% +\ifbadOrcid\let\go\orciderrormessage +\else\let\go\relax\fi\go +\ifbadOrcid\let\go\stop\else\let\go\relax\fi\go +\new@author@def{#1}{#2}} + +\def\yauthor{\@author@def{}} + +\def\altaffilmark#1{\typeout{^^J^^J\string\altaffilmark\space is no longer +needed. It will not do anything.^^J Please use +\string\altaffiliation\string{\string} instead.^^J^^J}\stop} + +\def\altaffiltext#1{\typeout{^^J^^J\string\altaffiltext\space is no longer +needed. It will not do anything.^^J Please use +\string\altaffiliation\string{\string} instead.^^J^^J}\stop} + + + + + +%% We do not need \and in list of authors. It is taken care of +%% automatically. Below is the definition from revtex4-1: +% +%\renewcommand\frontmatter@and{\class@err{\protect\and\space is not +% supported}} + +\newcount\AuthorCollaborationLimit +\let\AuthorCallLimit\AuthorCollaborationLimit +%% no limit for default +\AuthorCollaborationLimit=100 +\newcount\largestAffilNum + +\def\lookfornumbers#1#2#3#4#5#6#7#8#9{\def\one{#1} +\def\two{#2} +\def\three{#3} +\def\four{#4} +\def\five{#5} +\def\six{#6} +\def\seven{#7} +\def\eight{#8} +\def\nine{#9} +\ifnum\one>\largestAffilNum +\global\largestAffilNum=\one\fi +%%% +\ifx\two\empty\else +\ifnum\two>\largestAffilNum +\global\largestAffilNum=\two\fi\fi +%%% +\ifx\three\empty\else +\ifnum\three>\largestAffilNum +\global\largestAffilNum=\three\fi\fi +%%% +\ifx\four\empty\else +\ifnum\four>\largestAffilNum +\global\largestAffilNum=\four\fi\fi +%%% +\ifx\five\empty\else +\ifnum\five>\largestAffilNum +\global\largestAffilNum=\five\fi\fi +%%% +\ifx\six\empty\else +\ifnum\six>\largestAffilNum +\global\largestAffilNum=\six\fi\fi +%%% +\ifx\seven\empty\else +\ifnum\seven>\largestAffilNum +\global\largestAffilNum=\seven\fi\fi +%%% +\ifx\eight\empty\else +\ifnum\eight>\largestAffilNum +\global\largestAffilNum=\eight\fi\fi +%%% +\ifx\nine\empty\else +\ifnum\nine>\largestAffilNum +\global\largestAffilNum=\nine\fi\fi +} +\newcount\countauthors + + +\gdef\newcomma@space{\hskip-3pt\textsuperscript{,}}% + +\def\doEtAl{\rm et al.\gdef\doEtAl{\relax}} + +\def\doauthor#1#2#3{% +\iflongauthor\vskip6pt\fi +\global\advance\countauthors by 1 +\ifnum\countauthors>\AuthorCollaborationLimit +\doEtAl +\else +\ifnum\AuthorCollaborationLimit=1 +\let\@listand\relax +\fi + \ignorespaces\leavevmode\hbox{#1\unskip\@listcomma}% nice, keeps name from breaking across lines +\fi + \begingroup +\ifnum\countauthors>\AuthorCollaborationLimit\else + #3% all affil numbers +\ifx\@affilID@temp\empty +\else% +\setbox0=\hbox{\expandafter\lookfornumbers\@affilID@temp{}{}{}{}{}{}{}{}{}}% +\fi\fi +%% #2= \altaffiliation{} or \email{} or possibly anything other than author, affiliation, or collaboration +%%\endgroup{}{} %%this works. + \@if@empty{#2}{\endgroup{}{}} +{\ifnum\countauthors>\AuthorCollaborationLimit\else +\endgroup{\comma@space}{}\frontmatter@footnote{#2}\fi}% +\ifnum\countauthors>\AuthorCollaborationLimit\else \space \@listand\fi +}% + +\def\xxxdoauthor#1#2#3{% +\iflongauthor\vskip12pt\fi +\global\advance\countauthors by 1 +\ifnum\countauthors>\AuthorCollaborationLimit +\iflongauthor\vskip6pt\fi +\doEtAl +\else +\ifnum\AuthorCollaborationLimit=\countauthors +\iflongauthor\vskip6pt\fi +\let\@listand\relax +\fi + \ignorespaces\leavevmode\hbox{#1\unskip\@listcomma}% nice, keeps name from breaking across lines +\fi + \begingroup +\ifnum\countauthors>\AuthorCollaborationLimit\else +%% author names: + #3% +%all affil numbers: +\ifx\@affilID@temp\empty +\else% +\setbox0=\hbox{\expandafter\lookfornumbers\@affilID@temp{}{}{}{}{}{}{}{}{}}% +\fi\fi +%% #2= \altaffiliation{} or \email{} or possibly anything other than author, affiliation, or collaboration +%%\endgroup{}{} + \@if@empty{#2}{\endgroup{}{}} +{\ifnum\countauthors>\AuthorCollaborationLimit\else +\endgroup{\comma@space}{}\frontmatter@footnote{#2}\fi}% +\ifnum\countauthors>\AuthorCollaborationLimit\else \space \@listand\fi +}% + + +%%% +%% set \affil to match \affiliation found in revtex, since authors are accustomed to using \affil{} +\let\affil\affiliation + +\newif\iffirstaffil +\firstaffiltrue + +\def\@affil@script#1#2#3#4{% +\iffirstaffil +\ifmodern\vskip24pt\fi +\global\firstaffilfalse\fi%\fi + \@ifnum{#1=\z@}{}{% + \par + \begingroup + \frontmatter@affiliationfont + \@ifnum{\c@affil<\affil@cutoff}{}{% +\def\one{#1} +\ifnum\one<\largestAffilNum +%% this makes the numbers + \def\@thefnmark{#1}\@makefnmark\fi +\ifnum\one=\largestAffilNum + \def\@thefnmark{#1}\@makefnmark\fi + }% +% this makes the text +\ifnum\one<\largestAffilNum + \ignorespaces#3% +\fi +\ifnum\one=\largestAffilNum + \ignorespaces#3% +\fi + \@if@empty{#4}{}{\frontmatter@footnote{#4}}% + \par + \endgroup + }% +}% + +\def\frontmatter@maketitle{% +\@author@finish +\if@firstsection + \title@column\titleblock@produce +\onecolumngrid +\else +% +\global\firstaffiltrue + \title@column\secondtitleblock@produce +\fi + \suppressfloats[t]% +%% Prevent these from being turned off so that +%% we can use \maketitle again for \AllAuthors. +%% +% \let\and\relax + \let\affiliation\@gobble + \let\author\@gobble +% \let\@AAC@list\@empty +% \let\@AFF@list\@empty +% \let\@AFG@list\@empty +% \let\@AF@join\@AF@join@error +% \let\email\@gobble +% \let\@address\@empty +% \let\maketitle\relax +% \let\thanks\@gobble +\if@firstsection + \let\abstract\@undefined\let\endabstract\@undefined + \titlepage@sw{% + \vfil + %ADW: start text on first page + %\clearpage + }{}% +\fi +}% + +\let\maketitle\frontmatter@maketitle + +\def\secondtitleblock@produce{% + \begingroup + \ltx@footnote@pop + \def\@mpfn{footnote}% + \def\thempfn{\thefootnote}% + \c@footnote\z@ + \let\@makefnmark\frontmatter@makefnmark +% \frontmatter@setup + \thispagestyle{titlepage}%\label{FirstPage}% +% \frontmatter@title@produce + \groupauthors@sw{% + \frontmatter@author@produce@group + }{% + \frontmatter@author@produce@script + }% + \endgroup +}% + + +\def\allauthors{%% this conditional keeps \allauthors from turning on +%% unless \AuthorCollaborationLimit is used: +\ifnum\AuthorCollaborationLimit>0 +\ifnumlines\nolinenumbers\fi +\onecolumngrid +\clearpage +\AuthorCollaborationLimit=100 +\largestAffilNum=100 +{\vskip6pt\vskip1sp\centerline{\large\bf All Authors and +Affiliations\vrule depth 18pt width0pt}\nobreak +\maketitle +\fi +}} + +\let\AllAuthors\allauthors + +%% no club or widow lines +\widowpenalty=10000 +\clubpenalty\widowpenalty +\setlength{\footnotesep}{8pt} + +\ifmodern +\setlength{\voffset}{0in} +\setlength{\hoffset}{0in} +\setlength{\textwidth}{6in} +\setlength{\textheight}{9.2in} +\setlength{\headheight}{0ex} +\setlength{\headsep}{36pt} % this is 2 lines in ``manuscript'' +\setlength{\footnotesep}{0in} +\setlength{\topmargin}{-\headsep} +\setlength{\oddsidemargin}{0.25in} +\setlength{\evensidemargin}{0.25in} +\setlength{\parindent}{0.54\baselineskip} +\sloppy\sloppypar +\fi + + +\def\figurename{Figure} +\def\tablename{Table} +\def\fnum@figure{{\bf\figurename~\thefigure}} +\def\fnum@table{{\bf\tablename~\thetable}} + +\def\tempfootmark#1{} + +\newcount\c@affilcount + + \renewcommand*\altaffiliation[2][]{% + \@AF@join{#1#2\ifmodern\baselineskip=14pt\fi +}% + }% + +\def\correspondingauthor#1{{ +\renewcommand\thefootnote{\hskip-12pt} +\footnote{Corresponding author: #1\ifmodern\vrule depth 5pt +width 0pt\relax\fi}}} + +\let\saveemail\email +\def\email#1{{\let\ltx@footmark\tempfootmark +\saveemail{}} +{\renewcommand\thefootnote{\hskip-12.1pt} +\footnote{\href{mailto: #1}{#1}\ifmodern\vrule depth 7pt width +0pt\relax\else\ifmanu\vskip-4pt\else\vrule depth 7pt width 0pt\fi\fi}}} + + +\def\nocollaboration{% +\iflongauthor +\collaboration{\vbox to 0pt{\vss ---\vskip9pt}} +\else +\collaboration{\vbox to 0pt{\vss ---\vskip4pt}} +\fi +} + +%% gets rid of () around collaboration +\def\@collaboration@present#1#2#3#4{% +\par + \begingroup + \frontmatter@collaboration@above + \@affilID@def{}% + \@tempcnta\z@ + \@author@present{}{\ignorespaces#3\unskip}{#4}% + \par + \endgroup +\iflongauthor\vskip-6pt\else +\vskip6pt\fi + \set@listcomma@list#1% +}% + + +%%% These lines were commented out until a fix could be applied that +%%% addresses the underlying issues. The problme is that on Linux systems +%%% you can not write a "hidden" .bib file. There is no issue with this +%%% on Mac OS X nor Windows. +%%% get rid of \jobname Notes being sent to .aux file: +%\let\bibdata@app\relax +%\def\pre@bibdata{} + +\def\frontmatter@author@produce@script{% + \begingroup + \let\@author@present\@author@present@script + \frontmatterverbose@sw{\typeout{\string\frontmatter@author@produce@script:}\say\@AAC@list\say\@AFF@list\say\@AFG@list}{}% + \let\AU@temp\@empty + \@tempcnta\z@ + \let\AF@opr \@gobble + \def\AU@opr{\@author@count\@tempcnta}% + \def\CO@opr{\@collaboration@count\AU@temp\@tempcnta}% + \@AAC@list + \expandafter\CO@opr\@author@cleared + \begingroup + \frontmatter@authorformat + \let\AF@opr \@affilID@def + \let\AU@opr \@author@present + \def\CO@opr{\@collaboration@present\AU@temp}% + \set@listcomma@list\AU@temp + \@AAC@list +%% \, added to definition taken from revtex4-1 to prevent error message. +\, \unskip\unskip + \par + \endgroup + \begingroup + \frontmatter@above@affiliation@script + \let\AFF@opr \@affil@script + \@AFF@list + \frontmatter@footnote@produce + \par + \endgroup + \endgroup +}% + +\let\auto@bib\relax + +\newif\iffirstaffil +\firstaffiltrue + +%% These commands were in aastex earlier; I redefined. +\def\tighten{\global\tightentrue\normalsize} +\let\tightenlines=\tighten +\def\singlespace{\par\global\doublespacefalse\global\tightenfalse\normalsize} +\def\doublespace{\par\global\doublespacetrue\global\tightenfalse\normalsize} + +\bibliographystyle{aasjournal} + +\endinput + +%% Change Log +September 21, 2016 +Finishing Version 6.1 update + +===================== +August 27, 2016 +Many changes + +===================== +August 17 +Many changes: + +%% note: +%% this keeps tables from being set to \small, code used in Revtex4-1 +\let\table@hook\relax + +===================== +Feb 29, changes to table macros to center caption even if table is wider than +width of text; give error message if user asks to rotate table but +forgets to use \floattable before table; make rotating table be full +text width even if called for in double columns. + +March 1, reworking figure and table numbering for appendices. +Deleted recent definition of \appendix, returned to earlier version +with additions. + +================ +%% diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aps_macros.sty b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aps_macros.sty new file mode 100644 index 0000000..af8be53 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/aps_macros.sty @@ -0,0 +1,117 @@ +% +% ADW: This macro set is largely copied from AAS TeX macros (as seen +% below); however, the journal abbreviations have been changed to +% better match the APS bibliography style (i.e., for PRL, PRD, etc.) + +% These Macros are taken from the AAS TeX macro package version 5.2 +% and are compatible with the macros in the A&A document class +% version 7.0 +% Include this file in your LaTeX source only if you are not using +% the AAS TeX macro package or the A&A document class and need to +% resolve the macro definitions in the TeX/BibTeX entries returned by +% the ADS abstract service. +% +% If you plan not to use this file to resolve the journal macros +% rather than the whole AAS TeX macro package, you should save the +% file as ``aas_macros.sty'' and then include it in your LaTeX paper +% by using a construct such as: +% \documentstyle[11pt,aas_macros]{article} +% +% For more information on the AASTeX and A&A packages, please see: +% http://aastex.aas.org +% ftp://ftp.edpsciences.org/pub/aa/readme.html +% For more information about ADS abstract server, please see: +% http://adsabs.harvard.edu/ads_abstracts.html +% + +% Abbreviations for journals. The object here is to provide authors +% with convenient shorthands for the most "popular" (often-cited) +% journals; the author can use these markup tags without being concerned +% about the exact form of the journal abbreviation, or its formatting. +% It is up to the keeper of the macros to make sure the macros expand +% to the proper text. If macro package writers agree to all use the +% same TeX command name, authors only have to remember one thing, and +% the style file will take care of editorial preferences. This also +% applies when a single journal decides to revamp its abbreviating +% scheme, as happened with the ApJ (Abt 1991). + +\let\jnl@style=\rm +\def\ref@jnl#1{{\jnl@style#1}} + +\def\aj{\ref@jnl{Astron.\ J.}} % Astronomical Journal +\def\actaa{\ref@jnl{Acta Astron.}} % Acta Astronomica +\def\araa{\ref@jnl{Annu.\ Rev.\ Astron.\ Astrophys.}} % Annual Review of Astron and Astrophys +\def\apj{\ref@jnl{Astrophys.\ J.}} % Astrophysical Journal +\def\apjl{\ref@jnl{Astrophys.\ J.\ Lett.}}% Astrophysical Journal, Letters +\def\apjs{\ref@jnl{Astrophys.\ J.\ Suppl.\ Ser.}} % Astrophysical Journal, Supplement +\def\ao{\ref@jnl{Appl.~Opt.}} % Applied Optics +\def\apss{\ref@jnl{Ap\&SS}} % Astrophysics and Space Science +\def\aap{\ref@jnl{Astron.\ Astrophys.}} % Astronomy and Astrophysics +\def\aapr{\ref@jnl{A\&A~Rev.}} % Astronomy and Astrophysics Reviews +\def\aaps{\ref@jnl{A\&AS}} % Astronomy and Astrophysics, Supplement +\def\azh{\ref@jnl{AZh}} % Astronomicheskii Zhurnal +\def\app{\ref@jnl{Astropart.\ Phys.}} % Astroparticle Physics +\def\baas{\ref@jnl{BAAS}} % Bulletin of the AAS +\def\bac{\ref@jnl{Bull.\ astr.\ Inst.\ Czechosl.}} + % Bulletin of the Astronomical Institutes of Czechoslovakia +\def\caa{\ref@jnl{Chinese Astron.\ Astrophys.}} + % Chinese Astronomy and Astrophysics +\def\cjaa{\ref@jnl{Chinese J.\ Astron.\ Astrophys.}} + % Chinese Journal of Astronomy and Astrophysics +\def\icarus{\ref@jnl{Icarus}} % Icarus +\def\jcap{\ref@jnl{JCAP}} + % Journal of Cosmology and Astroparticle Physics +\def\jhep{\ref@jnl{J.\ High Energy Phys.}} + % Journal of High Energy Physics +\def\jrasc{\ref@jnl{JRASC}} % Journal of the RAS of Canada +\def\memras{\ref@jnl{MmRAS}} % Memoirs of the RAS +\def\mnras{\ref@jnl{Mon.\ Not.\ R.\ Astron.\ Soc.}} % Monthly Notices of the RAS +\def\na{\ref@jnl{New A}} % New Astronomy +\def\nar{\ref@jnl{New A Rev.}} % New Astronomy Review +\def\pr{\ref@jnl{Phys.\ Rev.}} % Physical Review +\def\pra{\ref@jnl{Phys.\ Rev.\ A}} % Physical Review A: General Physics +\def\prb{\ref@jnl{Phys.\ Rev.\ B}} % Physical Review B: Solid State +\def\prc{\ref@jnl{Phys.\ Rev.\ C}} % Physical Review C +\def\prd{\ref@jnl{Phys.\ Rev.\ D}} % Physical Review D +\def\pre{\ref@jnl{Phys.\ Rev.\ E}} % Physical Review E +\def\prl{\ref@jnl{Phys.\ Rev.\ Lett.}} % Physical Review Letters +\def\pasa{\ref@jnl{PASA}} % Publications of the Astron. Soc. of Australia +\def\pasp{\ref@jnl{PASP}} % Publications of the ASP +\def\pasj{\ref@jnl{PASJ}} % Publications of the ASJ +\def\rmxaa{\ref@jnl{Rev.\ Mexicana Astron.\ Astrofis.}}% + % Revista Mexicana de Astronomia y Astrofisica +\def\qjras{\ref@jnl{QJRAS}} % Quarterly Journal of the RAS +\def\skytel{\ref@jnl{S\&T}} % Sky and Telescope +\def\solphys{\ref@jnl{Sol.~Phys.}} % Solar Physics +\def\sovast{\ref@jnl{Soviet~Ast.}} % Soviet Astronomy +\def\ssr{\ref@jnl{Space~Sci.~Rev.}} % Space Science Reviews +\def\zap{\ref@jnl{ZAp}} % Zeitschrift fuer Astrophysik +\def\nat{\ref@jnl{Nature}} % Nature +\def\iaucirc{\ref@jnl{IAU~Circ.}} % IAU Cirulars +\def\aplett{\ref@jnl{Astrophys.~Lett.}} % Astrophysics Letters +\def\apspr{\ref@jnl{Astrophys.~Space~Phys.~Res.}} + % Astrophysics Space Physics Research +\def\bain{\ref@jnl{Bull.~Astron.~Inst.~Netherlands}} + % Bulletin Astronomical Institute of the Netherlands +\def\fcp{\ref@jnl{Fund.~Cosmic~Phys.}} % Fundamental Cosmic Physics +\def\gca{\ref@jnl{Geochim.~Cosmochim.~Acta}} % Geochimica Cosmochimica Acta +\def\grl{\ref@jnl{Geophys.~Res.~Lett.}} % Geophysics Research Letters +\def\jcp{\ref@jnl{J.~Chem.~Phys.}} % Journal of Chemical Physics +\def\jgr{\ref@jnl{J.~Geophys.~Res.}} % Journal of Geophysics Research +\def\jqsrt{\ref@jnl{J.~Quant.~Spec.~Radiat.~Transf.}} + % Journal of Quantitiative Spectroscopy and Radiative Transfer +\def\memsai{\ref@jnl{Mem.~Soc.~Astron.~Italiana}} + % Mem. Societa Astronomica Italiana +\def\nphysa{\ref@jnl{Nucl.~Phys.~A}} % Nuclear Physics A +\def\physrep{\ref@jnl{Phys.~Rep.}} % Physics Reports +\def\physscr{\ref@jnl{Phys.~Scr}} % Physica Scripta +\def\planss{\ref@jnl{Planet.~Space~Sci.}} % Planetary Space Science +\def\procspie{\ref@jnl{Proc.~SPIE}} % Proceedings of the SPIE + +\def\cpc{\ref@jnl{Comput.\ Phys.\ Commun.}} % Computational Physics Communication + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\let\applopt=\ao +% diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/docswitch.sty b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/docswitch.sty new file mode 100644 index 0000000..fa2a8ab --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/docswitch.sty @@ -0,0 +1,195 @@ +% +% This file provides the functionality for switching between journals. +% \setjournal{} +% +% Class names: +% revtex +% aastex +% emulateapj +% mnras +% lsstdescnote +% +% Journal names: +% apj (aastex61) +% apjl (emulateapj) +% prl (revtex) +% prd (revtex) +% mnras (mnras) +% tex (lsstdescnote) +% +% Alex Drlica-Wagner +% + +\RequirePackage{etoolbox} + +\newtoggle{revtex} +\newtoggle{aastex} +\newtoggle{aastex61} +\newtoggle{mnras} +\newtoggle{emulateapj} +\newtoggle{lsstdescnote} +\newtoggle{default} + +\newcommand{\toggle@class}[1]{% + % Initialize the toggles + \togglefalse{revtex} + \togglefalse{aastex} + \togglefalse{aastex61} + \togglefalse{mnras} + \togglefalse{emulateapj} + + % Journals that map to revtex + \ifdefstring{#1}{revtex}{\toggletrue{revtex}}{}% + \ifdefstring{#1}{prl}{\toggletrue{revtex}}{}% + \ifdefstring{#1}{prd}{\toggletrue{revtex}}{}% + + % Journals that map to aastex + \ifdefstring{#1}{aastex}{\toggletrue{aastex}}{}% + + % Journals that map to aastex61 + \ifdefstring{#1}{aastex61}{\toggletrue{aastex61}}{}% + \ifdefstring{#1}{apjl}{\toggletrue{aastex61}}{}% + \ifdefstring{#1}{apj}{\toggletrue{aastex61}}{}% + + % Journals that map to emulateapj + \ifdefstring{#1}{emulateapj}{\toggletrue{emulateapj}}{}% + + % Journals that map to mnras + \ifdefstring{#1}{mnras}{\toggletrue{mnras}}{}% + + % Journals that map to lsstdescnote + \ifdefstring{#1}{lsstdescnote}{\toggletrue{lsstdescnote}}{}% + \ifdefstring{#1}{tex}{\toggletrue{lsstdescnote}}{}% + + % Set default journal + \ifdefempty{#1}{\toggletrue{revtex}}{}% +} + +\newcommand{\setjournal}[1]{ + \toggle@class{#1} + + % Set up some default values (revtex): + %\providecommand\docopts{aps,prl,reprint,superscriptaddress, + % floatfix,nofootinbib,showkeys,showpacs} + \providecommand\docopts{} + \providecommand\docclass{revtex4-1} + \providecommand\docmacros{aps_macros} + \providecommand\doctitle{ + \input{\authlist} + \date{\today} + \maketitle + } + \providecommand\maketitlepre{} + \providecommand\maketitlepost{\doctitle} + \providecommand\dockeys{\keywords} + + \ifdef{\authlist}{}{ + \providecommand\authlist{authors} + } + \providecommand\tabletype{table} + \providecommand\hypopts{all} + \providecommand\bibsty{apsrev4-1} + \providecommand\linenums{} + + % Set the values for lsstdescnote + \iftoggle{lsstdescnote}{ + \renewcommand\docopts{modern} + \renewcommand\docclass{lsstdescnote} + \renewcommand\docmacros{aas_macros} + \renewcommand\doctitle{ + \input{\authlist} + \maketitle + } + \renewcommand\tabletype{deluxetable} + \renewcommand\bibsty{apj} + }{} + + % Journals derived from revtex + \iftoggle{revtex}{ + \renewcommand\docopts{aps,prl,reprint,superscriptaddress, + floatfix,nofootinbib,showkeys,showpacs} + \renewcommand\docclass{revtex4-1} + \renewcommand\docmacros{aps_macros} + \renewcommand\doctitle{ + \input{\authlist} + \date{\today} + \maketitle + } + \renewcommand\tabletype{table} + \renewcommand\bibsty{apsrev4-1} + + % Use the defaults for PRL + \ifdefstring{#1}{prl}{ + \renewcommand\docopts{aps,prl,reprint,superscriptaddress, + floatfix,nofootinbib,showkeys,showpacs} + }{} + + % Set the values for PRD + \ifdefstring{#1}{prd}{ + \renewcommand\docopts{aps,prd,preprint,superscriptaddress, + floatfix,nofootinbib,showkeys} + }{} + }{} + + % Set the values for emulateapj + \iftoggle{emulateapj}{ + \renewcommand\docopts{iop,revtex4-1} + \renewcommand\docclass{emulateapj} + \renewcommand\docmacros{aas_macros} + \renewcommand\doctitle{ + \input{\authlist} + \maketitle + } + \renewcommand\hypopts{figure,figure*} + \renewcommand\tabletype{deluxetable*} + \renewcommand\bibsty{apj} + }{} + + % Set the values for aastex + \iftoggle{aastex}{ + \renewcommand\docopts{preprint} + \renewcommand\docclass{aastex} + \renewcommand\docmacros{aas_macros} + \renewcommand\doctitle{ + \input{\authlist} + \maketitle + } + \renewcommand\tabletype{deluxetable} + \renewcommand\bibsty{apj} + }{} + + % Set values for aastex61 + \iftoggle{aastex61}{ + \renewcommand\docopts{twocolumn} + \renewcommand\docclass{aastex61} + \renewcommand\docmacros{aas_macros} + \renewcommand\doctitle{ + \input{\authlist} + } + \renewcommand\tabletype{deluxetable} + \renewcommand\bibsty{apj} + + % Set the values for ApJ + \ifdefstring{#1}{apj}{ + \renewcommand\docopts{twocolumn} + }{} + + % Set the values for ApJL + \ifdefstring{#1}{apjl}{ + \renewcommand\docopts{twocolumn,tighten} + }{} + }{} + + % Set the values for MNRAS + \iftoggle{mnras}{ + \renewcommand\docopts{a4paper,fleqn,usenatbib} + \renewcommand\docclass{mnras} + \renewcommand\docmacros{aas_macros} + \renewcommand\dockeys[1]{\begin{keywords}{##1}\end{keywords}} + \renewcommand\bibsty{mnras} + \renewcommand\maketitlepre{\doctitle} + \renewcommand\maketitlepost{} + }{} + +} +% diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/emulateapj.cls b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/emulateapj.cls new file mode 100644 index 0000000..16c6229 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/emulateapj.cls @@ -0,0 +1,1896 @@ +%% +%% This is emulateapj.cls, version January 23, 2015 +%% For the latest version check http://hea-www.harvard.edu/~alexey/emulateapj +%% +%% NOTE: ApJ has moved its publishing to IOP and they have slightly changed +%% the formatting. To implement these changes, call emulateapj with the iop +%% option, as in +%% \documentclass[iop]{emulateapj} +%% +%% Other available options: +%% +%% [chicago] - (default) typeset as was done in the University of Chicago Press +%% [twocolumn] - (default) two-column mode +%% [onecolumn] - main text in one-column mode +%% [apj] - typeset as for main journal +%% [apjl] - (default) typeset as for ApJ Letters +%% [tighten] - some adjustments to approximate grid typesetting +%% [numberedappendix] - number appendix sections as A, B, etc +%% [appendixfloats] - use separate numbering for floats within appendix +%% [twocolappendix] - make appendix in two-col mode in a two-col paper +%% [revtex4] - force using revtex4 +%% [astrosymb] - load Astrosymb font and define \astro commands from aastex +%% +%% NOTE 2: Starting from version 11/10/2009, emulateapj tries to load +%% revtex4-1 if present on the system. This may cause small changes in +%% typesetting for old documents. Also, revtex4-1 does not interact +%% well with the lscape package which is needed for typesetting of +%% long rotated tables. If you want full compatibility, please +%% download the last version based on revtex4, +%% http://hea-www.harvard.edu/~alexey/emulateapj/emulateapj-rtx4.cls +%% and bundle it with your TeX source code. Starting with the +%% 8/17/2012 version, you can also use the [revtex4] option. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Copyright 2000-2015 Alexey Vikhlinin +%% +%% The first version of this package was written by Maxim Markevitch. +%% Pieces of AASTeX code are used for compatibility with aastex.cls. +%% +%% This program can be redistributed and/or modified under the terms of +%% the LaTeX Project Public License available from CTAN archives in +%% macros/latex/base/lppl.txt. This means you are free to use and +%% distribute this package; however, if you modify anything, please +%% change the file name and remove the author's email address. +%% +%% Alexey Vikhlinin +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% `emulateapj' is a LaTeX2e class to emulate the Astrophysical Journal +%% (ApJ) page layout. The page length of the resulting document is very +%% close to that in ApJ when Times fonts are used instead of the LaTeX +%% default CM fonts. +%% +%% If a manuscript is prepared for ApJ submission using the standard +%% American Astronomical Society LaTeX macros and the `aastex' style +%% (see instructions for authors on the ApJ web site), the only thing +%% required from the user should be to replace \documentclass{aastex} +%% with \documentclass{emulateapj}, and perhaps resize figures as +%% desired and replace {deluxetable} with {deluxetable*}. Possible minor +%% problems are described below. +%% +%% emulateapj requires revtex4.cls. If you don't have it already, it can be +%% downloaded from http://publish.aps.org/revtex4/ (it's a small package). +%% Other extrnal packages used are latexsym, graphicx, amssymb, longtable, +%% epsf. They should already be present in the modern TeX distributions; if +%% not, download them from www.ctan.org. +%% +%% +%% For release notes and change log, see at bottom +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\emulapj@ver{01/23/15} + + +\ProvidesClass{emulateapj} + +\newif\if@revtex@four@one@ +\@revtex@four@one@true +\DeclareOption{revtex4}{\@revtex@four@one@false} + +\newif\if@two@col +\DeclareOption{twocolumn}{\@two@coltrue} +\DeclareOption{onecolumn}{\@two@colfalse} + +\newif\if@two@col@app +\DeclareOption{twocolappendix}{\@two@col@apptrue} +\DeclareOption{onecolappendix}{\@two@col@appfalse} + + +\newif\if@chicago +\DeclareOption{chicago}{\@chicagotrue} +\DeclareOption{iop}{\@chicagofalse} + +\newlength{\bibbaselineskip}\setlength{\bibbaselineskip}{3.075mm} +\newif\if@apj@letter +\DeclareOption{apj}{ + \setlength{\bibbaselineskip}{2.7mm} + \def\apjsecfont{\normalsize} + \def\secnum@size{\small} + \def\subsecnum@size{\normalsize} + \@apj@letterfalse +} +\DeclareOption{apjl}{ + \setlength{\bibbaselineskip}{3.075mm} + \def\apjsecfont{\footnotesize} + \def\secnum@size{\small} + \def\subsecnum@size{\small} + \@apj@lettertrue +} + +\DeclareOption{astrosymb}{ + \def\astro#1{\leavevmode\hbox{\astro@font#1}}% + \def\load@astro@font{% + \font\astro@font=Astrosym at\f@size pt + }% + \AtBeginDocument{\load@astro@font} +} + +\DeclareOption{tighten}{ +% lineskiplimits to facilitate grid typesetting + \lineskiplimit=-2mm +} + +\def\AppendixApjSectionMarkInTitle#1{\relax} +\DeclareOption{numberedappendix}{ + \def\AppendixApjSectionMarkInTitle#1{#1.\ } +} + +\newif\if@number@appendix@floats\@number@appendix@floatsfalse +\DeclareOption{appendixfloats}{ + \@number@appendix@floatstrue +} + + +\def\center@table@notes{% + \def\@spew@tblnotes{% + \centerline{\begin{minipage}{\pt@width}\spew@tblnotes\end{minipage}}% + }% +} + +\def\left@just@table@notes{% + \def\@spew@tblnotes{\spew@tblnotes}% +} + + +\left@just@table@notes + +\ExecuteOptions{apjl,twocolumn,chicago,onecolappendix} + +\ProcessOptions + +\if@revtex@four@one@ + \IfFileExists{revtex4-1.cls}{ + \def\@revtex@cls{revtex4-1} + }{ + \@revtex@four@one@false + \def\@revtex@cls{revtex4} + } +\else + \def\@revtex@cls{revtex4} +\fi + +\let\@startsection@from@latex=\@startsection + +\if@two@col + \LoadClass[twocolumn,nofootinbib,showkeys,twoside,floatfix,unsortedaddress,flushbottom,10pt,aps,pra]{\@revtex@cls} +\else + \LoadClass[nofootinbib,showkeys,twoside,floatfix,unsortedaddress,flushbottom,notitlepage,10pt,aps,pra]{\@revtex@cls} +\fi +\def\blankaffiliation{~}% + +\if@chicago + \def\@eapj@cap@font{\scshape} + \def\@eapj@figname{Fig.} + \def\@eapj@tabname{TABLE} + \def\@eapj@ApJLetters{ApJ} +\else + \def\@eapj@cap@font{\bfseries} + \def\@eapj@figname{Figure} + \def\@eapj@tabname{Table} + \def\@eapj@ApJLetters{ApJL} +\fi + +% Restore natbib package without sorting. +\def\NAT@sort{0} +\def\NAT@cmprs{0} +% only redefine sort@cites for natbib versions < 2009 +\@ifundefined{NAT@sort@cites@}{\def\NAT@sort@cites#1{\edef\NAT@cite@list{#1}}}% + +\RequirePackage{latexsym}% +\RequirePackage{graphicx}% +\RequirePackage{amssymb}% +\RequirePackage{longtable}% + +\newcommand{\bibstyle@aas}{\bibpunct{(}{)}{;}{a}{}{,}}% +\@citestyle{aas}% + + +\let\@startsection=\@startsection@from@latex +\def\baselinestretch{1.0} +\AtBeginDocument{\def\arraystretch{1.0}} + +\if@revtex@four@one@ +\def\raggedcolumn@sw#1#2{#2} % implement flushbottom as it was in revtex4 +\fi + +\RequirePackage{epsf,graphicx} + +%%%%%%%% The following code is taken from size10.clo; it fixes +%%%%%%%% aastex's definition of type sizes +\renewcommand\normalsize{% + \@setfontsize\normalsize\@xpt{10.56} + \abovedisplayskip 2.2mm \@plus2\p@ \@minus1\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 2.2mm \@plus2\p@ \@minus1\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} +\normalsize +\renewcommand\small{% + \@setfontsize\small\@ixpt{9.68}% + \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus2\p@ + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 4\p@ \@plus2\p@ \@minus2\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\renewcommand\footnotesize{% + \@setfontsize\footnotesize\@viiipt{8.36}% + \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 3\p@ \@plus\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\renewcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} +\renewcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} +\renewcommand\large{\@setfontsize\large\@xiipt{14}} +\renewcommand\Large{\@setfontsize\Large\@xivpt{18}} +\renewcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}} +\renewcommand\huge{\@setfontsize\huge\@xxpt{25}} +\renewcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} +\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@} +\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@} +\setlength\headheight{12\p@} +\def\@listi{\leftmargin\leftmargini + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep4\p@ \@plus2\p@ \@minus\p@} +\let\@listI\@listi +\@listi +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 4\p@ \@plus2\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep 2\p@ \@plus\p@\@minus\p@ + \parsep \z@ + \partopsep \p@ \@plus\z@ \@minus\p@ + \itemsep \topsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} + + + + +% **************************************************** +% * TWO AND SINGLE ONE COLUMN STYLES: AV * +% **************************************************** +% + +%%%%% include atbeginend.sty by AV: + +% Copy \begin and \end to \BeginEnvironment and \EndEnvironment +\let\BeginEnvironment=\begin +\let\EndEnvironment=\end +%% \ifundefined from TeXbook +\def\IfUnDef#1{\expandafter\ifx\csname#1\endcsname\relax} +% Null command needed to eat its argument +\def\NullCom#1{} +\def\begin#1{% +% if defined \BeforeBeg for this environment, execute it +\IfUnDef{BeforeBeg#1}\else\csname BeforeBeg#1\endcsname\fi% +\IfUnDef{AfterBeg#1}% This is done to skip the command for environments + % which can take arguments, like multicols; YOU MUST NOT + % USE \AfterBegin{...}{...} for such environments! + \let\SaveBegEnd=\BeginEnvironment% +\else + % Start this environment + \BeginEnvironment{#1}% + % and execute code after \begin{environment} + \csname AfterBeg#1\endcsname + \let\SaveBegEnd=\NullCom +\fi +\SaveBegEnd{#1} +} +\def\end#1{% +% execute code before \end{environment} +\IfUnDef{BeforeEnd#1}\else\csname BeforeEnd#1\endcsname\fi% +% close this environment +\EndEnvironment{#1} +% and execute code after \begin{environment} +\IfUnDef{AfterEnd#1}\else\csname AfterEnd#1\endcsname\fi% +} +\long\def\BeforeBegin#1#2{\expandafter\gdef\csname BeforeBeg#1\endcsname {#2}} +\long\def\BeforeEnd #1#2{\expandafter\gdef\csname BeforeEnd#1\endcsname {#2}} +\long\def\AfterBegin #1#2{\expandafter\gdef\csname AfterBeg#1\endcsname {#2}} +\long\def\AfterEnd #1#2{\expandafter\gdef\csname AfterEnd#1\endcsname{#2}} + +%%%% end of atbeginend.sty + +% **************************************** +% * PAGE LAYOUT * +% **************************************** + +% Page size, spacing parameters, etc. + +\textwidth=7.1in +\columnsep=0.3125in +\parindent=0.125in +\voffset=-20mm +\hoffset=-7.5mm + +\topmargin=0in +\headheight=.15in +\headsep=0.5in +\oddsidemargin=0in +\evensidemargin=0in +\parskip=0cm + +%\tolerance=600 % 3x "normal" value; cuts down on overfull complaints + +%% AV,MM, to have 64 lines per column, with textheight 25cm: +\textheight=64\baselineskip +\textheight=\baselinestretch\textheight +\ifdim\textheight>25.2cm\textheight=25.0cm\fi + +\topskip\baselineskip +\maxdepth\baselineskip + + +\let\tighten=\relax +\let\tightenlines=\tighten +\let\singlespace=\relax +\let\doublespace=\relax + +\def\eqsecnum{ + \@newctr{equation}[section] + \def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} + +%% running heads: +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} +\let\shorttitle=\lefthead % New AASTEX commands +\let\shortauthors\righthead % New AASTEX commands + +\if@chicago +%% MM Create "apjheads" page style: +\def\ps@apjheads{\let\@mkboth\markboth + \def\@evenfoot{} + \def\@evenhead{\lower9mm\hbox to\textwidth{ + \rm\thepage\hfil \rm\@rectohead \hfil}}} + \def\@oddfoot{} + \def\@oddhead{\lower9mm\hbox to\textwidth{ + \hfil\rm\@versohead\hfil \rm\thepage}} +\else +\def\ps@apjheads{\let\@mkboth\markboth + \def\@evenfoot{} + \def\@evenhead{\lower9mm\hbox to\textwidth{ + \rm\thepage\hfil \rm\textsc{\@rectohead} \hfil}}} + \def\@oddfoot{} + \def\@oddhead{\lower9mm\hbox to\textwidth{ + \hfil\rm\textsc{\@versohead}\hfil \rm\thepage}} +\fi + +\@twosidetrue +\ps@apjheads + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% TITLE PAGE % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\long\def\frontmatter@title@above{ +\vspace*{-\headsep}\vspace*{\headheight} +\footnotesize +{\footnotesize\textsc{\@journalinfo}}\par +{\scriptsize Preprint typeset using \LaTeX\ style emulateapj v.\ + \emulapj@ver}\par\vspace*{-\baselineskip}\vspace*{0.625in} +}% +\def\frontmatter@title@produce{% + \begingroup + \frontmatter@title@above + \frontmatter@title@format + \@title + \@ifx{\@title@aux\@title@aux@cleared}{}{% + \expandafter\frontmatter@footnote\expandafter{\@title@aux}% + }% + \par +%% \class@warn{Unused short title ignored}% + \frontmatter@title@below + \endgroup +}% +\renewcommand\title[2][]{% + \def\@title{\uppercase{#2}}% + \def\@shorttitle{#1}% + \let\@AF@join\@title@join +}% +\def\frontmatter@title@format{\normalsize\centering} +\def\frontmatter@title@below{\vspace*{-2.63\baselineskip\vspace*{0.25in}}}% + +\def\frontmatter@above@affilgroup{\vspace*{0.25in}}% +\def\frontmatter@authorformat{\small\scshape\centering}% +\def\frontmatter@affiliationfont{\normalfont\footnotesize}% + +\def\frontmatter@finalspace{\vspace*{-\baselineskip}\vspace*{0.375in}} + +\def\@separator{\\}% + +\def\frontmatter@footnote#1{% + \begingroup + \@booleanfalse\temp@sw + \def\@tempa{#1}% + \let\@tempb\@empty + \def\@TBN@opr{\y@match\@tempa}% + \@FMN@list + \temp@sw{% + \expandafter\frontmatter@footnotemark + \expandafter{\@tempb}% + }{% + \def\@thefnmark{\relax} + \frontmatter@footnotetext{#1} + }% + \endgroup +}% + +\newcounter{front@matter@foot@note}\setcounter{front@matter@foot@note}{0} + +\def\frontmatter@above@affiliation{\vspace*{0.5mm}}% +\renewcommand\affiliation[1]{% + \move@AU\move@AF% + \begingroup% + \@affiliation{\hspace*{2mm}#1}% +}% +\let\affil=\affiliation + +\def\affil@mark#1{\textsuperscript{#1}} +\def\affile@mark@pad{0.2em} + +\def\altaffilmark#1{\affil@mark{#1}} + +% Fight poor revtex algorithm for altaffiliation: +\def\@alt@affil@kill@next@symbol#1{\relax} +\newtoks\alt@affil@toks \alt@affil@toks{\@alt@affil@kill@next@symbol} +\newtoks\alt@affil@toks@count \alt@affil@toks@count{} + + +\def\altaffiltext#1#2{% +\global\alt@affil@toks\expandafter{\the\alt@affil@toks\\\hspace*{3mm}\affil@mark{#1}\hspace*{\affile@mark@pad}#2}% +\global\alt@affil@toks@count\expandafter{\the\alt@affil@toks@count\stepcounter{front@matter@foot@note}}% +} +\let\@author@finish@revtex=\@author@finish +\def\@author@finish{% +\if!\the\alt@affil@toks@count!% +\relax +\else +\altaffiliation{\the\alt@affil@toks}\the\alt@affil@toks@count +\fi +\@author@finish@revtex +} + +%\def\altaffiltext#1#2{\altaffiliation{\hspace*{3mm}\textsuperscript{#1}\hspace*{0.7mm}#2}\stepcounter{front@matter@foot@note}} + +%% end altaffiliation + +\let\old@foot@note@mark=\footnotemark +\let\old@foot@note@text=\footnotetext +\def\footnotemark[#1]{\altaffilmark{#1}} +\def\footnotetext[#1]#2{\altaffiltext{#1}{#2}} + +% ABSTRACT +\if@chicago + \def\frontmatter@abstractfont{\normalsize\parindent=0.125in}% +\else + \def\frontmatter@abstractfont{\normalsize\parindent=0.0in}% +\fi +\def\frontmatter@abstractwidth{6in} +\def\frontmatter@preabstractspace{0.0\baselineskip} +\def\frontmatter@postabstractspace{0.0\baselineskip} + +\def\abstractname{ABSTRACT} +\long\def\frontmatter@abstractheading{% + \vspace*{-\baselineskip}\vspace*{1.5pt} + \centerline{\itshape\footnotesize\@submitted} + \vspace*{0.13189in} + \begingroup + \centering + \abstractname + \vskip 1mm + \par + \endgroup + \everypar{\rightskip=0.5in\leftskip=\rightskip}\par +}% + +% Redefine the LaTeX \and command for this style. +\def\and{\author{\vspace*{-0.2in}and\vspace*{-0.558cm}}\noaffiliation} +\def\@listand{\@ifnum{\@tempcnta=\tw@}{\andname\space}{}}% + +% **************************************** +% * KEYWORDS * +% **************************************** + +\if@chicago + \def\@keys@name{\textit{Subject headings:}\/~\mbox{}}% +\else + \def\@keys@name{\textit{Keywords:}\/~\mbox{}}% +\fi +\newlength{\keys@width} +\def\frontmatter@keys@format{\vspace*{0.5mm}% + \settowidth{\keys@width}{\normalsize\@keys@name}% + \rightskip=0.5in\leftskip=\rightskip\parindent=0pt% + \hangindent=\keys@width\hangafter=1\normalsize}% +\def\@keywords@produce#1{% + \showKEYS@sw{% + \begingroup% + \frontmatter@keys@format% + \@keys@name#1\par + \endgroup + }{% + \@if@empty{#1}{}{% + \class@warn{If you want your keywords to appear in your output, use document class option showkeys}% + }% + }% +}% + +\let\subjectheadings=\keywords + +% **************************************** +% * FOOTNOTES * +% **************************************** + +% Modify code from revtex: +\def\@xfootnotemark@ltx[#1]{% + \begingroup +% \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{#1}% + \endgroup + \H@@footnotemark +}% +% Modify code from LaTeX to fix footnotes: +\def\@xfootnotenext[#1]{% + \begingroup +% \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{#1}% + \endgroup + \@footnotetext} + + + +% Footnotes on the last page: user issues \lastpagefootnotes. It catches all +% footnotes and issues them before \begin{refernces} or +% \begin{\thebibliography} or \begin{appendix}, whichever comes first, +% at the end of right column. +\newcounter{lastfootnote} +\let\orig@footnote=\footnote +% +\def\spit@out@footnotes@{\addtocounter{footnote}{-\c@lastfootnote}\vspace*{-\baselineskip}\vspace*{\skip\footins}\bgroup\footnotesize\lastfootnote\par\egroup\let\footnote=\orig@footnote} +% +\let\spit@out@footnotes\relax +% +\long\def\lastpagefootnotes{% +\raggedbottom% Have to use flushbottom with revtex4-1 but it eats away + % last page footnotes +\setcounter{lastfootnote}{0} +\long\gdef\lastfootnote{\mbox{}} +\let\spit@out@footnotes\spit@out@footnotes@ +\long\def\footnote##1{\refstepcounter{lastfootnote}\footnotemark\g@addto@macro\lastfootnote{\\[\footnotesep]\refstepcounter{footnote}\mbox{}\hspace*{3mm}\textsuperscript{\thefootnote}~##1}} +% We need to mess with footnotes in appendiz only if it is in a +% different mode (twocol vs onecol) than the main text +\def\mess@with@appendix@footnotes{ +\BeforeBegin{appendix}{\spit@out@footnotes\let\spit@out@footnotes\relax} +\BeforeEnd{appendix}{\spit@out@footnotes\let\spit@out@footnotes\relax} +\AfterEnd{appendix}{\let\footnote=\orig@footnote} +} +\if@two@col + \if@two@col@app\else + \mess@with@appendix@footnotes + \fi +% \else % Something is broken for pathological case of 2col appendix in +% % a 1col paper, so comment this out +% \if@two@col@app +% \mess@with@appendix@footnotes +% \fi +\fi + +\BeforeBegin{references}{\spit@out@footnotes\let\spit@out@footnotes\relax} +\BeforeBegin{thebibliography}{\spit@out@footnotes\let\spit@out@footnotes\relax} +% in case \lastpagefootnotes were given inside \begin{appendix}\end{appendix}, +\AfterEnd{references}{\let\footnote=\orig@footnote} +\AfterEnd{thebibliography}{\let\footnote=\orig@footnote} +} +\let\lastpagefootnote=\lastpagefootnotes + +\if@revtex@four@one@\else +% this command is copied from the original revtex, but adds space above +% footnote (if any) above the references. +\@namedef{balance@2}{% + \expandafter\balance@two\csname col@1\endcsname\@outputbox + % Avoid a bug by preventing a restore when leaving this group + \global\setbox\csname col@1\endcsname\box\csname col@1\endcsname + \@ifvoid\footbox{}{% + \global\setbox\footbox\vbox{% + \setbox\z@\box\@tempboxa + \let\recover@footins\relax + \balance@two\footbox\@tempboxa + \vskip\skip\footins + \hb@xt@\textwidth{\box\footbox\hfil\box\@tempboxa}% + }% + }% +}% +\fi + +\skip\footins 4.5mm plus 1mm minus 1mm +\footnotesep 0pt +\let\footnoterule\relax + +\def\@makefntext#1{\mbox{}\hspace*{3mm}\@makefnmark~#1} + +\def\notetoeditor#1{}% % We do not need notes to editor in the preprint +\def\placetable#1{}% % We do not need notes to editor in the preprint +\def\placefigure#1{}% % We do not need notes to editor in the preprint + +% **************************************** +% * SECTIONS * +% **************************************** + +\setcounter{secnumdepth}{3} + +\newif\if@firstsection \@firstsectiontrue + +\def\section{% + \if@firstsection\@firstsectionfalse + \maketitle\setcounter{footnote}{\thefront@matter@foot@note}% + \let\footnotetext=\old@foot@note@text + \let\footnotemark=\old@foot@note@mark + \fi + \@startsection{section}{1}{\z@}{9pt plus 2pt minus 1pt}{4pt}{\apjsecfont\center}} + +\def\subsection{\@startsection{subsection}{2}{\z@}{9pt plus 1pt minus 1pt}{4pt}% + {\normalsize\itshape \center}} + +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {2ex plus 1ex minus .2ex}{1ex plus .2ex}{\small\itshape \center}} + +\def\paragraph{\@startsection{paragraph}{4}{\z@}% + {1.5ex plus 1ex minus .2ex}{-0.5\parindent}{\small\it}} + +\def\subparagraph{\@startsection{subparagraph}{5}{\z@}% + {1ex plus 1ex minus .2ex}{-0.5\parindent}{\small\it}} + +\def\thesection{\@arabic{\c@section}} +\def\thesubsection{\thesection.\@arabic{\c@subsection}} +\def\thesubsubsection{\thesubsection.\@arabic{\c@subsubsection}} +\def\theparagraph{\thesubsubsection.\@arabic{\c@paragraph}} +\def\p@section {} +\def\p@subsection {} +\def\p@subsubsection {} +\def\p@paragraph {} +\def\p@subparagraph {} + + +\def\sec@upcase#1{\uppercase{#1}} +\def\subsec@upcase#1{\relax{#1}} + +% +% How the section number will appear in the section title - AV +\def\ApjSectionMarkInTitle#1{#1.\ } +\def\ApjSectionpenalty{0} + +\def\@sect#1#2#3#4#5#6[#7]#8% +{\@tempskipa #5\relax + \ifdim \@tempskipa >\z@ \begingroup + #6\relax + \ifnum #2>\c@secnumdepth \def \@svsec {}\else + \refstepcounter{#1} \edef \@svsec {\ApjSectionMarkInTitle + {\csname the#1\endcsname}}\fi + \@hangfrom {\hskip #3\relax + \ifnum #2=1{\secnum@size {\rm\@svsec~}}% + \else {\subsecnum@size {\rm\@svsec~}}\fi }% + {\interlinepenalty \@M + \ifnum #2=1\sec@upcase{#8}% + \else \subsec@upcase{#8}\fi\par}\endgroup + \csname #1mark\endcsname {#7}\addcontentsline{toc}{#1}% + {\ifnum #2>\c@secnumdepth \else \protect \numberline + {\csname the#1\endcsname }\fi #7}% + \else + \ifnum #2>\c@secnumdepth \def \@svsec {}\else + \refstepcounter{#1} \edef \@svsec {\ApjSectionMarkInTitle + {\csname the#1\endcsname}}\fi + \def \@svsechd {#6\hskip #3% + \ifnum #2=1{\secnum@size{\rm\@svsec~}}\else{\subsecnum@size{\rm\@svsec~}}\fi% + \ifnum #2=1\sec@upcase{#8}\else\subsec@upcase{#8}\fi% + \ifnum #2=4\hskip 0.4ex{\rm ---}\fi% + \csname #1mark\endcsname {#7}\addcontentsline{toc}{#1}% + {\ifnum #2>\c@secnumdepth \else \protect \numberline {\csname + the#1\endcsname }\fi #7}}\fi \@xsect {#5} \penalty \ApjSectionpenalty +%-refstepcounter is now within a group. So \@currentlabel, which is normally +%-set by \refstepcounter is hidden within a group. Need to set it manually. +\protected@edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname} +} + + +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M + \sec@upcase{#5}\par}\endgroup + \else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi + \@xsect{#3} +% MM: +\penalty \ApjSectionpenalty} + + +\def\acknowledgments{\vskip 5.8mm plus 1mm minus 1mm} +\let\acknowledgements=\acknowledgments % second spelling + + +% **************************************** +% * APPENDIX * +% **************************************** + +\newcounter{remember@figure@num} +\newcounter{remember@table@num} + +\renewenvironment{appendix}[0]{ + \vspace*{0pt plus 20pt minus 5pt} % otherwise revtex4-1 sometimes eats +% away the last line before appendix + \if@two@col + \if@two@col@app\else + \onecolumngrid + \fi + % \else% Something is broken for pathological case of 2col appendix in + % % a 1col paper, so comment this out + % \if@two@col@app + % \set@column@hsize{2}\twocolumngrid + % \fi + \fi + \vskip 10pt plus 2pt minus 1pt + \noindent\mbox{}\hfill{\apjsecfont APPENDIX}\hfill\mbox{}\par + \nopagebreak\medskip\@nobreaktrue\def\ApjSectionpenalty{\@M} + \@firstsectionfalse + \setcounter{section}{0} + \setcounter{subsection}{0} + \setcounter{equation}{0} + \setcounter{remember@figure@num}{\c@figure} + \setcounter{remember@table@num}{\c@table} +% \def\fnum@figure{Figure \Alph{section}\thefigure:} +% \def\fnum@table{Table \Alph{section}\thetable:} + \def\thesection{\Alph{section}} + \def\theequation{\hbox{\Alph{section}\arabic{equation}}} + + \if@number@appendix@floats + \setcounter{figure}{0} + \setcounter{table}{0} + \def\thefigure{\thesection\@arabic\c@figure} + \def\thetable{\thesection\@arabic\c@table} + \fi +% +% Do not use appendix numbers in the titles + \def\ApjSectionMarkInTitle{\AppendixApjSectionMarkInTitle} + \def\section{\setcounter{equation}{0}\if@number@appendix@floats\setcounter{figure}{0}\setcounter{table}{0}\fi\@startsection {section}{1}{\z@} + {10pt}{5pt}{\centering\scshape\apjsecfont}} +% +% + }{% + \if@number@appendix@floats + \setcounter{figure}{\c@remember@figure@num}% + \setcounter{table}{\c@remember@table@num}% + \fi + } + + + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** + +\renewenvironment{references}[0]{ + \onecolumngrid + \par + \vspace{10pt plus 3pt} + \noindent \makebox[\textwidth][c]{\small\scshape REFERENCES} + \par + \vspace*{4pt plus 3pt} + \set@column@hsize{2}\twocolumngrid + \parindent=0cm \parskip=0cm + \def\baselinestretch{1.0} + \footnotesize \baselineskip=\baselinestretch\bibbaselineskip plus 1pt + minus 1pt \interlinepenalty \@M + \hyphenpenalty=10000 + \frenchspacing % AV - to get right spacing after ``et al.'' + \def\refpar{\par\hangindent=1.2em\hangafter=1}} +{ + \onecolumngrid +} + +% redefine thebibliography +% redefine thebibliography + +% remove numbers from the reference list +\def\@biblabel#1{\relax} + +\newdimen\bibindent +\renewenvironment{thebibliography}[1]{ + \if@chicago \onecolumngrid \else \twocolumngrid \fi + \par + \raggedright + \vspace{10pt plus 3pt} + \if@chicago + \noindent \makebox[\textwidth][c]{\footnotesize REFERENCES} + \else + \centerline{\normalsize REFERENCES} + \fi + \par + \if@chicago + \vspace*{4pt plus 3pt} + \set@column@hsize{2} + \twocolumngrid + \fi + \list{}% + { + \parindent=0pt \parskip=0pt \parsep=0pt % AV + \bibindent=0pt % + \def\baselinestretch{1.0} + \footnotesize \baselineskip=\bibbaselineskip \interlinepenalty \@M % AV + \frenchspacing % AV - to get right spacing after ``et al.'' + \hyphenpenalty=10000 + \itemindent=-1.0em % + \itemsep=0pt % + \listparindent=0pt % + \settowidth\labelwidth{0pt} % + \labelsep=0pt % + \leftmargin=1.0em + \advance\leftmargin\labelsep +%%% \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\relax}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist + \onecolumngrid % to balance references + \if@two@col \twocolumngrid \fi + } + +% %% AV: + +\def\reference{\@ifnextchar\bgroup {\@reference} + {\@latexerr{Missing key on reference command} + {Each reference command should have a key corresponding to a markcite somewhere in the text}}} +\def\@reference#1{\refpar} + +%% subtitle header and journal info: +\def\submitted#1{\gdef\@submitted{#1}} +\def\journalinfo#1{\gdef\@journalinfo{#1}} +\def\subtitle{ + \vspace*{-12mm} + \noindent + {\scriptsize {\sc \@journalinfo} \\ + Preprint typeset using \LaTeX\ style emulateapj v.\ \emulapj@ver} +} +\let\slugcomment\submitted % slugcomment == submitted +\submitted{Draft version \today} +\journalinfo{\@submitted} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Equations % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% EQNARRAY with reduced spacing around tab characters - AV +\def\eqnarray{% + \stepcounter{equation}% + \def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue + \setlength{\arraycolsep}{0.25\arraycolsep} + \m@th + \global\@eqcnt\z@ + \tabskip\@centering + \let\\\@eqncr + $$\everycr{}\halign to\displaywidth\bgroup + \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel + &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil + &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep + $\displaystyle{##}$\hfil\tabskip\@centering + &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup + \tabskip\z@skip + \cr + } + +% **************************************** +% * TABLES AND FIGURES * +% **************************************** + + + +\def\@arstrut@hline@clnc{0.5\p@}% % Klootch: magic number + +\setcounter{topnumber}{7} + +\setlength{\belowcaptionskip}{0pt} +\setlength{\abovecaptionskip}{5pt} + +\setlength{\textfloatsep}{-\baselinestretch\baselineskip} +\setlength{\dbltextfloatsep}{-\baselinestretch\baselineskip} +\if@apj@letter + \addtolength{\textfloatsep}{5mm plus 10mm minus 10mm} + \addtolength{\dbltextfloatsep}{5mm plus 10mm minus 10mm} +\else + \addtolength{\textfloatsep}{7mm plus 10mm minus 10mm} + \addtolength{\dbltextfloatsep}{7mm plus 10mm minus 10mm} +\fi + +\renewcommand{\topfraction}{1.0} +\renewcommand{\bottomfraction}{1.0} +\renewcommand{\textfraction}{0.0} +\renewcommand{\dbltopfraction}{0.85} +\renewcommand{\dblfloatpagefraction}{0.85} +\setcounter{topnumber}{9} +\setcounter{bottomnumber}{9} +\setcounter{totalnumber}{20} +\setcounter{dbltopnumber}{9} + +% Copied from revtex4.cls; without it, captions are centered +\def\@xfloat@prep{% + \let\footnote\footnote@latex + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}% + \c@mpfootnote\z@ + \let\@footnotetext\@mpfootnotetext + \let\H@@footnotetext\@mpfootnotetext + \let\@makefntext\@mpmakefntext +}% + +\long\def\@makecaption#1#2{% + \noindent\begin{minipage}{0.9999\linewidth} %% \noindent is needed because + %% otherwise minipage + parindent does not fit into the line and spurious + %% vertical skip appear after caption + \if\csname ftype@\@captype\endcsname 2 + \vskip 2ex\noindent \centering\@table@type@size{\@eapj@cap@font #1}\par + \if@chicago\@eapj@cap@font\fi #2\par\medskip + \else + \vspace*{\abovecaptionskip}\noindent\footnotesize #1 #2\par\vskip \belowcaptionskip + \fi + \end{minipage}\par + } + + + +%%%%%%%%%%%% FIX \cutinhead +\def\@ptabularcr{\\} +\newcommand\cutinhead[1]{% + \noalign{\vskip 1.5ex}% + \hline + \@ptabularcr + \noalign{\vskip -1.5ex}% + \multicolumn{\LT@cols}{c}{#1}% + \@ptabularcr + \noalign{\vskip .8ex}% + \hline + \@ptabularcr + \noalign{\vskip -2ex}% +}% + +\newcommand\sidehead[1]{% + \noalign{\vskip 1.5ex}% +% \hline +% \@ptabularcr +% \noalign{\vskip -1.5ex}% + \multicolumn{\LT@cols}{l}{#1}% + \@ptabularcr + \noalign{\vskip .8ex}% +% \hline +% \@ptabularcr +% \noalign{\vskip -2ex}% +}% + + +\newcommand\figcaption{\@testopt{\@xfigcaption}{}}% +%% suggested by Joern Wilms +\def\@figcaption#1{{\def\@captype{figure}\caption{\footnotesize #1}}} +\def\@xfigcaption[#1]#2{{\def\@captype{figure}\caption{\footnotesize #2}}} + +\def\thefigure{\@arabic\c@figure} +\def\fnum@figure{{\footnotesize{\@eapj@cap@font\if@chicago~~\fi\mbox{\@eapj@figname~\thefigure.}\if@chicago---\else~\fi}}} + +\def\thetable{\@arabic\c@table} +%%% Table captions without making a floating table +\def\tabcaption{\@ifnextchar[{\@xtabcaption}{\@tabcaption}} +\def\@tabcaption#1{{\def\@captype{table}\caption{#1}}} +\def\@xtabcaption[#1]#2{{\def\@captype{table}\caption{#2}}} +\def\fnum@table{{\@eapj@cap@font \@eapj@tabname~\thetable}} +% \let\fnum@ptable=\fnum@table +% \def\fnum@ptablecont{{\centering{\scshape Table~\thetable}---{\itshape +% Continued}}}% +% \long\def\@make@caption@text#1#2{% +% {\small\centering#1{\scshape #2}\par\vskip1.4ex} +% }% +\long\def\@makecaption@plano@cont#1#2{% + {\small \centering#1\par}\vskip1.4ex\relax +}% + + +%% Commands from aastex.cls: +\newcommand\dataset{\@testopt\@dataset{[}}% +\def\@dataset[#1]#2{#2}% +\newcommand\facility{\@testopt\@facility{[}}% +\def\@facility[#1]#2{#2}% +\newcommand\object{\@testopt\@object{[}}% +\def\@object[#1]#2{#2}% +\newcommand\objectname{\@testopt\@objectname{[]}}% +\def\@objectname[#1]#2{#2}% +\newlength{\plot@width} +\def\eps@scaling{1.0}% +\newcommand\epsscale[1]{\def\eps@scaling{#1}}% +\newcommand\plotone[1]{% + \centering + \leavevmode + \setlength{\plot@width}{0.85\linewidth} + \includegraphics[width={\eps@scaling\plot@width}]{#1}% +}% +\newcommand\plottwo[2]{% + \centering + \leavevmode + \setlength{\plot@width}{0.425\linewidth} + \includegraphics[width={\eps@scaling\plot@width}]{#1}% + \hfil + \includegraphics[width={\eps@scaling\plot@width}]{#2}% +}% +\newcommand\plotfiddle[7]{% + \centering + \leavevmode + \vbox\@to#2{\rule{\z@}{#2}}% + \includegraphics[% + scale=#4, + angle=#3, + origin=c + ]{#1}% +}% +\newcommand\figurenum[1]{% + \def\thefigure{#1}% + \let\@currentlabel\thefigure + \addtocounter{figure}{\m@ne}% +}% + +\newcommand\phn{\phantom{0}}% +\newcommand\phd{\phantom{.}}% +\newcommand\phs{\phantom{$-$}}% +\newcommand\phm[1]{\phantom{#1}}% +\let\la=\lesssim % For Springer A&A compliance... +\let\ga=\gtrsim +\newcommand\sq{\mbox{\rlap{$\sqcap$}$\sqcup$}}% +\newcommand\arcdeg{\mbox{$^\circ$}}% +\newcommand\arcmin{\mbox{$^\prime$}}% +\newcommand\arcsec{\mbox{$^{\prime\prime}$}}% +\newcommand\fd{\mbox{$.\!\!^{\mathrm d}$}}% +\newcommand\fh{\mbox{$.\!\!^{\mathrm h}$}}% +\newcommand\fm{\mbox{$.\!\!^{\mathrm m}$}}% +\newcommand\fs{\mbox{$.\!\!^{\mathrm s}$}}% +\newcommand\fdg{\mbox{$.\!\!^\circ$}}% +\newcommand\farcm@mss{\mbox{$.\mkern-4mu^\prime$}}% +\let\farcm\farcm@mss +\newcommand\farcs@mss{\mbox{$.\!\!^{\prime\prime}$}}% +\let\farcs\farcs@mss +\newcommand\fp{\mbox{$.\!\!^{\scriptscriptstyle\mathrm p}$}}% +\newcommand\micron{\mbox{$\mu$m}}% +\def\farcm@apj{% + \mbox{.\kern -0.7ex\raisebox{.9ex}{\scriptsize$\prime$}}% +}% +\def\farcs@apj{% + \mbox{% + \kern 0.13ex.% + \kern -0.95ex\raisebox{.9ex}{\scriptsize$\prime\prime$}% + \kern -0.1ex% + }% +}% + + +\newcommand\ion[2]{#1$\;${% +\ifx\@currsize\normalsize\small \else +\ifx\@currsize\small\footnotesize \else +\ifx\@currsize\footnotesize\scriptsize \else +\ifx\@currsize\scriptsize\tiny \else +\ifx\@currsize\large\normalsize \else +\ifx\@currsize\Large\large +\fi\fi\fi\fi\fi\fi +\rmfamily\@Roman{#2}}\relax}% + +\renewcommand\case[2]{\mbox{$\frac{#1}{#2}$}}% +\renewcommand\slantfrac{\case}% +\newcommand\onehalf{\slantfrac{1}{2}}% +\newcommand\onethird{\slantfrac{1}{3}}% +\newcommand\twothirds{\slantfrac{2}{3}}% +\newcommand\onequarter{\slantfrac{1}{4}}% +\newcommand\threequarters{\slantfrac{3}{4}}% +\newcommand\ubvr{\mbox{$U\!BV\!R$}}%% UBVR system +\newcommand\ub{\mbox{$U\!-\!B$}}% % U-B +\newcommand\bv{\mbox{$B\!-\!V$}}% % B-V +\renewcommand\vr{\mbox{$V\!-\!R$}}% % V-R +\newcommand\ur{\mbox{$U\!-\!R$}}% % U-R +\newcommand\nodata{ ~$\cdots$~ }% +\newcommand\diameter{\ooalign{\hfil/\hfil\crcr\mathhexbox20D}}% +\newcommand\degr{\arcdeg}% +\newcommand\Sun{\sun}% +\newcommand\Sol{\sun}% +\newcommand\sun{\odot}% +\newcommand\Mercury{\astro{\char1}}% Mercury symbol, "1" +\newcommand\Venus{\astro{\char2}}% Venus symbol, "2" +\newcommand\Earth{\earth}% +\newcommand\Terra{\earth}% +\newcommand\earth{\oplus}% +\newcommand\Mars{\astro{\char4}}% Mars symbol, "4" +\newcommand\Jupiter{\astro{\char5}}% Jupiter symbol, "5" +\newcommand\Saturn{\astro{\char6}}% Saturn symbol, "6" +\newcommand\Uranus{\astro{\char7}}% Uranus symbol, "7" +\newcommand\Neptune{\astro{\char8}}% Neptune symbol, "8" +\newcommand\Pluto{\astro{\char9}}% Pluo symbol, "9" +\newcommand\Moon{\astro{\char10}}% Moon symbol, "M" +\newcommand\Luna{\Moon}% +\newcommand\Aries{\astro{\char11}}% +\newcommand\VEq{\Aries}% vernal equinox (Aries) +\newcommand\Taurus{\astro{\char12}}% +\newcommand\Gemini{\astro{\char13}}% +\newcommand\Cancer{\astro{\char14}}% +\newcommand\Leo{\astro{\char15}}% +\newcommand\Virgo{\astro{\char16}}% +\newcommand\Libra{\astro{\char17}}% +\newcommand\AEq{\Libra}% autumnal equinox (Libra) +\newcommand\Scorpius{\astro{\char18}}% +\newcommand\Sagittarius{\astro{\char19}}% +\newcommand\Capricornus{\astro{\char20}}% +\newcommand\Aquarius{\astro{\char21}}% +\newcommand\Pisces{\astro{\char22}}% + +\newcommand\sbond{\chem@bnd{\@sbnd}}% +\newcommand\dbond{\chem@bnd{\@dbnd}}% +\newcommand\tbond{\chem@bnd{\@tbnd}}% +\def\chem@bnd#1{% + {% + \kern.1em\relax + \setbox\z@\hbox{M}% + \dimen@ii.8em\relax + \p@=.1em\relax + \dimen@.5\ht\z@\dimen@i-\dimen@ + \advance\dimen@1.5\p@\advance\dimen@i-1.0\p@ + #1% + \kern.1em\relax + }% + }% +\def\@sbnd{% + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@dbnd{% + \advance\dimen@-0.5\p@\advance\dimen@i0.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@tbnd{% + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% + +\newcommand\anchor[2]{#2}% +\renewcommand\url{\@dblarg\@url}% +\def\@url[#1]{\anchor{#1}}% + +\let\jnl@style=\rmfamily +\def\ref@jnl#1{{\jnl@style#1}}% +\newcommand\aj{\ref@jnl{AJ}}% % Astronomical Journal +\newcommand\araa{\ref@jnl{ARA\&A}}% % Annual Review of Astron and Astrophys +\renewcommand\apj{\ref@jnl{ApJ}}% % Astrophysical Journal +\newcommand\apjl{\ref@jnl{\@eapj@ApJLetters}}% % Astrophysical Journal, Letters +\newcommand\apjs{\ref@jnl{ApJS}}% % Astrophysical Journal, Supplement +\renewcommand\ao{\ref@jnl{Appl.~Opt.}}% % Applied Optics +\newcommand\apss{\ref@jnl{Ap\&SS}}% % Astrophysics and Space Science +\newcommand\aap{\ref@jnl{A\&A}}% % Astronomy and Astrophysics +\newcommand\aapr{\ref@jnl{A\&A~Rev.}}% % Astronomy and Astrophysics Reviews +\newcommand\aaps{\ref@jnl{A\&AS}}% % Astronomy and Astrophysics, Supplement +\newcommand\azh{\ref@jnl{AZh}}% % Astronomicheskii Zhurnal +\newcommand\baas{\ref@jnl{BAAS}}% % Bulletin of the AAS +\newcommand\icarus{\ref@jnl{Icarus}}% % Icarus +\newcommand\jrasc{\ref@jnl{JRASC}}% % Journal of the RAS of Canada +\newcommand\memras{\ref@jnl{MmRAS}}% % Memoirs of the RAS +\newcommand\mnras{\ref@jnl{MNRAS}}% % Monthly Notices of the RAS +\renewcommand\pra{\ref@jnl{Phys.~Rev.~A}}% % Physical Review A: General Physics +\renewcommand\prb{\ref@jnl{Phys.~Rev.~B}}% % Physical Review B: Solid State +\renewcommand\prc{\ref@jnl{Phys.~Rev.~C}}% % Physical Review C +\renewcommand\prd{\ref@jnl{Phys.~Rev.~D}}% % Physical Review D +\renewcommand\pre{\ref@jnl{Phys.~Rev.~E}}% % Physical Review E +\renewcommand\prl{\ref@jnl{Phys.~Rev.~Lett.}}% % Physical Review Letters +\newcommand\pasp{\ref@jnl{PASP}}% % Publications of the ASP +\newcommand\pasj{\ref@jnl{PASJ}}% % Publications of the ASJ +\newcommand\qjras{\ref@jnl{QJRAS}}% % Quarterly Journal of the RAS +\newcommand\skytel{\ref@jnl{S\&T}}% % Sky and Telescope +\newcommand\solphys{\ref@jnl{Sol.~Phys.}}% % Solar Physics +\newcommand\sovast{\ref@jnl{Soviet~Ast.}}% % Soviet Astronomy +\newcommand\ssr{\ref@jnl{Space~Sci.~Rev.}}% % Space Science Reviews +\newcommand\zap{\ref@jnl{ZAp}}% % Zeitschrift fuer Astrophysik +\renewcommand\nat{\ref@jnl{Nature}}% % Nature +\newcommand\iaucirc{\ref@jnl{IAU~Circ.}}% % IAU Cirulars +\newcommand\aplett{\ref@jnl{Astrophys.~Lett.}}% % Astrophysics Letters +\newcommand\apspr{\ref@jnl{Astrophys.~Space~Phys.~Res.}}% % Astrophysics Space Physics Research +\newcommand\bain{\ref@jnl{Bull.~Astron.~Inst.~Netherlands}}% % Bulletin Astronomical Institute of the Netherlands +\newcommand\fcp{\ref@jnl{Fund.~Cosmic~Phys.}}% % Fundamental Cosmic Physics +\newcommand\gca{\ref@jnl{Geochim.~Cosmochim.~Acta}}% % Geochimica Cosmochimica Acta +\newcommand\grl{\ref@jnl{Geophys.~Res.~Lett.}}% % Geophysics Research Letters +\renewcommand\jcp{\ref@jnl{J.~Chem.~Phys.}}% % Journal of Chemical Physics +\newcommand\jgr{\ref@jnl{J.~Geophys.~Res.}}% % Journal of Geophysics Research +\newcommand\jqsrt{\ref@jnl{J.~Quant.~Spec.~Radiat.~Transf.}}% % Journal of Quantitiative Spectroscopy and Radiative Trasfer +\newcommand\memsai{\ref@jnl{Mem.~Soc.~Astron.~Italiana}}% % Mem. Societa Astronomica Italiana +\newcommand\nphysa{\ref@jnl{Nucl.~Phys.~A}}% % Nuclear Physics A +\newcommand\physrep{\ref@jnl{Phys.~Rep.}}% % Physics Reports +\newcommand\physscr{\ref@jnl{Phys.~Scr}}% % Physica Scripta +\newcommand\planss{\ref@jnl{Planet.~Space~Sci.}}% % Planetary Space Science +\newcommand\procspie{\ref@jnl{Proc.~SPIE}}% % Proceedings of the SPIE + +\newcommand\actaa{\ref@jnl{Acta Astron.}}% % Acta Astronomica +\newcommand\caa{\ref@jnl{Chinese Astron. Astrophys.}}% % Chinese Astronomy and Astrophysics +\newcommand\cjaa{\ref@jnl{Chinese J. Astron. Astrophys.}}% % Chinese Journal of Astronomy and Astrophysics +\newcommand\jcap{\ref@jnl{J. Cosmology Astropart. Phys.}}% % Journal of Cosmology and Astroparticle Physics +\newcommand\na{\ref@jnl{New A}}% % New Astronomy +\newcommand\nar{\ref@jnl{New A Rev.}}% % New Astronomy Review +\newcommand\pasa{\ref@jnl{PASA}}% % Publications of the Astron. Soc. of Australia +\newcommand\rmxaa{\ref@jnl{Rev. Mexicana Astron. Astrofis.}}% % Revista Mexicana de Astronomia y Astrofisica + + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\let\applopt=\ao + +\renewcommand\nodata{ ~$\cdots$~ }% +\newcommand\ulap[1]{\vbox\@to\z@{{\vss#1}}}% +\newcommand\dlap[1]{\vbox\@to\z@{{#1\vss}}}% + + +% Implementation of deluxetables via the longtable package + + +\newcounter{table@save} +\def\save@label#1{ + \if@filesw\immediate\write\@auxout{% + \string\newlabel{#1}{{\@currentlabel}{\thepage}}}% + \fi% +} + +\def\tablenum#1{% + \setcounter{table@save}{\the\c@table} + \gdef\use@tablenum{1} + \setcounter{table}{#1}\def\thetable{#1}\def\@currentlabel{#1} + \def\label##1{\save@label{##1}} +}% +\gdef\use@tablenum{0} +\def\restore@tablenum{\if\use@tablenum0\else\setcounter{table}{\the\c@table@save}\addtocounter{table}{\m@ne}\gdef\use@tablenum{0}\fi} + + +\def\tabletypesize#1{\def\table@hook{#1}\gdef\@table@type@size{#1}} +\tabletypesize{\footnotesize} +\let\tablefontsize=\tabletypesize % for compatibility with old documents + +\gdef\@tablecaption{} +\def\tablecaption#1{\gdef\@tablecaption{\if@chicago \@eapj@cap@font \fi #1}} + +\def\LT@endpbox{% + \@finalstrut\@arstrutbox + \egroup + \the\LT@p@ftn + \global\LT@p@ftn{}% + \hfil} + +\def\LT@makecaption#1#2#3{% + \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% +% \sbox\@tempboxa{#2.~~#3}% + % \ifdim\wd\@tempboxa>\hsize + \centering + #2~~#3% +% \else +% \hbox to\hsize{\hfil\box\@tempboxa\hfil}% +% \fi + \endgraf\vskip\baselineskip}% + \hss}}} +\let\LT@makecaption@rtx=\LT@makecaption % to fight redefinition in Revtex-4.1 + +\global\let\tablenotemark\relax +\global\def\tablenotemark#1{{\normalfont\textsuperscript{#1}}} +\global\let\tablenotetext\relax +\global\def\tablenotetext#1#2{\footnotetext[#1]{\@table@type@size#2}} + + +\newif\if@table@not@headed + +\def\startdata{\if@table@not@headed\kill\caption{\\% + \@tablecaption}\endhead\hline\endfoot% + \fi% +} + +\def\tablehead#1{ + \@table@not@headedfalse% + \kill + \caption{\\% + \@tablecaption}% + \\ + \hline + \hline\\[-1.7ex] + #1\hskip\tabcolsep\\[.7ex] + \hline\\[-1.5ex] + \endfirsthead + \caption[]{--- \emph{Continued}}\\ + \hline + \hline\\[-1.7ex] + #1\hskip\tabcolsep\\[.7ex] + \hline\\[-1.5ex] + \endhead + \hline + \endfoot% +} + +\newlength{\table@note@skip} +\setlength{\table@note@skip}{0.5ex} +\newlength{\deluxe@table@width} +\newlength{\@d@t@a} +\newcounter{deluxe@table@num} + +\def\colhead#1{\multicolumn{1}{c}{#1}} + + +\def\tablewidth#1{% + \ifdim#1=\z@ + \else + \gdef\@d@t@@flag{1} + \if@filesw\immediate\write\@auxout{% + \gdef\expandafter\noexpand + \csname deluxe@table@width@\romannumeral\c@LT@tables\endcsname + {#1}} + \fi + \fi +} + + +\def\save@natural@width{% + \ifnum\@d@t@@flag=0 + \setlength{\@d@t@a}{0pt}% + \let\@d@t@b=\LT@entry% + \def\LT@entry##1##2{\addtolength{\@d@t@a}{##2}% + }% + \expandafter\csname LT@\romannumeral\c@deluxe@table@num\endcsname + \setlength{\@d@t@a}{-\@d@t@a} + \tablewidth{\the\@d@t@a} + \def\LT@entry{\@d@t@b} + \fi +} + +\def\lt@expand@linewidth@one{\setlength\LTleft{0pt}\setlength\LTright{0pt}} +\def\lt@expand@linewidth@two{@{\extracolsep{0pt plus 1filll}}} +\def\find@table@width{% +%%% set table width using aux file and command \tablewidth + \setcounter{deluxe@table@num}{\c@LT@tables} + \refstepcounter{deluxe@table@num} + \expandafter\ifx\csname deluxe@table@width@\romannumeral\c@deluxe@table@num\endcsname\relax + \def\@d@t@{0.999\linewidth} + \else + \edef\@d@t@{\expandafter\csname deluxe@table@width@\romannumeral\c@deluxe@table@num\endcsname} + \fi + \ifdim\@d@t@<\z@% then natural width is used + \setlength{\deluxe@table@width}{-\@d@t@} + \setlength{\LTcapwidth}{-\@d@t@} + \def\lt@expand@linewidth{\relax} + \def\lt@expand@linewidth@{} + \else% we will enclose table in the minipage of the given width and make + % longtable to span the full minipage width + \ifdim\@d@t@>\z@\else\def\@d@t@{0.999\linewidth}\fi + \setlength{\deluxe@table@width}{\@d@t@} + \setlength{\LTcapwidth}{\@d@t@} + \def\lt@expand@linewidth{\lt@expand@linewidth@one} + \def\lt@expand@linewidth@{\lt@expand@linewidth@two} + \fi +} + +\newlength{\abovedeluxetableskip} +\newlength{\belowdeluxetableskip} +\setlength{\abovedeluxetableskip}{0pt} +\setlength{\belowdeluxetableskip}{0pt} +\setlength{\tabcolsep}{5pt} + +\setlength\doublerulesep{1.5pt} +\newdimen\lastrowheight +\def\set@last@row@height{\setlength{\lastrowheight}{\ht\strutbox}\addtolength{\lastrowheight}{\dp\strutbox}\setlength{\lastrowheight}{-\arraystretch\lastrowheight}} + +\let\tableline=\hline % Revtex said: Command \tableline is obsolete; Use \colrule instead.. + +\newtoks\DT@p@ftn +\global\def\tablenotetext@DT#1#2{ +% \edef\@tempa{\the\DT@p@ftn\noexpand\footnotetext[#1]} + \edef\@tempa{\the\DT@p@ftn\noexpand\tablenotemark{#1}~} + \global\DT@p@ftn\expandafter{\@tempa{\@table@type@size#2}\par}}% + + +\newenvironment{deluxetable}[1]{ + \lineskiplimit=\z@ % restore default setting + \def\tablenotetext{\tablenotetext@DT} + \gdef\tblnote@list{} + \gdef\tblref@list{} + \DT@p@ftn{}% + \set@last@row@height\edef\lastrowheight@{\the\lastrowheight} + \renewcommand\tablecomments[1]{\gdef\tblnote@list{\@tablecom{##1}}}% + \renewcommand\tablerefs[1]{\gdef\tblref@list{\@tableref{##1}}}% + \@table@not@headedtrue + \begin{table} + \vspace*{\abovedeluxetableskip} + \gdef\@d@t@@flag{0} + \def\nl{\\} +% \def\tabcolsep{5pt} + \let\caption=\LT@caption + \find@table@width + \centering + \begin{minipage}{\deluxe@table@width} + \lt@expand@linewidth + \def\@tmpa{\begin{longtable}} + \expandafter\expandafter\expandafter\@tmpa% + \expandafter\expandafter\expandafter{\lt@expand@linewidth@#1} +% \begin{longtable}{\lt@expand@linewidth@#1} + }{ + \restore@tablenum% + \end{longtable}% + \save@natural@width + \@spew@tblnotes\end{minipage} + \vspace*{\belowdeluxetableskip} + \end{table} +} + + +\newenvironment{deluxetable*}[1]{ + \lineskiplimit=\z@ % restore default setting + \def\tablenotetext{\tablenotetext@DT} + \gdef\tblnote@list{} + \gdef\tblref@list{} + \DT@p@ftn{}% + \set@last@row@height\edef\lastrowheight@{\the\lastrowheight} + \renewcommand\tablecomments[1]{\gdef\tblnote@list{\@tablecom{##1}}}% + \renewcommand\tablerefs[1]{\gdef\tblref@list{\@tableref{##1}}}% + \@table@not@headedtrue + \begin{table*} + \vspace*{\abovedeluxetableskip} + \gdef\@d@t@@flag{0} + \def\nl{\\} +% \def\tabcolsep{5pt} + \let\caption=\LT@caption + \centering + \find@table@width + \begin{minipage}{\deluxe@table@width} + \lt@expand@linewidth + \def\@tmpa{\begin{longtable*}} + \expandafter\expandafter\expandafter\@tmpa% + \expandafter\expandafter\expandafter{\lt@expand@linewidth@#1} + %\begin{longtable*}{\lt@expand@linewidth@#1} + }{\gdef\pt@width{\LTcapwidth}% + \restore@tablenum% + \end{longtable*}% + \save@natural@width + \@spew@tblnotes% + \end{minipage}% + \vspace*{\belowdeluxetableskip} +\end{table*}} + +\def\enddata{\\[\lastrowheight@]\vspace*{1.5mm}} + + +\def\LongTables{ + \renewcommand\tablecomments[1]{\gdef\tblnote@list{\@tablecom{##1}}}% + \renewcommand\tablerefs[1]{\gdef\tblref@list{\@tableref{##1}}}% + \renewenvironment{deluxetable}[1]{ + \def\tablenotetext{\tablenotetext@DT} + \global\DT@p@ftn{}% + \def\nl{\\} +% \def\tabcolsep{5pt} + \let\caption=\LT@caption + \begin{longtable}{##1} + \set@last@row@height\global\edef\lastrowheight@{\the\lastrowheight} + \@table@not@headedtrue + }{\gdef\pt@width{\LTcapwidth}\restore@tablenum + \end{longtable}% + \vspace*{-1.5ex} + \begin{minipage}{0.99\linewidth} + \@spew@tblnotes% + \end{minipage} + } + \renewenvironment{deluxetable*}[1]{ + \def\tablenotetext{\tablenotetext@DT} + \global\DT@p@ftn{}% + %\@table@not@headedtrue % -- wrong per exchange with Giovanni Fossati + \def\nl{\\} +% \def\tabcolsep{5pt} + \let\caption=\LT@caption + \begin{longtable*}{##1} + \set@last@row@height\global\edef\lastrowheight@{\the\lastrowheight} + \@table@not@headedtrue + }{\gdef\pt@width{\LTcapwidth}% + \restore@tablenum% + \end{longtable*}% + \vspace*{-1.5ex} + \begin{minipage}{0.99\linewidth} + \@spew@tblnotes% + \end{minipage} +} +} + +\def\tableheadfrac#1{} +\newcount\pt@column +\newcount\pt@ncol +\newcommand\tablecolumns[1]{% + \pt@column=#1\relax + \pt@ncol=#1\relax + \global\let\pt@addcol\@empty +}% +\def\cutinhead@ppt#1{% + \noalign{\vskip 1.5ex}% + \hline + \@ptabularcr + \noalign{\vskip -2ex}% Style Note: in apj, it is -1.5ex + \multicolumn{\pt@ncol}{c}{#1}% + \\ + \noalign{\vskip .8ex}% + \hline + \\ + \noalign{\vskip -2ex}% +}% +% \newcommand\sidehead[1]{% +% \noalign{\vskip 1.5ex}% +% \multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}% +% \\ +% \noalign{\vskip .5ex}% +% }% +%\def\startdata{\relax} + +\gdef\tblnote@list{} +\gdef\tblref@list{} +\newcommand\tablecomments[1]{\@tablecom{#1}}% +\newcommand\tablerefs[1]{\@tableref{#1}}% +\def\@tablecom#1{% + \vspace*{\table@note@skip} +\par +{\parbox{\linewidth}{\hskip1em\rmfamily {\@eapj@cap@font Note}. --- #1}\par}% +}% +\def\@tableref#1{% + \vspace*{\table@note@skip} +\par +{\parbox{\linewidth}{\hskip1em\rmfamily {\@eapj@cap@font References}. --- #1}\par}% +}% +\def\spew@tblnotes{% + \@ifx@empty\tblref@list{}{% + \@tablenotes{\tblref@list}% + \vspace*{\table@note@skip}% + \global\let\tblref@list\@empty + }% + \@ifx@empty\tblnote@list{}{% + \@tablenotes{\tblnote@list}% + \vspace*{\table@note@skip}% + \global\let\tblnote@list\@empty + } + \the\DT@p@ftn% +}% +\def\@tablenotes#1{% + \par +% \footnoterule% + {\@table@type@size#1}% +}% + +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Release notes (02/09/03): +%% +%% 1) This is a complete rewrite of emulateapj. The package is now +%% based on revtex instead of aastex + multicol. +%% +%% 2) The {deluxetable} environment is re-implemented (the problem with the +%% the aastex's deluxetable is it does not float). There is also a new +%% environment {deluxetable*} (absent in aastex) to set a floating table +%% two-column wide. Known problems: +%% (a) \rotate doesn't work (too difficult to implement). However, +%% you can use revtex's turnpage environment +%% - load package lscape (\usepackage{lscape} in the header) +%% - move table at the end of the paper after references +%% - \clearpage before the table +%% - \LongTables if the table will span more than 1 page (see next item) +%% - put the table inside the landscape environment and \clearpage +%% at the end: +%% \clearpage +%% \LongTables % optionally +%% \begin{landscape} +%% \begin{deluxetable} +%% .... +%% \end{deluxetable} +%% \clearpage +%% \end{landscape} +%% +%% 3) Multi-page tables cannot be set properly inside the main text; you +%% need to move the table to the end of the paper (after the references) and +%% issue the command \LongTables before it. +%% +%% 4) By default, deluxetables are typeset with \footnotesize. If you want +%% to use a different size, use, e.g., \tabletypesize{\normalsize} _outside_ +%% the deluxetable environment. If you need to increase interline spacing +%% in the tables, use \def\arraystretch{1.XXX} also _outside_ deluxetables. +%% +%% 5) Option `onecolumn' (as in \documentclass[onecolumn]{emulateapj}) +%% sets the whole paper (except the reference section) in one column +%% as done by the ApJ for papers with long equations. +%% +%% 6) Options `apj' and `apjl' (\documentclass[apj]{emulateapj}) change the +%% spacing of the references (the default is ApJL wide spacing), and +%% also the spacing between figures and text (last check with printed +%% Journal in 4/2005). +%% +%% 7) By default, appendix subsections are not numbered: +%% APPENDIX +%% Derivation of Equations +%% If you want them numbered (`A. Derivation of Equations'), use the option +%% \documentclass[numberedappendix]{emulateapj} +%% +%% It is recommended to use the {appendix} environment instead of the +%% \appendix command. Equation (and optionally also table and figure) +%% counters are reset within the {appendix} to something like A1,A2,B1 +%% etc. The counters are restored at \end{appendix} because sometimes we +%% want to place figures and tables belonging to the main matter at the +%% end of the paper. +%% +%% 8) By default, the comment in the upper-left corner of the title page and +%% under the abstract will say "Draft version \today". There are additional +%% commands \journalinfo{} and \submitted{} (the latter is equivalent to the +%% aastex \slugcomment{} which also works) to change those comments. Used +%% alone, \submitted{} will act on both those places. +%% +%% 9) The \title command sets the entire title, including math, in upper +%% case. If this is undesirable, use \lowercase{} macro, e.g., +%% \title{UPPER CASE OK HERE \lowercase{$a+b=c$}}. +%% +%% 10) On the last page where the references or appendix start, there +%% may be problems with placement of footnotes. There is a command +%% \lastpagefoot notes which can be issued somewhere before those +%% footnotes. It will result in the remaining footnotes set together at +%% the end of the text, properly adjusted. +%% +%% 11) There may be problems with single-column figure placements on the +%% last page; try moving the figure around or explicitly specifying the [t] +%% placement. There may also be minor column misalignments on +%% complicated pages with footnotes, sections, etc.; these are too difficult +%% to fix. +%% +%% 12) Any footnotes in the paper title should be set as +%% \title{Title\footnotemark[1]} \footnotetext[1]{text} (with foootnotetext +%% outside the title), rather that simply a \footnote{}. +%% +%% NOTE that if you use the footnote in the title, the footnote counter for +%% the main text will be wrong. You need to reset it manually _after_ the +%% first \section. For example, if the frontmatter footnotes (title + +%% affiliations) stop at 3, you need \setcounter{footnote}{3} +%% +%% 13) \label's within the deluxetable environments should go INSIDE the +%% \tablecaption{...} command or after \tablehead +%% +%% 14) ... if, however, you use \tablenum [not recommended], \label should +%% go IMMEDIATELY AFTER the \tablenum command +%% +%% 15) Marc Audard reports that if the bibliography is exactly finishing the +%% page, and the next page should be a table, latex is not working. If an +%% empty character (\mbox{~}) is added after (or before) the bibliography, +%% i.e., starting a new page, the problem disappears. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Change Log +%% +%% 2/14/3: fixed several bugs in deluxetable and footnotes inside the title. +%% +%% 3/3/3: Table caption is made in two lines. works only in {table} or +%% {table*}, but not in {deluxetable} +%% +%% 3/3/3: Redefine p@subsection etc. for ApJ-style cross-references. +%% +%% 3/16/3: Define \tablerefs +%% +%% 3/25/3: Fix two-column references in the onecolumn mode (see +%% \set@column@hsize{2}) +%% +%% 4/9/3: Change the definition of \tablenotemark. It is less general but +%% works in the table caption. Also, put the body of deluxetable* +%% inside a minipage to fix table footnotes. +%% +%% 5/14/3: Change section title font sizes. They are now different for 'apj' +%% and 'apjl' options +%% +%% 7/8/3: redefine NAT@sort@cites after loding revtex4 to prevent citations +%% from being sorted +%% +%% 7/15/3: Fix \and in the author list +%% +%% 7/17/3: Make \colhead to center column titles by default +%% +%% 7/27/3: Redefile \@biblabel to remove the numbered list from thebibliography +%% +%% 9/08/3: Further fixes to cutinhead: define @ptabularcr and use LT@cols +%% +%% 10/08/3: Copy definitions for \anchor and \url from aastex. +%% +%% 10/10/3: define \paragraph, \subparagraph. suppress section numbering +%% below \subsection. If you want subsubsections numbered, use +%% \setcounter{secnumdepth}{3} +%% in the header +%% +%% 11/13/3: add 'unsortedaddress' option to revtex4 to prevent groupin the +%% authors by the institute +%% +%% 11/26/3: define \def\blankaffiliation{~} after revtex4 to prevent \and's +%% from combining +%% +%% 2/10/4: implement \tablewidth; works as documented in aastex; +%% change format for caption of deluxetables from Table 1. Title to +%% Table 1. +%% Title +%% Make table notes of the same width as the table. +%% Fix tabletypesize for table notes +%% +%% 2/12/4: fix \tablewidth: \tablewidth{0pt} gives natural size (as does no +%% \tablewidth at all) +%% Remove dot after "Table 1." +%% Also change format to Table 1--- Continued +%% +%% 2/19/4: implement \tablenum within deluxetable; abstract paragraphs +%% indented; +%% +%% 3/19/4: if no \tablehead is given, \startdata still prints out the caption +%% +%% 4/2/4: remove a spurious space from the definition of \tablehead +%% +%% 4/12/4: Due to popular demand, define \tablecomments and \tablerefs for +%% ordinary {table}s. +%% +%% 6/6/4: Proper implementation of \sidehead in the deluxetable +%% +%% 6/21/4: Fix issues with table heading which were introduced when I tried +%% to implement deluxetable's _without_ any heading. +%% +%% 6/22/4: correct implementation of \tablenotetext in the \LongTable mode +%% (they previously generated plain footnotes at the end of the table) +%% +%% 9/21/4: fix bug fix figure and table numbers in the appendicies +%% +%% 10/8/4: add \object \facility \dataset from aastex +%% +%% 11/26/4: Change floats-to-text distance to 5mm in ApJLetter style and +%% 7mm in ApJ style (verified with Journal version in Dec 2004) +%% +%% 4/21/5: change \renewcommand{\dbltopfraction}{0.85}; add +%% \renewcommand{\dblfloatpagefraction}{0.85} +%% \setcounter{topnumber}{9} +%% \setcounter{bottomnumber}{9} +%% \setcounter{totalnumber}{20} +%% \setcounter{dbltopnumber}{9} +%% +%% 11/27/5: Add parameters to fine-tune spacing to deluxetables: +%% \abovedeluxetableskip % = 0 by default +%% \belowdeluxetableskip % = 0 +%% +%% Use these to fiddle with the spacing, e.g. +%% \setlength{\abovetableskipamount}{-1\baselineskip} +%% +%% 12/14/5: no more explicit setting of tabcolsep inside deluxetables (so +%% the user has control over this parameter) +%% +%% 05/04/6: redefine \tableline as \hrule; otherwise it weirdly interact +%% with my implementation of deluxetable +%% +%% 08/13/6: Collect altaffiltext into token and issue \altaffiliation +%% only once. This overcomes the problem with 2**n processing +%% time for long affiliation lists. +%% +%% 08/29/6: fix a problem with alignment of last row in deluxetables +%% +%% 09/06/6: Change code of tablenotetext in all deluxetables (otherwise +%% the change introduced on 6/22/4 sometimes causes the notes to +%% disappear) +%% +%% 09/19/6: Correct propagation of the [apj] and [apjl] for subsection +%% formatting +%% +%% 09/19/6: Appendix no longer changes the numbering for figure and +%% unless the [appendixfloats] option is selected +%% +%% 09/22/6 Fix a bug with last row in deluxetables after \LongTables +%% +%% 10/04/6 redefine tablenotetext again because hyperref incompatibly +%% changes the definition of \footnotetext +%% +%% 10/04/6 Fix spacing before thebilbiography and refereneces +%% (\vspace*->\vspace) +%% +%% 12/01/6 Add \par to the definition of \tablenotetext (to make sure +%% each note is in a separate block) +%% +%% 02/7/07 By popular demand, \tablenotetext is reintroduced in the +%% regular {table} environments. BEWARE: the use of this +%% feature makes your documents non-portable as \tablenotetext +%% is not a part of standard LaTeX +%% +%% 03/7/07 Misc. fixes to \lastpagefootnotes +%% +%% 04/21/07 introduce \affil@mark to facilitate integration with the +%% MinionPro package; slightly change the spacing in the +%% altaffiltext mark +%% +%% 03/31/08 new option [tighten] to facilitate grid typesetting (by +%% setting negative lineskiplimit etc). Correspondingly increase +%% v-spacing at \enddata in the tables +%% +%% 04/15/08 improve table@note@skip (put it inside spew@tblnotes) +%% +%% 04/17/08 set baselinestretch to 1 +%% +%% 04/20/08 Fix above and below display skips (too much of negative stretch +%% was possible) +%% +%% 12/19/08 Fix \ion to use relative sizes (not \small); thanks to Gabor +%% Worseck for pointing this out +%% +%% 12/19/08 Option for IOP formatting: \usepackage[iop,...]{emulateapj} +%% +%% 08/22/09 Fix NAT@sort coding for new release of bibtex +%% +%% 11/10/09 Switch to revtex4-1 +%% +%% 11/10/09 Add stretchable space before appendix; otherwise, the last +%% line can be eaten away. +%% +%% 5/25/10 call revtex with notitlepage in the 1-col mode +%% +%% 8/13/10 put \par after \end{minipage} in makecaption to avoid +%% underfull boxes +%% +%% 5/3/11 new option: twocolappendix +%% comment out \table@not@headedtrue in deluxtable* after +%% \LongTables per exchange with Giovanni Fossati +%% +%% 12/16/11: copy \sbond, dbond, tbond commands from AASTeX +% +%% 08/17/12: option to force using revtex4 +%% +%% 03/07/13: load astro@font to go with the \astro commands +%% ([astrosymb] option) +%% +%% 04/17/13: in the two column mode, force a switch to twocolumngrid +%% after references. This is needed for twocolappendix, +%% among other things +%% +%% 05/03/13 add 10pt,aps,pra option to \LoadClass revtex4 to avoid warnings +%% +%% 05/12/14 More journal abbreviations +%% +%% 01/23/15 Fix collision with array package: expand +%% \lt@expand@linewidth@ twice before passing into longtable +%% +%% 01/23/15 \apjl with the iop option expands to ApJL +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/lsstdesc_macros.sty b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/lsstdesc_macros.sty new file mode 100644 index 0000000..482365b --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/lsstdesc_macros.sty @@ -0,0 +1,97 @@ +% +% +% Commands to facilitate LaTeX and physics formatting. +% +% author: Alex Drlica-Wagner + +\usepackage{amsmath} +\usepackage{xspace} +\usepackage{xcolor} + +% General formatting +\newcommand{\ie}{i.e.\xspace} +\newcommand{\eg}{e.g.\xspace} +\newcommand{\etc}{etc.\xspace} +\newcommand{\etal}{et al.\xspace} +\newcommand{\vs}{vs.\xspace} +\newcommand{\super}[1]{\ensuremath{^{\textrm{#1}}}} +\newcommand{\sub}[1]{\ensuremath{_{\textrm{#1}}}} + +% Inline comments and highlighting +\newcommand{\FIXME}[1]{{\bf \textcolor{red}{#1}}} +%\newcommand{\FIXME}[1]{{#1}} +\newcommand{\CHECK}[1]{{\bf \textcolor{orange}{#1}}} +%\newcommand{\CHECK}[1]{{#1}} +\newcommand{\COMMENT}[1]{{\it \textcolor{blue}{#1}}} +%\newcommand{\COMMENT}[1]{{#1}} +\newcommand{\NEW}[1]{{\textcolor{blue}{#1}}} +%\newcommand{\NEW}[1]{{#1}} + +% Math +\mathchardef\mhyphen="2D +\newcommand{\vect}[1]{\boldsymbol{#1}} +\newcommand{\roughly}{\ensuremath{ {\sim}\,} } +\newcommand{\gtr}{\ensuremath{ {>}\,} } +\newcommand{\less}{\ensuremath{ {<}\,} } +\newlength{\dhatheight} +\newcommand{\doublehat}[1]{% + \settoheight{\dhatheight}{\ensuremath{\hat{#1}}}% + \addtolength{\dhatheight}{-0.35ex}% + \hat{\vphantom{\rule{1pt}{\dhatheight}}% + \smash{\hat{#1}}}} +\newcommand{\code}[1]{\texttt{#1}\xspace} +\newcommand{\dd}{\ensuremath{\rm d}} +\newcommand{\var}[1]{\ensuremath{#1}\xspace} + +% Referencing +\newcommand{\secref}[1]{Section~\ref{sec:#1}} +\newcommand{\appref}[1]{Appendix~\ref{app:#1}} +\newcommand{\tabref}[1]{Table~\ref{tab:#1}} +\newcommand{\tabrefs}[2]{Tables~\ref{tab:#1} and \ref{tab:#2}} +\newcommand{\figref}[1]{Figure~\ref{fig:#1}} +\newcommand{\figrefs}[2]{Figures~\ref{fig:#1} and \ref{fig:#2}} +\newcommand{\eqnref}[1]{Equation~\ref{eqn:#1}} + +% Units +\newcommand{\unit}[1]{\ensuremath{\mathrm{\,#1}}\xspace} +\newcommand{\Gyr}{\unit{Gyr}} +\newcommand{\MeV}{\unit{MeV}} +\newcommand{\GeV}{\unit{GeV}} +\newcommand{\TeV}{\unit{TeV}} +\newcommand{\degree}{\ensuremath{{}^{\circ}}\xspace} +\newcommand{\mas}{\unit{mas}} +\newcommand{\amin}{\unit{arcmin}} +\newcommand{\asec}{\unit{arcsec}} +\newcommand{\angstrom}{\unit{\AA}} +\newcommand{\um}{\unit{$\mu$m}} +\newcommand{\cm}{\unit{cm}} +\newcommand{\km}{\unit{km}} +\newcommand{\pc}{\unit{pc}} +\newcommand{\kpc}{\unit{kpc}} +\newcommand{\second}{\unit{s}} +\newcommand{\us}{\unit{$\mu$s}} +\newcommand{\photons}{\unit{ph}} +\newcommand{\photon}{\unit{ph}} +\newcommand{\sr}{\unit{sr}} +\newcommand{\Msolar}{\ensuremath{M_\odot}} +\newcommand{\Msun}{\ensuremath{M_\odot}} +\newcommand{\Mstar}{\ensuremath{M_{*}}} +\newcommand{\Lsolar}{\ensuremath{L_\odot}} +\newcommand{\Lsun}{\ensuremath{L_\odot}} +\newcommand{\Lstar}{\ensuremath{L_{*}}} +\newcommand{\Lum}{\ensuremath{ L }\xspace} +\newcommand{\cmcubes}{\ensuremath{\cm^{3}\second^{-1}}\xspace} +\newcommand{\magn}{\unit{mag}} +\newcommand{\mmag}{\unit{mmag}} +\providecommand{\deg}{} +\renewcommand{\deg}{\unit{deg}} +\newcommand{\kms}{{\km\second^{-1}}} + +% Astronomy +\newcommand{\LCDM}{\ensuremath{\rm \Lambda CDM}\xspace} +\newcommand{\ra}{{\ensuremath{\alpha_{2000}}}\xspace} +\newcommand{\dec}{{\ensuremath{\delta_{2000}}}\xspace} +\newcommand{\glon}{{\ensuremath{\ell}}\xspace} +\newcommand{\glat}{{\ensuremath{b}}\xspace} + +% diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/lsstdescnote.cls b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/lsstdescnote.cls new file mode 100644 index 0000000..c8cef03 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/lsstdescnote.cls @@ -0,0 +1,6465 @@ +%% +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% lsstdescnote.cls %% +%% November, 2016 +%% adapted from: +%% AASTeX61.cls %% +%% October 5, 2016 %% +%% Copyright 2016 American Astronomical Society %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\currversion{0.1} + +%% +%% These files are distributed +%% WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~}% +%% +%%% date = "9/19/2016", +%%% author = "Amy Hendrickson (mailto:amyh@texnology.com)" +%%% including +%%% 1) code from emulateapj.cls, version 01/23/15(marked below) +%%% written by Alexey Vikhlinin, which relies on RevTeX4-1 +%%% for much functionality; +%%% 2) some code from aastex (marked below) +%%% 3) Original work by Amy Hendrickson (marked below) for +%%% extensive table tools, including easy decimal entry and splitting +%%% tables horizontally into 2 or 3 pieces, for tabular and deluxetable +%%% environments; rotate tables; gridlines for use in positioning figures, +%%% track changes. + +%%% This work may be distributed and/or modified under the +%%% conditions of the LaTeX Project Public License, either version 1.3c +%%% of this license or (at your option) any later version. +%%% The latest version of this license is in +%%% http://www.latex-project.org/lppl.txt +%%% and version 1.3 or later is part of all distributions of LaTeX +%%% version 2005/12/01 or later. + +%%% This work consists of the file lsstdescnote.cls +%%% which should have the LPPL maintenance status `maintained'. +%%% The Current Maintainer of lsstdescnote.cls is Phil Marshall, +%%% https://github.com/DarkEnergyScienceCollaboration/start_paper/issues/new?body=@drphilmarshall + +%%% This work is adapted from aastex.cls, +%%% which has the LPPL maintenance status `maintained'. +%%% The Current Maintainer of aastex.cls is Greg Schwarz + +%%% copyright = "Copyright (C) 2016 American Astronomical Society +%%% +%%% This work may be distributed and/or modified under the +%%% conditions of the LaTeX Project Public License, either version 1.3 +%%% of this license or (at your option) any later version. +%%% The latest version of this license is in +%%% http://www.latex-project.org/lppl.txt +%%% and version 1.3 or later is part of all distributions of LaTeX +%%% version 2003/12/01 or later. +%%% +%%% This work has the LPPL maintenance status "maintained". +%%% +%%% The Current Maintainer of this work is the American Astronomical Society. +%%% +%%% This work consists of all files listed in the document README. +%%% +%%% address = "American Astronomical Society +%%% USA", +%%% telephone = "+1 ???", +%%% FAX = "", +%%% email = "aastex-help@aas.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "latex, AAS, journal", +%%% supported = "yes", +%%% abstract = "formatter for AAS journal submissions", +%%% } + +\ProvidesClass{lsstdescnote}%%% + [2016/11/12 Version 0.1/LSST DESC Note markup document class]% +{} +\ClassInfo{aastex}{% +^^J +^^J + Original \protect\LaTeX2.09 style + by Chris Biemesderfer (chris@seagoat.com). +^^J + Adapted to \protect\LaTeXe\space + by A. Ogawa (ogawa@teleport.com)% +^^J +emulateapj.cls included, Copyright 2000-2015 Alexey Vikhlinin +^^J +Rewrite and update of emulateapj.cls, +revised and enhanced with table macros, gridlines, draft watermark,^^J +track changes, new `modern' style and much more, by Amy Hendrickson,% +^^J + (amyh@texnology.com, http://www.texnology.com) +^^J +^^J +}% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% aastex.cls version 2.0 is a based on emulateapj.cls, version January 23, 2015, +%% and an older version of aastex.cls, with many additional functionalities. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Options. Document style options, and additional feature options. + +% These are the General document style options, 6 choices + +% manuscript : onecolumn, doublespace, 12pt fonts + +%% Preprints are like manuscript, except they are single spaced. +% preprint : onecolumn, single space, 12pt fonts +% preprint2 : twocolumn, single space, 12pt fonts + +%% Modern is new design developed by David Hogg and Daniel Foreman-Mackey +% modern : one column, single space, 10pt fonts, more stylish + +% twocolumn : a two column article, single space, 10pt fonts + +% Default document style option +% onecolumn : a one column article; single space, 10pt fonts + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Additional feature options: + +% revtex4 : will produce an error message and demand to download revtex4-1. +% twocolappendix: make 2 column appendix // produces error message. +% onecolappendix: make 1 column appendix is the default. // not needed because it is the default +% astrosymb : Loads Astrosymb font and define \astro commands. +% tighten : Makes baselineskip slightly smaller, only works with twocolumn option. +%% author can also use the commands \tighten, or \singlespace or \doublespace in the body of their article +%% to get this change to the baselineskip +% times : uses times font as the default +% linenumbers : turn on lineno package. +% trackchanges : required to see the revision mark up and print output +% letteredappendix: (was numbered appendix) Not needed because it is the default, will label appendix sections A, B, ... +% numberedappendix: Legacy command, will produce same results as lettered appendix, since we don't want more +% than one `section 1' in article: will cause problems for cross referencing. + + +\newif\ifmanu +\newif\iftwelvepoint +\newif\ifmodern +\newif\ifdoublespace +\newif\if@two@col +\newif\ifonecolstyle +\newif\iftwocolstyle + + \DeclareOption{manuscript}{\twelvepointtrue\@two@colfalse\doublespacetrue\manutrue}% + +%% Preprints are like manuscript but are single spaced: +\newif\ifpreprint + \DeclareOption{preprint}{\@two@colfalse\preprinttrue\twelvepointtrue}% + +\newif\ifpreprinttwo + \DeclareOption{preprint2}{\@two@coltrue\preprinttwotrue\twelvepointtrue}% + + +%% New design suggested by +\DeclareOption{modern}{\@two@colfalse\twelvepointtrue\moderntrue} + +%% left in from older version, in case it could be useful: + +\DeclareOption{twocolumn}{\twocolstyletrue\@two@coltrue} + +%% default style +\DeclareOption{onecolumn}{\onecolstyletrue} + +%% obsolete option +\DeclareOption{revtex4}{\typeout{=================^^J^^J!!! The revtex4 option no longer + allowed!^^J^^J Please download revtex4-1.cls^^J^^J + Thank-you!^^J^^J=================}\stop} + +\newif\if@two@col@app +\DeclareOption{twocolappendix}{\typeout{^^J^^J The option^^J +`twocolappendix' no +longer works! onecolappendix is preferred,^^J +and is the default.^^J^^J}\stop}%\@two@col@apptrue} +\DeclareOption{onecolappendix}{\@two@col@appfalse}%% this is default + +\newif\iflongauthor +\DeclareOption{longauthor}{\global\longauthortrue} + +\newlength{\bibbaselineskip}\setlength{\bibbaselineskip}{3.075mm} + + \DeclareOption{astrosymb}{ + \def\astro#1{\leavevmode\hbox{\astro@font#1}}% + \def\load@astro@font{% +\iftwelvepoint + \font\astro@font=Astrosym at 8pt +\else + \font\astro@font=Astrosym at 7pt +\fi +}% + \AtBeginDocument{\load@astro@font} + } + +%% Default definition for \astro, in case astrosymb option has not +%% been used: +\def\astro#1{\typeout{^^J^^J Please use class option `astrosymb' to +access fonts for the \string\astro\space command +^^J^^J +}\stop} + +% LSST DESC Notes: big, bold section headings: +% \def\apjsecfont{\normalsize} +% \def\secnum@size{\small} +% \def\subsecnum@size{\normalsize} + \def\apjsecfont{\bf} + \def\secnum@size{\Large} + \def\subsecnum@size{\large} + + \def\AppendixApjSectionMarkInTitle#1{\relax} +\newif\ifletteredappendix + \DeclareOption{letteredappendix}{\global\letteredappendixtrue + \def\AppendixApjSectionMarkInTitle#1{#1.\ } + } + +%% this option is obsolete, since letteredappendix is a more logical name; +%% but keeping it here in case someone uses it, set to be the same as +%% letteredappendix. + \DeclareOption{numberedappendix}{\global\letteredappendixtrue + \def\AppendixApjSectionMarkInTitle#1{#1.\ } + } + + \newif\if@number@appendix@floats\@number@appendix@floatsfalse + \DeclareOption{appendixfloats}{ + \@number@appendix@floatstrue + } + +%%%%%%%%%%%%% +%% AH + +%% This option changes the baselineskips in the definitions of \normalsize etc +%% to make them a bit smaller. +\newif\iftighten +\DeclareOption{tighten}{\global\tightentrue} + +%% AH +\newif\iftimes +\DeclareOption{times}{\global\timestrue} + +\newif\ifnumlines +\DeclareOption{linenumbers}{\global\numlinestrue} + +\newif\iftrack +\DeclareOption{trackchanges}{\global\tracktrue} + +%% End AH Options + +\ExecuteOptions{onecolumn,onecolappendix,letteredappendix}% + +\ProcessOptions + +%%%%%%%%%%%%% +% + + \iftimes +%% Might be better to use apjfonts, from Alexey Vikhlinin's website +%% http://hea-www.harvard.edu/~alexey/emulateapj/apjfonts.sty +%%\usepackage{apjfonts} +%% but times.sty is ubiquitous, and many people may not have apjfonts.sty +%% or the fonts that it calls. +%% default fonts: +\usepackage{times} + \fi + +%% LSST DESC Notes: use fonts that look like GitHub-presented Markdown: +\usepackage{helvet,mathpple} +\renewcommand{\familydefault}{\sfdefault} + +%%%%%%%%%%%%% + + \IfFileExists{revtex4-1.cls}{ + \def\@revtex@cls{revtex4-1} + }{ +\typeout{^^J^^J Please update your system to include +revtex4-1.cls^^J^^J}\stop + } +\def\@revtex@cls{revtex4-1} +\let\@startsection@from@latex=\@startsection + + +%% Passing options to revtex while loading: + \iftwelvepoint + \iflongauthor + \LoadClass[nofootinbib,showkeys,twoside,floatfix,unsortedaddress,flushbottom,12pt,aps,pra] + {\@revtex@cls} + \else + \LoadClass[nofootinbib,showkeys,twoside,floatfix,superscriptaddress,flushbottom,12pt,aps,pra] + {\@revtex@cls} + \fi + \else %not twelvepoint + \iflongauthor + \LoadClass[nofootinbib,showkeys,twoside,floatfix,unsortedaddress,flushbottom,10pt,aps,pra] + {\@revtex@cls} + \else + \LoadClass[nofootinbib,showkeys,twoside,floatfix,superscriptaddress,flushbottom,10pt,aps,pra] + {\@revtex@cls} + \fi + \fi + +%%%%%%%%%%%%%%%%%%%% + +\def\blankaffiliation{~}% + +%% needed? + \def\@eapj@cap@font{\bfseries} + \def\@eapj@figname{Figure} + \def\@eapj@tabname{Table} + +% Restore natbib package without sorting. +\def\NAT@sort{0} +\def\NAT@cmprs{0} + +% only redefine sort@cites for natbib versions < 2009 +\@ifundefined{NAT@sort@cites@}{\def\NAT@sort@cites#1{\edef\NAT@cite@list{#1}}}% + +\RequirePackage{latexsym}% +\RequirePackage{graphicx}% +\RequirePackage{amssymb}% + +\newcommand{\bibstyle@aas}{\bibpunct{(}{)}{;}{a}{}{,}}% +\@citestyle{aas}% + +\let\@startsection=\@startsection@from@latex +\def\baselinestretch{1.0} + +%% a bit more vertical space between horizontal lines, makes table more readable +\AtBeginDocument{\def\arraystretch{1.2}} + +%% needed? +\def\raggedcolumn@sw#1#2{#2} % implement flushbottom as it was in revtex4 + +\RequirePackage{epsf,graphicx} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Font families +%% modification of bk10.clo, and bk12.clo, standard LaTeX distribution +%% +%% Implements doublespace used in `manuscript' option +%% Implements `tighten' option: make baselineskip smaller if `tighten' is used +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% tighten only works with two column styles: +\iftwocolstyle\else\global\tightenfalse\fi + +%%% preprint, preprint2, manuscript are 12pt +%% Modified bk12.clo +\iftwelvepoint + +\renewcommand\normalsize{% +\ifdoublespace % manuscript + \iftighten + \@setfontsize\normalsize\@xiipt{20}% + \else + \@setfontsize\normalsize\@xiipt{24}% + \fi +\else + \iftighten + \@setfontsize\normalsize\@xiipt{13}% + \else + \ifmodern + \@setfontsize\normalsize\@xiipt{16}% + \else + \@setfontsize\normalsize\@xiipt{15}% + \fi + \fi +\fi %% end doublespace/no double space + \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} + +\normalsize + +\renewcommand\small{% +\ifdoublespace % manuscript + \@setfontsize\small\@xipt{20}% +\else +\ifmodern + \@setfontsize\small\@xipt{12}% +\else + \@setfontsize\small\@xipt{13.6}% +\fi\fi +%% end doublespace/no double space + \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 9\p@ \@plus3\p@ \@minus5\p@ + \parsep 4.5\p@ \@plus2\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} + +\renewcommand\footnotesize{% +\ifdoublespace % manuscriptstyle + \@setfontsize\footnotesize\@xpt{18} +\else + \ifmodern + \@setfontsize\footnotesize\@xpt{11}% + \else + \@setfontsize\footnotesize\@xpt\@xiipt +\fi\fi + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 6\p@ \@plus2\p@ \@minus2\p@ + \parsep 3\p@ \@plus2\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\ifdoublespace % manuscript style +\renewcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{14}} +\renewcommand\tiny{\@setfontsize\tiny\@vipt{10}} +\renewcommand\large{\@setfontsize\large\@xivpt{18}} +\renewcommand\Large{\@setfontsize\Large\@xviipt{22}} +\renewcommand\LARGE{\@setfontsize\LARGE\@xxpt{25}} +\renewcommand\huge{\@setfontsize\huge\@xxvpt{30}} +\else +\renewcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}} +\renewcommand\tiny{\@setfontsize\tiny\@vipt\@viipt} +\renewcommand\large{\@setfontsize\large\@xivpt{22}} +\renewcommand\Large{\@setfontsize\Large\@xviipt{24}} +\renewcommand\LARGE{\@setfontsize\LARGE\@xxpt{28}} +\renewcommand\huge{\@setfontsize\huge\@xxvpt{30}} +\fi +\let\Huge=\huge +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\else %% not twelvepoint, now tenpoint +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% no doublespace here, because the only doublespace is in `manuscript style' which is 12pt + +\renewcommand\normalsize{% +\iftighten + \@setfontsize\normalsize\@xpt{11.5}% +\else + \@setfontsize\normalsize\@xpt{12.5}% +\fi + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} + +\normalsize + +\renewcommand\small{% +\iftighten + \@setfontsize\small\@ixpt{11}% +\else + \@setfontsize\small\@ixpt{12}% +\fi + \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus2\p@ + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 4\p@ \@plus2\p@ \@minus2\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} + +\renewcommand\footnotesize{% +\iftighten + \@setfontsize\footnotesize\@viiipt{9}% +\else + \@setfontsize\footnotesize\@viiipt{9.5}% standard eightpoint size +\fi + \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 3\p@ \@plus\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} + +%% Standard 10pt font sizes +\renewcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} +\renewcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} +\renewcommand\large{\@setfontsize\large\@xiipt{14}} +\renewcommand\Large{\@setfontsize\Large\@xivpt{18}} +\renewcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}} +\renewcommand\huge{\@setfontsize\huge\@xxpt{25}} +\renewcommand\Huge{\@setfontsize\Huge\@xxvpt{30}} + +\fi + +%% End font sizes +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@} +\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@} +\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@} +\setlength\headheight{12\p@} +\def\@listi{\leftmargin\leftmargini + \parsep 4\p@ \@plus2\p@ \@minus\p@ + \topsep 8\p@ \@plus2\p@ \@minus4\p@ + \itemsep4\p@ \@plus2\p@ \@minus\p@} +\let\@listI\@listi +\@listi +\def\@listii {\leftmargin\leftmarginii + \labelwidth\leftmarginii + \advance\labelwidth-\labelsep + \topsep 4\p@ \@plus2\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii + \advance\labelwidth-\labelsep + \topsep 2\p@ \@plus\p@\@minus\p@ + \parsep \z@ + \partopsep \p@ \@plus\z@ \@minus\p@ + \itemsep \topsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} + +% **************************************************** +% * TWO AND SINGLE ONE COLUMN STYLES: AV * +% **************************************************** +% + +%%%%% include atbeginend.sty by AV: + +% Copy \begin and \end to \BeginEnvironment and \EndEnvironment +\let\BeginEnvironment=\begin +\let\EndEnvironment=\end +%% \ifundefined from TeXbook +\def\IfUnDef#1{\expandafter\ifx\csname#1\endcsname\relax} +% Null command needed to eat its argument +\def\NullCom#1{} +\def\begin#1{% +% if defined \BeforeBeg for this environment, execute it +\IfUnDef{BeforeBeg#1}\else\csname BeforeBeg#1\endcsname\fi% +\IfUnDef{AfterBeg#1}% This is done to skip the command for environments + % which can take arguments, like multicols; YOU MUST NOT + % USE \AfterBegin{...}{...} for such environments! + \let\SaveBegEnd=\BeginEnvironment% +\else + % Start this environment + \BeginEnvironment{#1}% + % and execute code after \begin{environment} + \csname AfterBeg#1\endcsname + \let\SaveBegEnd=\NullCom +\fi +\SaveBegEnd{#1} +} +\def\end#1{% +% execute code before \end{environment} +\IfUnDef{BeforeEnd#1}\else\csname BeforeEnd#1\endcsname\fi% +% close this environment +\EndEnvironment{#1} +% and execute code after \begin{environment} +\IfUnDef{AfterEnd#1}\else\csname AfterEnd#1\endcsname\fi% +} +\long\def\BeforeBegin#1#2{\expandafter\gdef\csname BeforeBeg#1\endcsname {#2}} +\long\def\BeforeEnd #1#2{\expandafter\gdef\csname BeforeEnd#1\endcsname {#2}} +\long\def\AfterBegin #1#2{\expandafter\gdef\csname AfterBeg#1\endcsname {#2}} +\long\def\AfterEnd #1#2{\expandafter\gdef\csname AfterEnd#1\endcsname{#2}} + +%%%% end of atbeginend.sty + +% **************************************** +% * PAGE LAYOUT * +% **************************************** + +% Page size, spacing parameters, etc. + +\textwidth=7.1in +\columnsep=0.3125in +\parindent=0.125in +\voffset=-20mm +\hoffset=-7.5mm + +\topmargin=0in +\headheight=.15in +\headsep=0.5in +\oddsidemargin=0in +\evensidemargin=0in +\parskip=0cm + +\tolerance=600 % 3x "normal" value; cuts down on overfull complaints + +%% AV,MM, to have 64 lines per column, with textheight 25cm: +\textheight=64\baselineskip +\textheight=\baselinestretch\textheight +\ifdim\textheight>25.2cm\textheight=25.0cm\fi + +%% so that the margin at the bottom of the page is about equal to margin at top. -- AH +\advance\textheight -54pt + +\topskip\baselineskip +\maxdepth\baselineskip + + + +\def\eqsecnum{ + \@newctr{equation}[section] + \def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}} + +%% running heads: +\def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax} +\def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax} +\let\shorttitle\lefthead +\let\shortauthors\righthead + +\def\ps@apjheads{\let\@mkboth\markboth + \def\@evenfoot{} + \def\@evenhead{\lower9mm\hbox to\textwidth{ + \rm\thepage\hfil \rm\textsc{\@rectohead} \hfil}}} + \def\@oddfoot{} + \def\@oddhead{\lower9mm\hbox to\textwidth{ + \hfil\rm\textsc{\@versohead}\hfil \rm\thepage}} + +\pagestyle{apjheads} + +\@twosidetrue + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% TITLE PAGE % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\long\def\frontmatter@title@above{ +\ifmodern +\vglue-18pt +{\footnotesize +% \raggedright +% {\sc Draft version \today}\\[2pt] +% {\footnotesize +% Typeset using \LaTeX\ {\bf modern} style in AASTeX61} +% LSST DESC Notes have a header image instead! +\vspace*{-1in} +\includegraphics[width=\textwidth]{texmf/logos/header.png} +\par\vspace*{-\baselineskip}\vspace*{0.625in} +} +\else +%% +\ifpreprint +\vspace*{-\headsep}\vspace*{\headheight} +\footnotesize +\noindent{\sc Draft version \today}\\[2pt] +{\footnotesize Typeset using \LaTeX\ {\bf preprint} style in AASTeX61} +\par\vspace*{-\baselineskip}\vspace*{0.625in} +\else +%% +\ifpreprinttwo +\vspace*{-\headsep}\vspace*{\headheight} +\footnotesize +{\footnotesize\textsc{\@journalinfo}}\par +{\footnotesize Typeset using \LaTeX\ {\bf preprint2} style in AASTeX61} +\par\vspace*{-\baselineskip}\vspace*{0.625in} +\else +%% +\iftwocolstyle +\vspace*{-\headsep}\vspace*{\headheight} +\footnotesize +{\footnotesize\textsc{\@journalinfo}}\par +{\footnotesize Typeset using \LaTeX\ {\bf twocolumn} style in AASTeX61} +\par\vspace*{-\baselineskip}\vspace*{0.625in} +\else +\ifmanu +\vspace*{-\headsep}\vspace*{\headheight} +\footnotesize +\noindent\textsc{\@journalinfo}\\[-8pt] +{\footnotesize Typeset using \LaTeX\ {\bf manuscript} style in AASTeX61} +\par\vspace*{-\baselineskip}\vspace*{0.625in} +\else +%% Default +\vspace*{-\headsep}\vspace*{\headheight} +\footnotesize +{\footnotesize\textsc{\@journalinfo}}\par +{\footnotesize Typeset using \LaTeX\ default style in AASTeX61}%% default style +\par\vspace*{-\baselineskip}\vspace*{0.625in} +\fi\fi\fi\fi\fi +}% + +\def\frontmatter@title@produce{% + \begingroup +\ifnumlines\nolinenumbers\fi + \frontmatter@title@above + \frontmatter@title@format + \@title +\vskip12pt + \@ifx{\@title@aux\@title@aux@cleared}{}{% + \expandafter\frontmatter@footnote\expandafter{\@title@aux}% + }% + \par +%% \class@warn{Unused short title ignored}% +\ifmodern +\vskip-42pt +\else +\ifmanu +\vskip-60pt +\else + \frontmatter@title@below +\fi +\fi + \endgroup +}% + +\newcount\fncount +\newcount\endfncount +\long\def\tempfootnote#1{\global\advance\fncount by 1\relax% +\expandafter\gdef\csname footnote\the\fncount\endcsname{#1}} + +\long\def\abstracttempfootnote#1{\global\advance\fncount by 1\relax% +\expandafter\gdef\csname absfootnote\the\fncount\endcsname{#1}} + +\def\tempfootnoteintitle#1{} + +\long\def\ltx@foottext#1#2{% + \begingroup + \expandafter\ltx@make@current@footnote\expandafter{\@mpfn}{#1}% +\@footnotetext{#2}% + \endgroup +}% + +\def\kickoutfootnotes{\c@footnote=0\relax% +\loop\advance\endfncount by 1\relax% +\expandafter\ifx\csname footnote\the\endfncount\endcsname\relax% +\else% +\def\thempfn{\fnsymbol{footnote}}% +\advance\c@footnote by 1\relax% +\unskip\footnote{\csname footnote\the\endfncount\endcsname}% +\repeat} + + + +%% +\renewcommand\title[2][]{% +\def\@title{\setbox0=\vbox{\let\footnote\tempfootnote #2}% +% LSST DESC Notes don't have uppercase titles: +% {\let\footnote\tempfootnoteintitle\uppercase{#2}} +% \kickoutfootnotes +% \ifdoublespace\vskip 3\baselineskip\fi +% }% +{\let\footnote\tempfootnoteintitle{#2}} +\kickoutfootnotes +\ifdoublespace\vskip 3\baselineskip\fi +}% + \def\@shorttitle{#1}% + \let\@AF@join\@title@join +}% + + +\def\frontmatter@title@format{\huge\bf\centering} + +\def\frontmatter@title@below{\vskip12pt}% + +\def\frontmatter@authorformat{\small\itshape%\scshape +\ifmodern +\vskip48pt +\centering +\leftskip=.05in plus 1fil +\rightskip=.05in plus 1 fil +\baselineskip=13pt +\else +\centering +\fi +}% + +% DESC Note: shrink affiliation font size +\def\frontmatter@affiliationfont{\normalfont\tiny\it}% + +\def\frontmatter@finalspace{\vspace*{-0.5in}} + +\def\@separator{\\}% + +\newcounter{front@matter@foot@note}\setcounter{front@matter@foot@note}{0} + +\iflongauthor +\renewcommand\affiliation[1]{% + \move@AU\move@AF% +\iflongauthor\let\@listand\relax\fi + \begingroup% + \@affiliation{%\hspace*{2mm} +\ifnum\countauthors<\AuthorCollaborationLimit + #1\ifmodern\iflongauthor\baselineskip=12pt\else\vskip2pt\fi\else\baselineskip=12pt\fi\fi +\ifnum\countauthors=\AuthorCollaborationLimit + #1\ifmodern\iflongauthor\baselineskip=12pt\else\vskip2pt\fi\else\baselineskip=12pt\fi\fi +\iflongauthor\vskip-12pt\ifnum\countauthors>\AuthorCollaborationLimit\iftwelvepoint\vskip-3pt\else\iftwocolstyle\else\vskip-6pt\fi\fi\fi% +\fi +}% +}% +\else +%% older version +\renewcommand\affiliation[1]{% + \move@AU\move@AF% + \begingroup% + \@affiliation{%\hspace*{2mm} +% DESC Note: Shrink skip between affiliations + #1\ifmodern\iflongauthor\baselineskip=12pt\else\vskip-14pt\fi\fi}% +}% +\fi %% end switch for longauthor + + +% ABSTRACT +\def\frontmatter@abstractfont{\normalsize\parindent=9pt +}% +%\def\frontmatter@abstractwidth{6in} +\def\frontmatter@preabstractspace{12pt} +\def\frontmatter@postabstractspace{12pt} + +\def\abstractname{}%{ABSTRACT} # No Abstract marker in LSST DESC Notes +\long\def\frontmatter@abstractheading{% + \begingroup + \centering + \abstractname + \vskip 1mm + \par + \endgroup +}% + +\newif\ifabstract% +\renewenvironment{frontmatter@abstract}{% + \aftermaketitle@chk{\begin{abstract}}% +\global\abstracttrue + \global\setbox\absbox\vbox\bgroup + \color@begingroup + \columnwidth\textwidth + \hsize\columnwidth + \@parboxrestore + \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote)}\c@mpfootnote\z@ % should be footnote, not mpfootnote? +% \let\@footnotetext\frontmatter@footnotetext + \minipagefootnote@init + \let\set@listindent\set@listindent@ + \let\@listdepth\@mplistdepth \@mplistdepth\z@ + \let@environment{description}{frontmatter@description}% + \@minipagerestore + \@setminipage + \frontmatter@abstractheading + \frontmatter@abstractfont +% \let\footnote\mini@note + \expandafter\everypar\expandafter{\the\everypar\addcontents@abstract\everypar{}}% +\ifnumlines\let\go\linenumbers\else\let\go\relax\fi\go +}{% +\ifnumlines\let\go\endlinenumbers\else\let\go\relax\fi\go + \par + \unskip + \minipagefootnote@here + \@minipagefalse %% added 24 May 89 + \color@endgroup +\egroup% end setbox\absbox +}% + +\let\abstract\frontmatter@abstract + +\def\frontmatter@abstract@produce{% + \par + \preprintsty@sw{% + \do@output@MVL{% + \vskip\frontmatter@preabstractspace + \vskip200\p@\@plus1fil + \penalty-200\relax + \vskip-200\p@\@plus-1fil + }% + }{% + \addvspace{\frontmatter@preabstractspace}% + }% + \begingroup + \dimen@\baselineskip + \setbox\z@\vtop{\unvcopy\absbox}% + \advance\dimen@-\ht\z@\advance\dimen@-\prevdepth + \@ifdim{\dimen@>\z@}{\vskip\dimen@}{}% + \endgroup + \begingroup + \prep@absbox +\unvbox\absbox + \post@absbox + \endgroup + \@ifx{\@empty\mini@notes}{}{\mini@notes\par}% + \addvspace\frontmatter@postabstractspace +\global\abstractfalse +}% + +\newif\ifbib + + +% **************************************** +% * KEYWORDS * +% **************************************** + +% No keywords in LSST DESC Notes! We use the slot for the date instead: +% \def\@keys@name{\textit{Keywords:}\/~\mbox{}}% +\def\@keys@name{\small This LSST DESC Note was generated on: \today}% + +\newlength{\keys@width} +\def\frontmatter@keys@format{\ifmodern\vskip0pt\else\vspace*{0.5mm}\fi% + \settowidth{\keys@width}{\normalsize\@keys@name}% + % LSST DESC Notes have a centered date statement: + % \rightskip=0.5in\leftskip=\rightskip\parindent=0pt% + % \hangindent=\keys@width\hangafter=1\normalsize}% + \rightskip=0.0in\leftskip=\rightskip\parindent=0pt}% + +\def\@keywords@produce#1{% + \showKEYS@sw{% + \begingroup% + \frontmatter@keys@format% + % No keywords in LSST DESC Notes! + % \@keys@name#1\par + \@keys@name\par + \endgroup + }{% + % \@if@empty{#1}{}{% + % \class@warn{If you want your keywords to appear in your output, use document class option showkeys}% No keywords warnings in LSST DESC Notes! + % }% + % LSST DESC Notes uses the keywords space to show the date! + \begingroup% + \frontmatter@keys@format% + % No keywords in LSST DESC Notes! + % \@keys@name#1\par + \@keys@name\par + \endgroup + }% +}% + +\let\subjectheadings=\keywords + +% **************************************** +% * DATE * +% **************************************** + + +% **************************************** +% * FOOTNOTES * +% **************************************** + +%% legacy notes and footnote code + +% Footnotes on the last page: user issues \lastpagefootnotes. It catches all +% footnotes and issues them before \begin{refernces} or +% \begin{\thebibliography} or \begin{appendix}, whichever comes first, +% at the end of right column. +%% ??? +\newcounter{lastfootnote} +\let\orig@footnote=\footnote +% +\def\spit@out@footnotes@{\addtocounter{footnote}{-\c@lastfootnote}\vspace*{-\baselineskip}\vspace*{\skip\footins}\bgroup\footnotesize\lastfootnote\par\egroup\let\footnote=\orig@footnote} +% +\let\spit@out@footnotes\relax +% +\long\def\lastpagefootnotes{% +\raggedbottom% Have to use flushbottom with revtex4-1 but it eats away + % last page footnotes +\setcounter{lastfootnote}{0} +\long\gdef\lastfootnote{\mbox{}} +\let\spit@out@footnotes\spit@out@footnotes@ +\long\def\footnote##1{\refstepcounter{lastfootnote}\footnotemark\g@addto@macro\lastfootnote{\\[\footnotesep]\refstepcounter{footnote}\mbox{}\hspace*{3mm}\textsuperscript{\thefootnote}~##1}} +% We need to mess with footnotes in appendix only if it is in a +% different mode (twocol vs onecol) than the main text +\def\mess@with@appendix@footnotes{ +\BeforeBegin{appendix}{\spit@out@footnotes\let\spit@out@footnotes\relax} +\BeforeEnd{appendix}{\spit@out@footnotes\let\spit@out@footnotes\relax} +\AfterEnd{appendix}{\let\footnote=\orig@footnote} +} + +\if@two@col + \if@two@col@app\else + \mess@with@appendix@footnotes + \fi +\fi + +\BeforeBegin{references}{\spit@out@footnotes\let\spit@out@footnotes\relax} +\BeforeBegin{thebibliography}{\spit@out@footnotes\let\spit@out@footnotes\relax} +% in case \lastpagefootnotes were given inside \begin{appendix}\end{appendix}, +\AfterEnd{references}{\let\footnote=\orig@footnote} +\AfterEnd{thebibliography}{\let\footnote=\orig@footnote} +} +\let\lastpagefootnote=\lastpagefootnotes + +%% probably not needed: +\def\notetoeditor#1{}% % We do not need notes to editor in the preprint +\def\placetable#1{}% % We do not need notes to editor in the preprint +\def\placefigure#1{}% % We do not need notes to editor in the preprint + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifdoublespace %used for manuscript +\footnotesep 12pt +\skip\footins 36pt +\else +\footnotesep 12pt +\skip\footins 24pt +\fi + +\let\footnoterule\relax + +\def\@makefntext#1{\mbox{}\hspace*{3mm}\@makefnmark~#1} + + +% **************************************** +% * SECTIONS * +% **************************************** + +\setcounter{secnumdepth}{3} + +\newif\if@firstsection \@firstsectiontrue + +\def\section{% + +% LSST DESC Notes don't have this extra page at the front: +% ADW: I think it might actually be better to change doctitle to do this +% \if@firstsection +% \maketitle +% \global\@firstsectionfalse +% \setcounter{footnote}{\thefront@matter@foot@note}% +% \let\footnotetext=\old@foot@note@text +% \let\footnotemark=\old@foot@note@mark +% \clearpage +% \if@two@col +% \twocolumngrid +% \fi +% \fi + +% LSST DESC Notes: big, bold section headings: +% \@startsection{section}{1}{\z@}{9pt plus 1pt minus +% 1pt}{4pt}{\apjsecfont\center}} +\@startsection{section}{1}{\z@}{9pt plus 1pt minus 1pt}{4pt}{\bf\Large}} + +% LSST DESC Notes: big, bold section headings: +% \def\subsection{\@startsection{subsection}{2}{\z@}{9pt plus 1pt minus 1pt}{4pt}{\normalsize\itshape \center}} +\def\subsection{\@startsection{subsection}{2}{\z@}{9pt plus 1pt minus 1pt}{4pt}{\bf\large}} + +% LSST DESC Notes: big, bold section headings: +% \def\subsubsection{\@startsection{subsubsection}{3}{\z@}% +% {2ex plus 1ex minus .2ex}{1ex plus .2ex}{\small\itshape \center}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {2ex plus 1ex minus .2ex}{1ex plus .2ex}{\bf\normalsize}} + +\def\paragraph{\@startsection{paragraph}{4}{\z@}% + {1.5ex plus 1ex minus .2ex}{0pt}{\small\itshape}} + +\def\subparagraph{\@startsection{subparagraph}{5}{\z@}% + {1ex plus 1ex minus .2ex}{-0.5\parindent}{\small\itshape}} + +\def\thesection{\arabic{section}} +\def\thesubsection{\thesection.\arabic{subsection}} +\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} +\def\theparagraph{\thesubsubsection.\arabic{paragraph}} +\def\p@section {} +\def\p@subsection {} +\def\p@subsubsection {} +\def\p@paragraph {} +\def\p@subparagraph {} + +% LSST DESC Notes don't have uppercase section headings: +% \def\sec@upcase#1{\uppercase{#1}} +\def\sec@upcase#1{\relax{#1}} +\def\subsec@upcase#1{\relax{#1}} + +% How the section number will appear in the section title - AV +% LSST DESC Notes: no section numbering! +% \def\ApjSectionMarkInTitle#1{#1.\ } +\def\ApjSectionMarkInTitle#1{\!\!} +\def\ApjSectionpenalty{0} + + +\def\@sect#1#2#3#4#5#6[#7]#8% +{\ifnum#2=1\setbox0=\hbox{\def\label##1{\gdef\templabel{##1}}#7}\fi +\@tempskipa #5\relax + \ifdim \@tempskipa >\z@ \begingroup + #6\relax + \ifnum #2>\c@secnumdepth \def \@svsec {}\else + \refstepcounter{#1} \edef \@svsec {\ApjSectionMarkInTitle + {\csname the#1\endcsname}}\fi + \@hangfrom {\hskip #3\relax + \ifnum #2=1{\secnum@size {\rm\@svsec~}}% + \else {\subsecnum@size {\rm\@svsec~}}\fi }% + {\interlinepenalty \@M + \ifnum #2=1\sec@upcase{#8}% + \else \subsec@upcase{#8}\fi\par}\endgroup + \csname #1mark\endcsname {#7}\addcontentsline{toc}{#1}% + {\ifnum #2>\c@secnumdepth \else \protect \numberline + {\csname the#1\endcsname }\fi #7}% + \else + \ifnum #2>\c@secnumdepth \def \@svsec {}\else + \refstepcounter{#1} \edef \@svsec {\ApjSectionMarkInTitle + {\csname the#1\endcsname}}\fi + \def \@svsechd {#6\hskip #3% + \ifnum #2=1{\secnum@size{\rm\@svsec~}}\else{\subsecnum@size{\rm\@svsec~}}\fi% + \ifnum #2=1\sec@upcase{#8}\else\subsec@upcase{#8}\fi% + \ifnum #2=4\hskip 0.4ex{\rm ---}\fi% + \csname #1mark\endcsname {#7}\addcontentsline{toc}{#1}% + {\ifnum #2>\c@secnumdepth \else \protect \numberline {\csname + the#1\endcsname }\fi #7}}\fi \@xsect {#5} \penalty \ApjSectionpenalty +%-refstepcounter is now within a group. So \@currentlabel, which is normally +%-set by \refstepcounter is hidden within a group. Need to set it manually. +\protected@edef\@currentlabel{\csname p@#1\endcsname\csname +the#1\endcsname} +\expandafter\ifx\csname templabel\endcsname\relax +\let\go\relax +\else +\def\go{\label{\templabel}}\fi\go +\let\templabel\relax +} + +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M + \sec@upcase{#5}\par}\endgroup + \else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi + \@xsect{#3} +% MM: +\penalty \ApjSectionpenalty} + + +\def\acknowledgments{\vskip 5.8mm plus 1mm minus 1mm} +\let\acknowledgements=\acknowledgments % second spelling + + +% **************************************** +% * APPENDIX * +% **************************************** + +\newcounter{remember@figure@num} +\newcounter{remember@table@num} + + +% this was an environment earlier, which doesn't make sense since we don't +% do \begin{appendix}...\end{appendix}. Changed to \appendix which is how it is used. + +% numberedappendix: Needed to label appendix sections A, B, . +% appendixfloats: Needed. ?? + +\newif\ifappendixon +\def\appendix{ +\global\appendixontrue +\onecolumngrid +%\clearpage +% \vrule used for extra space; otherwise revtex4-1 sometimes eats +% away the last line before appendix + % \noindent\mbox{}\vrule height 24pt width0pt\hfill{\apjsecfont APPENDIX}\hfill\mbox{}\par + % LSST DESC Notes: no appendix marker, author does it themselves: + \noindent\mbox{}\vrule height 24pt width0pt\hfill{}\hfill\mbox{}\par + \nopagebreak\medskip\@nobreaktrue\def\ApjSectionpenalty{\@M} + \@firstsectionfalse + \setcounter{section}{0} + \setcounter{subsection}{0} + \setcounter{equation}{0} +%% +\ifletteredappendix + \def\thesection{\Alph{section}} + \def\theequation{\hbox{\Alph{section}\arabic{equation}}} +%% these are NOT supposed to reset to zero +%\setcounter{table}{0} +%\setcounter{figure}{0} +\fi +%% +\if@number@appendix@floats +% we don't want to set equations to zero in appendix, because there +% might then be two equation 1's, etc., confusing for cross referencing. +%\setcounter{equation}{0} + \def\thesection{\Alph{section}} + \def\theequation{\hbox{\Alph{section}\arabic{equation}}} +% LSST DESC Notes: Big, bold section headings: +% \def\section{ +% \@startsection {section}{1}{\z@} +% {10pt}{5pt}{\centering\scshape\apjsecfont}} + \def\section{ + \@startsection {section}{1}{\z@} + {10pt}{5pt}{\bf\Large}} + +\else +% Do not use appendix numbers in the titles + \def\ApjSectionMarkInTitle{\AppendixApjSectionMarkInTitle} +\fi +} +% + +%% + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** + +\renewenvironment{references}[0]{ + \onecolumngrid + \par + \vspace{10pt plus 3pt} + \noindent \makebox[\textwidth][c]{\small\scshape REFERENCES} + \par + \vspace*{4pt plus 3pt} + \set@column@hsize{2}\twocolumngrid + \parindent=0cm \parskip=0cm + \def\baselinestretch{1.0} + \footnotesize \baselineskip=\baselinestretch\bibbaselineskip plus 1pt + minus 1pt \interlinepenalty \@M + \hyphenpenalty=10000 + \frenchspacing % AV - to get right spacing after ``et al.'' + \def\refpar{\par\hangindent=1.2em\hangafter=1}} +{ + \onecolumngrid +} + +% redefine thebibliography + +% remove numbers from the reference list +\def\@biblabel#1{\relax} + +\newskip\bibskip +\bibskip=0pt plus 1pt +\let\savebibitem\bibitem +\def\bibitem{\vskip\bibskip\savebibitem} +\newdimen\bibindent +\renewenvironment{thebibliography}[1]{\global\bibtrue + +\onecolumngrid +\vspace{20pt} +\goodbreak +% LSST DESC Notes: References is just another \subsection +% \hbox to\textwidth{\hss\normalsize REFERENCES\hss} + \hbox to\textwidth{\large\bf References} +\vspace{6pt}\parskip=0pt +\twocolumngrid +\par + \raggedright +\small +\ifmodern\else + \vspace{10pt plus 3pt}\fi +\par +\topsep=0pt + \list{}% + { + \parindent=0pt \parskip=1pt plus 1pt \parsep=0pt % AV + \bibindent=0pt % +\ifmodern\vskip-12pt +\baselineskip=13pt plus 1pt +\else +\ifdoublespace +\baselineskip=20pt +\else +\baselineskip=13pt plus 1pt \fi\fi \interlinepenalty \@M % AV + \frenchspacing % AV - to get right spacing after ``et al.'' + \hyphenpenalty=10000 + \itemindent=-1.0em % + \itemsep=0pt % + \listparindent=0pt % + \settowidth\labelwidth{0pt} % + \labelsep=0pt % + \leftmargin=1.0em + \advance\leftmargin\labelsep +%%% \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\relax}}% + \sloppy\clubpenalty10000\widowpenalty10000% + \sfcode`\.\@m\relax +%%%\item[] This May be necessary, but causes extra vertical space in first column +%%% of the bibliography. +} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% +\endlist + \onecolumngrid % to balance references +\global\bibfalse +\newpage + } + +% %% AV: + +\def\reference{\@ifnextchar\bgroup {\@reference} + {\@latexerr{Missing key on reference command} + {Each reference command should have a key corresponding to a markcite somewhere in the text}}} +\def\@reference#1{\refpar} + +%% subtitle header and journal info, legacy, probably not needed +% \def\submitted#1{\gdef\@submitted{#1}} +% \let\slugcomment\submitted % slugcomment == submitted +% \submitted{Draft version \today} +% \journalinfo{\@submitted} + + \def\journalinfo#1{\gdef\@journalinfo{#1}} + \journalinfo{Draft version \today} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Equations % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% EQNARRAY with reduced spacing around tab characters - AV +\def\eqnarray{% + \stepcounter{equation}% + \def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue + \setlength{\arraycolsep}{0.25\arraycolsep} + \m@th + \global\@eqcnt\z@ + \tabskip\@centering + \let\\\@eqncr + $$\everycr{}\halign to\displaywidth\bgroup + \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel + &\global\@eqcnt\@ne\hskip \tw@\arraycolsep \hfil${##}$\hfil + &\global\@eqcnt\tw@ \hskip \tw@\arraycolsep + $\displaystyle{##}$\hfil\tabskip\@centering + &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup + \tabskip\z@skip + \cr + } + +% **************************************** +% * TABLES AND FIGURES * +% **************************************** + +\def\@arstrut@hline@clnc{0.5\p@}% % Klootch: magic number + +\setcounter{topnumber}{7} + +\setlength{\belowcaptionskip}{4pt}% +\setlength{\abovecaptionskip}{5pt} + +\setlength{\textfloatsep}{9pt} +\setlength{\dbltextfloatsep}{0pt} + +% \addtolength{\textfloatsep}{17mm plus 10mm minus 10mm} + % \addtolength{\dbltextfloatsep}{7mm plus 10mm minus 10mm} + + +\renewcommand{\topfraction}{1.0} +\renewcommand{\bottomfraction}{1.0} +\renewcommand{\textfraction}{0.0} +\renewcommand{\dbltopfraction}{0.85} +\renewcommand{\dblfloatpagefraction}{0.85} +\setcounter{topnumber}{9} +\setcounter{bottomnumber}{9} +\setcounter{totalnumber}{20} +\setcounter{dbltopnumber}{9} + +% Copied from revtex4.cls; without it, captions are centered +\def\@xfloat@prep{% + \let\footnote\footnote@latex + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}% + \c@mpfootnote\z@ + \let\@footnotetext\@mpfootnotetext + \let\H@@footnotetext\@mpfootnotetext + \let\@makefntext\@mpmakefntext +}% + + +%%%%%%%%%%%% \cutinhead + +%% Number of \pt@ncol set when \tablecolumns{} used at beginning of +%% deluxetable. + +\def\@ptabularcr{\\} +\newcommand\cutinhead[1]{% + \noalign{\vskip 1.5ex}% + \hline + \@ptabularcr + \noalign{\vskip -1.5ex}% + \multicolumn{\pt@ncol}{c}{#1}% + \@ptabularcr + \noalign{\vskip .8ex}% + \hline + \@ptabularcr + \noalign{\vskip -2ex}% +}% + +\newcommand\sidehead[1]{% + \noalign{\vskip 1.5ex}% +% \hline +% \@ptabularcr +% \noalign{\vskip -1.5ex}% + \multicolumn{\pt@ncol}{l}{#1}% + \@ptabularcr + \noalign{\vskip .8ex}% +% \hline +% \@ptabularcr +% \noalign{\vskip -2ex}% +}% + + +%% these don't seem to be relevant: +\newcommand\figcaption{\@testopt{\@xfigcaption}{}}% +%% suggested by Joern Wilms +\def\@figcaption#1{{\def\@captype{figure}\caption{\footnotesize #1}}} +\def\@xfigcaption[#1]#2{{\def\@captype{figure}\caption{\footnotesize +#2}}} + +\def\thefigure{\@arabic\c@figure} + +\def\fnum@figure{{\footnotesize{\@eapj@cap@font\rm +\mbox{\@eapj@figname~\thefigure}% <== was period here +}}} + +\def\thetable{\@arabic\c@table} +%%% Table captions without making a floating table +\def\tabcaption{\@ifnextchar[{\@xtabcaption}{\@tabcaption}} +\def\@tabcaption#1{{\def\@captype{table}\caption{#1}}} +\def\@xtabcaption[#1]#2{{\def\@captype{table}\caption{#2}}} +\def\fnum@table{{\@eapj@cap@font \@eapj@tabname~\thetable}} + + \let\fnum@ptable=\fnum@table + \def\fnum@ptablecont{{\centering{\scshape Table~\thetable}---{\itshape + Continued}}}% + \long\def\@make@caption@text#1#2{% + {\small\centering#1{\scshape #2}\par\vskip1.4ex} + }% + +\long\def\@makecaption@plano@cont#1#2{% + {\small \centering#1\par}\vskip1.4ex\relax +}% + + +%% Commands from aastex.cls: +\newcommand\dataset{\@testopt\@dataset{[}}% +\def\@dataset[#1]#2{#2}% +\newcommand\facility{\@testopt\@facility{[}}% +\def\@facility[#1]#2{{\vskip6pt{\large\it Facility:} #2}}% + +\newcommand\facilities{\@testopt\@facilities{[}}% +\def\@facilities[#1]#2{{\vskip6pt{\large\it Facilities:} #2}}% + +\newcommand\software{\@testopt\@software{[}}% +\def\@software[#1]#2{{\vskip6pt{\large\it Software:} #2}}% + +\newcommand\object{\@testopt\@object{[}}% +\def\@object[#1]#2{#2}% +\newcommand\objectname{\@testopt\@objectname{[]}}% +\def\@objectname[#1]#2{#2}% +\newlength{\plot@width} +\def\eps@scaling{1.0}% +\newcommand\epsscale[1]{\def\eps@scaling{#1}}% +\newcommand\plotone[1]{% + \centering + \leavevmode + \setlength{\plot@width}{0.85\linewidth} + \includegraphics[width={\eps@scaling\plot@width}]{#1}% +}% +\newcommand\plottwo[2]{% + \centering + \leavevmode + \setlength{\plot@width}{0.425\linewidth} + \includegraphics[width={\eps@scaling\plot@width}]{#1}% + \hfil + \includegraphics[width={\eps@scaling\plot@width}]{#2}% +}% +\newcommand\plotfiddle[7]{% + \centering + \leavevmode + \vbox\@to#2{\rule{\z@}{#2}}% + \includegraphics[% + scale=#4, + angle=#3, + origin=c + ]{#1}% +}% +\newcommand\figurenum[1]{% + \def\thefigure{#1}% + \let\@currentlabel\thefigure + \addtocounter{figure}{\m@ne}% +}% + +\newcommand\phn{\phantom{0}}% +\newcommand\phd{\phantom{.}}% +\newcommand\phs{\phantom{$-$}}% +\newcommand\phm[1]{\phantom{#1}}% +\let\la=\lesssim % For Springer A&A compliance... +\let\ga=\gtrsim +\newcommand\sq{\mbox{\rlap{$\sqcap$}$\sqcup$}}% +\newcommand\arcdeg{\mbox{$^\circ$}}% +\newcommand\arcmin{\mbox{$^\prime$}}% +\newcommand\arcsec{\mbox{$^{\prime\prime}$}}% +\newcommand\fd{\mbox{$.\!\!^{\mathrm d}$}}% +\newcommand\fh{\mbox{$.\!\!^{\mathrm h}$}}% +\newcommand\fm{\mbox{$.\!\!^{\mathrm m}$}}% +\newcommand\fs{\mbox{$.\!\!^{\mathrm s}$}}% +\newcommand\fdg{\mbox{$.\!\!^\circ$}}% +\newcommand\farcm@mss{\mbox{$.\mkern-4mu^\prime$}}% +\let\farcm\farcm@mss +\newcommand\farcs@mss{\mbox{$.\!\!^{\prime\prime}$}}% +\let\farcs\farcs@mss +\newcommand\fp{\mbox{$.\!\!^{\scriptscriptstyle\mathrm p}$}}% +\newcommand\micron{\mbox{$\mu$m}}% +\def\farcm@apj{% + \mbox{.\kern -0.7ex\raisebox{.9ex}{\scriptsize$\prime$}}% +}% +\def\farcs@apj{% + \mbox{% + \kern 0.13ex.% + \kern -0.95ex\raisebox{.9ex}{\scriptsize$\prime\prime$}% + \kern -0.1ex% + }% +}% + + +\newcommand\ion[2]{#1$\;${% +\ifx\@currsize\normalsize\small \else +\ifx\@currsize\small\footnotesize \else +\ifx\@currsize\footnotesize\scriptsize \else +\ifx\@currsize\scriptsize\tiny \else +\ifx\@currsize\large\normalsize \else +\ifx\@currsize\Large\large +\fi\fi\fi\fi\fi\fi +\rmfamily\@Roman{#2}}\relax}% + +\renewcommand\case[2]{\mbox{$\frac{#1}{#2}$}}% +\renewcommand\slantfrac{\case}% +\newcommand\onehalf{\slantfrac{1}{2}}% +\newcommand\onethird{\slantfrac{1}{3}}% +\newcommand\twothirds{\slantfrac{2}{3}}% +\newcommand\onequarter{\slantfrac{1}{4}}% +\newcommand\threequarters{\slantfrac{3}{4}}% +\newcommand\ubvr{\mbox{$U\!BV\!R$}}%% UBVR system +\newcommand\ub{\mbox{$U\!-\!B$}}% % U-B +\newcommand\bv{\mbox{$B\!-\!V$}}% % B-V +\renewcommand\vr{\mbox{$V\!-\!R$}}% % V-R ++ +\newcommand\ur{\mbox{$U\!-\!R$}}% % U-R + +%% need this change so that it works correctly in tables: +{\catcode`\$=\active +\gdef\nodata{ ~$\cdots$~ }}% + +\newcommand\diameter{\ooalign{\hfil/\hfil\crcr\mathhexbox20D}}% +\newcommand\degr{\arcdeg}% +\newcommand\Sun{\sun}% +\newcommand\Sol{\sun}% +\newcommand\sun{\odot}% +\newcommand\Mercury{\astro{\char1}}% Mercury symbol, "1" +\newcommand\Venus{\astro{\char2}}% Venus symbol, "2" +\newcommand\Earth{\earth}% +\newcommand\Terra{\earth}% +\newcommand\earth{\oplus}% +\newcommand\Mars{\astro{\char4}}% Mars symbol, "4" +\newcommand\Jupiter{\astro{\char5}}% Jupiter symbol, "5" +\newcommand\Saturn{\astro{\char6}}% Saturn symbol, "6" +\newcommand\Uranus{\astro{\char7}}% Uranus symbol, "7" +\newcommand\Neptune{\astro{\char8}}% Neptune symbol, "8" +\newcommand\Pluto{\astro{\char9}}% Pluo symbol, "9" +\newcommand\Moon{\astro{\char10}}% Moon symbol, "M" +\newcommand\Luna{\Moon}% +\newcommand\Aries{\astro{\char11}}% +\newcommand\VEq{\Aries}% vernal equinox (Aries) +\newcommand\Taurus{\astro{\char12}}% +\newcommand\Gemini{\astro{\char13}}% +\newcommand\Cancer{\astro{\char14}}% +\newcommand\Leo{\astro{\char15}}% +\newcommand\Virgo{\astro{\char16}}% +\newcommand\Libra{\astro{\char17}}% +\newcommand\AEq{\Libra}% autumnal equinox (Libra) +\newcommand\Scorpius{\astro{\char18}}% +\newcommand\Sagittarius{\astro{\char19}}% +\newcommand\Capricornus{\astro{\char20}}% +\newcommand\Aquarius{\astro{\char21}}% +\newcommand\Pisces{\astro{\char22}}% + + +\newcommand\sbond{\chem@bnd{\@sbnd}}% +\newcommand\dbond{\chem@bnd{\@dbnd}}% +\newcommand\tbond{\chem@bnd{\@tbnd}}% +\def\chem@bnd#1{% + {% + \kern.1em\relax + \setbox\z@\hbox{M}% + \dimen@ii.8em\relax + \p@=.1em\relax + \dimen@.5\ht\z@\dimen@i-\dimen@ + \advance\dimen@1.5\p@\advance\dimen@i-1.0\p@ + #1% + \kern.1em\relax + }% + }% +\def\@sbnd{% + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@dbnd{% + \advance\dimen@-0.5\p@\advance\dimen@i0.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@tbnd{% + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% + +\newcommand\anchor[2]{#2}% +\renewcommand\url{\@dblarg\@url}% +\def\@url[#1]{\anchor{#1}}% + +\let\jnl@style=\rmfamily +\def\ref@jnl#1{{\jnl@style#1}}% +\newcommand\aj{\ref@jnl{AJ}}% % Astronomical Journal +\newcommand\araa{\ref@jnl{ARA\&A}}% % Annual Review of Astron and Astrophys +\renewcommand\apj{\ref@jnl{ApJ}}% % Astrophysical Journal ++ +\newcommand\apjl{\ref@jnl{ApJL}} % Astrophysical Journal, Letters +\newcommand\apjs{\ref@jnl{ApJS}}% % Astrophysical Journal, Supplement +\renewcommand\ao{\ref@jnl{ApOpt}}% % Applied Optics ++ +\newcommand\apss{\ref@jnl{Ap\&SS}}% % Astrophysics and Space Science +\newcommand\aap{\ref@jnl{A\&A}}% % Astronomy and Astrophysics +\newcommand\aapr{\ref@jnl{A\&A~Rv}}% % Astronomy and Astrophysics Reviews +\newcommand\aaps{\ref@jnl{A\&AS}}% % Astronomy and Astrophysics, Supplement +\newcommand\azh{\ref@jnl{AZh}}% % Astronomicheskii Zhurnal +\newcommand\baas{\ref@jnl{BAAS}}% % Bulletin of the AAS +\newcommand\icarus{\ref@jnl{Icarus}}% % Icarus +\newcommand\jrasc{\ref@jnl{JRASC}}% % Journal of the RAS of Canada +\newcommand\memras{\ref@jnl{MmRAS}}% % Memoirs of the RAS +\newcommand\mnras{\ref@jnl{MNRAS}}% % Monthly Notices of the RAS +\renewcommand\pra{\ref@jnl{PhRvA}}% % Physical Review A: General Physics ++ +\renewcommand\prb{\ref@jnl{PhRvB}}% % Physical Review B: Solid State ++ +\renewcommand\prc{\ref@jnl{PhRvC}}% % Physical Review C ++ +\renewcommand\prd{\ref@jnl{PhRvD}}% % Physical Review D ++ +\renewcommand\pre{\ref@jnl{PhRvE}}% % Physical Review E ++ +\renewcommand\prl{\ref@jnl{PhRvL}}% % Physical Review Letters +\newcommand\pasp{\ref@jnl{PASP}}% % Publications of the ASP +\newcommand\pasj{\ref@jnl{PASJ}}% % Publications of the ASJ +\newcommand\qjras{\ref@jnl{QJRAS}}% % Quarterly Journal of the RAS +\newcommand\skytel{\ref@jnl{S\&T}}% % Sky and Telescope +\newcommand\solphys{\ref@jnl{SoPh}}% % Solar Physics +\newcommand\sovast{\ref@jnl{Soviet~Ast.}}% % Soviet Astronomy +\newcommand\ssr{\ref@jnl{SSRv}}% % Space Science Reviews +\newcommand\zap{\ref@jnl{ZA}}% % Zeitschrift fuer Astrophysik +\renewcommand\nat{\ref@jnl{Nature}}% % Nature +\newcommand\iaucirc{\ref@jnl{IAUC}}% % IAU Cirulars +\newcommand\aplett{\ref@jnl{Astrophys.~Lett.}}% % Astrophysics Letters +\newcommand\apspr{\ref@jnl{Astrophys.~Space~Phys.~Res.}}% % Astrophysics Space Physics Research +\newcommand\bain{\ref@jnl{BAN}}% % Bulletin Astronomical Institute of the Netherlands +\newcommand\fcp{\ref@jnl{FCPh}}% % Fundamental Cosmic Physics +\newcommand\gca{\ref@jnl{GeoCoA}}% % Geochimica Cosmochimica Acta +\newcommand\grl{\ref@jnl{Geophys.~Res.~Lett.}}% % Geophysics Research Letters +\renewcommand\jcp{\ref@jnl{JChPh}}% % Journal of Chemical Physics +\newcommand\jgr{\ref@jnl{J.~Geophys.~Res.}}% % Journal of Geophysics Research +\newcommand\jqsrt{\ref@jnl{JQSRT}}% % Journal of Quantitiative Spectroscopy and Radiative Trasfer +\newcommand\memsai{\ref@jnl{MmSAI}}% % Mem. Societa Astronomica Italiana +\newcommand\nphysa{\ref@jnl{NuPhA}}% % Nuclear Physics A +\newcommand\physrep{\ref@jnl{PhR}}% % Physics Reports +\newcommand\physscr{\ref@jnl{PhyS}}% % Physica Scripta +\newcommand\planss{\ref@jnl{Planet.~Space~Sci.}}% % Planetary Space Science +\newcommand\procspie{\ref@jnl{Proc.~SPIE}}% % Proceedings of the SPIE + +\newcommand\actaa{\ref@jnl{AcA}}% % Acta Astronomica +\newcommand\caa{\ref@jnl{ChA\&A}}% % Chinese Astronomy and Astrophysics +\newcommand\cjaa{\ref@jnl{ChJA\&A}}% % Chinese Journal of Astronomy and Astrophysics +\newcommand\jcap{\ref@jnl{JCAP}}% % Journal of Cosmology and Astroparticle Physics +\newcommand\na{\ref@jnl{NewA}}% % New Astronomy +\newcommand\nar{\ref@jnl{NewAR}}% % New Astronomy Review +\newcommand\pasa{\ref@jnl{PASA}}% % Publications of the Astron. Soc. of Australia +\newcommand\rmxaa{\ref@jnl{RMxAA}}% % Revista Mexicana de Astronomia y Astrofisica + +%% added feb 9, 2016 +\newcommand\maps{\ref@jnl{M\&PS}}% Meteoritics and Planetary Science +\newcommand\aas{\ref@jnl{AAS Meeting Abstracts}}% American Astronomical Society Meeting Abstracts +\newcommand\dps{\ref@jnl{AAS/DPS Meeting Abstracts}}% American Astronomical Society/Division for Planetary Sciences Meeting Abstracts + + + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\let\applopt=\ao + +\newcommand\ulap[1]{\vbox\@to\z@{{\vss#1}}}% +\newcommand\dlap[1]{\vbox\@to\z@{{#1\vss}}}% + + +\newcounter{table@save} + +\def\tablenum#1{% + \setcounter{table@save}{\the\c@table} + \gdef\use@tablenum{1} + \setcounter{table}{#1}\def\thetable{#1}\def\@currentlabel{#1} + %\def\label##1{\save@label{##1}} +}% +\gdef\use@tablenum{0} +\def\restore@tablenum{\if\use@tablenum0\else\setcounter{table}{\the\c@table@save}\addtocounter{table}{\m@ne}\gdef\use@tablenum{0}\fi} + +\def\tabletypesize#1{\gdef\currtabletypesize{#1} +\def\@table@type@size{#1}}% + +\tabletypesize{\small} +\let\tablefontsize=\tabletypesize % for compatibility with old documents + +\gdef\@tablecaption{} +\def\tablecaption#1{\gdef\@tablecaption{#1}} + +\def\LT@endpbox{% + \@finalstrut\@arstrutbox + \egroup + \the\LT@p@ftn + \global\LT@p@ftn{}% + \hfil} + +%% Used for longtable +\def\LT@makecaption#1#2#3{% + \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth +{% +\def \@currentlabel{\thetable} + \sbox\@tempboxa{\small #2. #3}% + \ifdim\wd\@tempboxa>\hsize + \small #2. #3% + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \endgraf\vskip\baselineskip}% + \hss}}} + +\let\LT@makecaption@rtx=\LT@makecaption % to fight redefinition in Revtex-4.1 + +\def\xfigure{figure} +%% from book.cls/ used?? +\long\def\@makecaption#1#2{% + \vskip\abovecaptionskip +\ifx\@captype\xfigure +\gdef \@currentlabel{\thefigure} +\else +\gdef \@currentlabel{\thetable}\fi +%% \small added to keep currtabletypesize from determining size of caption + \sbox\@tempboxa{\small +{\bf #1.} #2}% + \ifdim \wd\@tempboxa >\hsize +\small +{\bf #1.} #2\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfill\box\@tempboxa\hfill}% + \fi + \vskip\belowcaptionskip} + +\newdimen\@abovenoteskip +\newcommand\tablerefs[1]{\ifdim\@abovenoteskip=0pt\global\@abovenoteskip=10pt\fi +{\small\@tableref{\parfillskip\z@ plus1fil\relax #1\endgraf}}}% + +\def\@tableref#1{% + \par + \vspace*{3ex}% + {%\parbox{\pt@width} %%%% + {\hskip1em\rm References. --- #1}\par}% +}% + + +\global\def\tablenotemark#1{{\normalfont\textsuperscript{#1}}} +\global\def\tablenotetext#1#2{\footnotetext[#1]{\currtabletypesize\relax#2}} + +%% redefined by AH below, since it wasn't working with tabular table +\global\def\tablenotetext#1#2{\vskip-8pt\vskip1sp\flushleft{\currtabletypesize +\noindent\hskip1em $^{#1}$ #2}\vskip1sp} + + +\newif\if@table@not@headed + +%% this version of \tablehead doesn't seem to be used, so set to \xyztablehead{} +\def\xyztablehead#1{\@table@not@headedfalse% + \kill + \caption{\\% + \@tablecaption}% + \\\hline\hline% + #1\vrule height 12pt depth 10pt width 0pt\relax +\hskip\tabcolsep\\[.7ex] + \hline\\[-1.5ex] + \endfirsthead + \caption[]{--- \emph{Continued}}\\ + \hline + \hline\\[-1.7ex] + #1\hskip\tabcolsep\\[.7ex] + \hline\\[-1.5ex] + \endhead + \hline + \endfoot% +} + +\newlength{\table@note@skip} +\setlength{\table@note@skip}{0.5ex} +\newlength{\deluxe@table@width} +\newlength{\@d@t@a} +\newcounter{deluxe@table@num} +\newdimen\LTcapwidth + +%% \ignorespaces necessary ++== depth 6pt was depth 3pt +\def\colhead#1{\multicolumn{1}{c}{\vrule depth 6pt width +0pt\relax#1}\ignorespaces} +\def\twocolhead#1{\multicolumn{2}{c}{\hss\vrule depth 6pt width +0pt\relax#1\hss}\ignorespaces} +\def\nocolhead#1{\multicolumn{1}{h}{}\ignorespaces} +\def\dcolhead#1{\multicolumn{1}{c}{$\vrule depth 6pt +width0pt\relax#1$}\ignorespaces} + +%\newcounter{LT@tables} +\def\tablewidth#1{% + \ifdim#1=\z@ + \else + \gdef\@d@t@@flag{1} + \if@filesw\immediate\write\@auxout{% + \gdef\expandafter\noexpand + \csname deluxe@table@width@\romannumeral\c@LT@tables\endcsname + {#1}} + \fi + \fi +} + + +\def\save@natural@width{% + \ifnum\@d@t@@flag=0 + \setlength{\@d@t@a}{0pt}% + \let\@d@t@b=\LT@entry% + \def\LT@entry##1##2{\addtolength{\@d@t@a}{##2}% + }% + \expandafter\csname LT@\romannumeral\c@deluxe@table@num\endcsname + \setlength{\@d@t@a}{-\@d@t@a} + \tablewidth{\the\@d@t@a} + \def\LT@entry{\@d@t@b} + \fi +} + +\def\lt@expand@linewidth@one{\setlength\LTleft{0pt}\setlength\LTright{0pt}} +\def\lt@expand@linewidth@two{@{\extracolsep{0pt plus 1filll}}} +\def\find@table@width{% +%%% set table width using aux file and command \tablewidth + \setcounter{deluxe@table@num}{\c@LT@tables} + \refstepcounter{deluxe@table@num} + \expandafter\ifx\csname deluxe@table@width@\romannumeral\c@deluxe@table@num\endcsname\relax + \def\@d@t@{0.999\linewidth} + \else + \edef\@d@t@{\expandafter\csname deluxe@table@width@\romannumeral\c@deluxe@table@num\endcsname} + \fi + \ifdim\@d@t@<\z@% then natural width is used + \setlength{\deluxe@table@width}{-\@d@t@} + \setlength{\LTcapwidth}{-\@d@t@} + \def\lt@expand@linewidth{\relax} + \def\lt@expand@linewidth@{} + \else% we will enclose table in the minipage of the given width and make + % longtable to span the full minipage width + \ifdim\@d@t@>\z@\else\def\@d@t@{0.999\linewidth}\fi + \setlength{\deluxe@table@width}{\@d@t@} + \setlength{\LTcapwidth}{\@d@t@} + \def\lt@expand@linewidth{\lt@expand@linewidth@one} + \def\lt@expand@linewidth@{\lt@expand@linewidth@two} + \fi +} + +\newlength{\abovedeluxetableskip} +\newlength{\belowdeluxetableskip} +\setlength{\abovedeluxetableskip}{0pt} +\setlength{\belowdeluxetableskip}{0pt} +\setlength{\tabcolsep}{5pt} + +\setlength\doublerulesep{1.5pt} +\newdimen\lastrowheight +\def\set@last@row@height{\setlength{\lastrowheight}{\ht\strutbox}\addtolength{\lastrowheight}{\dp\strutbox}\setlength{\lastrowheight}{-\arraystretch\lastrowheight}} + +\let\tableline=\colrule % Revtex said: Command \tableline is obsolete; Use \colrule instead.. + +%% +\newtoks\DT@p@ftn +\global\def\xtablenotetext@DT#1#2{ + \edef\@tempa{\the\DT@p@ftn\noexpand\tablenotemark{#1}~} + \global\DT@p@ftn\expandafter{\@tempa{\@table@type@size#2}\par}}% + +%%% AH %%%%%%%%%%%%%%%%%%%%% +\let\savedollar$ +\catcode`\$=\active +\let$\savedollar + +%% + +\def\resetdecimals{\global\let\zdoit\relax\global\let\ddoit\relax} + +\def\tableheadfrac#1{} +\newcount\pt@column +\newcount\pt@ncol + +\newcommand\tablecolumns[1]{% + \pt@column=#1\relax + \pt@ncol=#1\relax + \global\let\pt@addcol\@empty +}% + +%% from older version, probably can delete: +\def\@tablecom#1{% + \vspace*{\table@note@skip} +\par +{\parbox{\linewidth}{\hskip1em\rmfamily {\@eapj@cap@font Note}. --- #1}\par}% +}% +\def\@tableref#1{% + \vspace*{\table@note@skip} +\par +{\parbox{\linewidth}{\hskip1em\rmfamily {\@eapj@cap@font References}. --- #1}\par}% +}% +\def\spew@tblnotes{% + \@ifx@empty\tblref@list{}{% + \@tablenotes{\tblref@list}% + \vspace*{\table@note@skip}% + \global\let\tblref@list\@empty + }% + \@ifx@empty\tblnote@list{}{% + \@tablenotes{\tblnote@list}% + \vspace*{\table@note@skip}% + \global\let\tblnote@list\@empty + } + \the\DT@p@ftn% +}% + +%% for notes on emulateapj please see http://hea-www.harvard.edu/~alexey/emulateapj +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% End of code taken from emulateapj.cls %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%%% New as of august 2015: + +%% These commands requested AAS +\newcommand{\noprint}[1]{} +\newcommand{\figsetstart}{{\bf Fig. Set} } +\newcommand{\figsetend}{} +\newcommand{\figsetgrpstart}{} +\newcommand{\figsetgrpend}{} +\newcommand{\figsetnum}[1]{{\bf #1.}} +\newcommand{\figsettitle}[1]{ {\bf #1}} +\newcommand{\figsetgrpnum}[1]{\noprint{#1}} +\newcommand{\figsetgrptitle}[1]{\noprint{#1}} +\newcommand{\figsetplot}[1]{\noprint{#1}} +\newcommand{\figsetgrpnote}[1]{\noprint{#1}} + +%% for url's in document, will allow them to break over lines. +\usepackage{url} + +%% for tables continuing over pages +\usepackage{longtable} + +%% for editing changes +\usepackage[dvipsnames,svgnames]{xcolor} +% hyperref link defaults to "blue" (0000ff) as this matches our publisher produced pdf style +% \definecolor{xlinkcolor}{cmyk}{1,1,0,0} +% LSST DESC presents notes on GitHub, which uses the following color for links: +\definecolor{xlinkcolor}{rgb}{0.251,0.471,0.753} + +%% In response to request from AAS + \usepackage[bookmarks=false, % show bookmarks bar? + pdfnewwindow=true, % links in new window + colorlinks=true, % false: boxed links; true: colored links + linkcolor=xlinkcolor, % color of internal links + citecolor=xlinkcolor, % color of links to bibliography + filecolor=xlinkcolor, % color of file links + urlcolor=xlinkcolor, % color of external links +final=true + ]{hyperref} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Additions to AASTeX by Amy Hendrickson, TeXnology Inc, August 17, 2015 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Table Tools, written by Amy Hendrickson +%% for American Astronomical Society +%% August 17, 2015 +%% array package is necessary: +\usepackage{array} + +%%%%%%%% +%% 1) h in table preamble will makes text in that column ignored. + +%%%%%%%% +%% 2) uppercase C L or R will make those columns in math mode. + +%%%%%%%% +%% 3) \begin{splittabular}{}...\end{splittabular} +%% `B' in the preamble will show where the table should be broken. It may +%% be used once in a preamble to break the table into two parts, or +%% two times in a preamble to break the table into three parts. + +%% The resulting table will position left half of table above right half of table. + +%% Care should be taken with \multicolumn so that it won't be broken between +%% the two parts of the table. You may need to shorten the \multicolumn argument +%% for number of columns to be appropriate to the number of columns in +%% the new split table. + +%% In this example, for instance, we start with: +%% \begin{tabular}{ccccccc} +%% \multicolumn{7}{c}{\textsc{Table 1}} +%% and change it to: +%% \begin{splittabular}{ccccBccc} +%% \multicolumn{4}{c}{\textsc{Table 1}}\\ +%% +%% If you'd like to have a table number in the second half of the table, +%% you can ask for a second multicolumn command that will position at the +%% top of the second half of the table: +%% +%% \begin{splittabular}{ccccBccc} +%% \multicolumn{4}{c}{\textsc{Table 1}}&\multicolumn{3}{c}{\textsc{Table 1, Continued}}\\ +%% +%% You can do the same for the caption, and give a Continued caption for +%% the second half of the table. Originally: +%% \multicolumn{7}{c}{\textsc{Log of \textit{HST} Observations for +%% NGC~6388}} +%% Now, changed so that we get a caption on both halves of the table: +%% \multicolumn{4}{c}{\textsc{Log of \textit{HST} Observations for +%% NGC~6388}}&\multicolumn{3}{c}{\textsc{Log of \textit{HST} Observations for +%% NGC~6388, Continued}}\\ +%% +%% Similarly, you can rearrange table notes to appear at the bottom of +%% the appropriate half of the table. For instance, starting with this, +%% which would make table notes both appear at the bottom of the top half +%% of the table: +%% \multicolumn{4}{l}{\small{$\dagger$ Average distance of data set from +%% cluster center.}}\\ +%% \multicolumn{4}{l}{$^{\rm a}$SNAP program.}\\ +%% +%% We may substitute the following: +%% \multicolumn{4}{l}{$^{\rm a}$SNAP program.}&\multicolumn{3}{l}{\small{$\dagger$ Average distance of data set from +%% cluster center.}}\\ +%% +%% Which will produce the first endnote underneath the top half of the +%% table, and the second underneath the bottom half. +%% +%% Another option would be to have both endnotes appear below the bottom +%% half of the table. Easily done: +%% &&&&\multicolumn{3}{l}{$^{\rm a}$SNAP program.}\\ +%% &&&&\multicolumn{3}{l}{\small{$\dagger$ Average distance of data set from +%% cluster center.}}\\ +%% %% %% %% %% %% %% + +%%%%%%%% +%% 4) \colnumbers will make line with column numbers automatic. It will work with splittabular +%% and splitdeluxetable as well as tabular. +%% To use: type in \colnumbers within the table whereever you'd like it to appear, typically +%% underneath the column headers, before the lines of data. + +%%%%%%%% +%% 5) Easy Decimal numbering +%% How to make decimal numbers in tables line up on the period: + +%% Use D (for decimal column) in table preamble for every decimal number. The decimal +%% numbers will use two columns, one for the left part of the decimal +%% number and one for the right part. + +%% D may be used more than once in a table preamble. + +%% If you want to type in a column header over the decimal +%% numbers, please use \multicolumn2c{} to span both columns. + +%% After the column headers, to start decimal numbering, +%% type in \decimals in the body of the table. + +%% When entering decimal numbers +%% remember to leave a space after the decimal number, before the following &. +%% For instance: &22.3 &35.96 \\ + +%% If you'd like an empty entry, please supply a period and a space: & . &. You +%% will not see the period in the resulting table. + +%% example: +% \begin{tabular}{rDD} +% \hline +% &&&\multicolumn2c{\bf More}\\ +% &\multicolumn2c{\bf Decimals}&\multicolumn2c{\bf Decimals}\\ +% \hline +% \hline +% \decimals +% one& . &34.2 \\ +% two &567.0 &21345 \\ +% three&.0 &62.5 \\ +% four&245 &5034.349923 \\ +% five&21 & \\ +% six& &21.6 +% \end{tabular} +%% +% Decimal numbering works within \begin{splittabular}...\end{splittabular} +% \begin{splitdeluxetable} and \end{splitdeluxetable} for tables broken into two +% or three parts. \colnumbers will number the columns counting both sides +% of the decimal number as one column; \tablehead{\colhead{}...} will make +% the column headers position above the two columns used for one decimal +% number as well. +% +% Decimal numbers will be in math mode so that plus and minus signs are printed +% correctly, expressions like `$\pm$ 1.2' or `\pm 1.2', will both work +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\let\savedollar$ +\catcode`\$=\active + +\let\savetabular\tabular +\def\tabular{\catcode`\&=\active\relax\catcode`\$=\active\relax\savetabular} +\long\gdef\eatone{\setbox0=\hbox\bgroup\savedollar\let$\relax} +\gdef\endeatone{\savedollar\egroup\hskip-2\tabcolsep} + + +%% Hide, important because it allows us to split tables horizontally +\newcolumntype{h}{>\eatone c<\endeatone} + +\newcolumntype{C}{>{\bgroup\savedollar\let$\relax}c<{\savedollar\egroup}} +\newcolumntype{L}{>{\bgroup\savedollar\let$\relax}l<{\savedollar\egroup}} +\newcolumntype{R}{>{\bgroup\savedollar\let$\relax}r<{\savedollar\egroup}} + +\newcolumntype{B}{>\eatone c<\endeatone} %% used for \splittabular to indicate break in + %% two or three parts of table + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Split tables into 2 or 3 parts; stack the parts +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Process table preamble + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Count number of columns in preamble + +\newcount\colcount +\newcount\firstcolcount +\newcount\secondcolcount +\newcount\thirdcolcount +\newcount\columncount + +%% \makeatother is necessary to keep @ from being treated as a letter +%% when counting the number of columns in table. +\makeatother +\def\xD{D} +\def\xaster{*} +\newcount\howmanyDs +\newcount\firsthowmanyDs +\newcount\secondhowmanyDs + +\newif\ifD + +\def\countcols#1{\ifcat#1c +\global\advance\colcount by 1\relax\fi +%% +\def\lookforD{#1} +\ifx\lookforD\xD +\global\advance\howmanyDs by 1 +\global\advance\colcount by1\relax +\fi +%% +\futurelet\next\lookatnext +} +\makeatletter + +\def\xeatone#1{\countcols} +\def\xrelax{\relax} + +%% second conditional deals with expressions like @{} in +%% the preamble. +\def\lookatnext{\if\next\xrelax\let\go\relax +\else +\ifx\next\bgroup\let\go\xeatone\else +\let\go\countcols\fi\fi\go} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% reset line counting at \\ + +%% arraycr redefined to match revtex4-1 +\def\new@arraycr{\relax +\global\columncount=0\relax +\global\colheadcount=0\relax +\iffalse {\fi \ifnum 0=`}\fi \@ifstar {\global \@tbpen \@M \@xarraycr} +{\global \@tbpen \intertabularlinepenalty \@xarraycr}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Redefining & is necessary to get around \omit in \multicolumn, +%% which prevents @{} from being used to change the meaning of multicolumn. +%% Now column number and top or bottom table is used to determine whether +%% multicolumn should be turned on or off. +\let\saveampersand& + +\newif\iffirstbox +\newif\ifsecondbox +\newif\ifthirdbox + +\long\gdef\CheckNumberAndSwitch{\unskip\global\advance\columncount by 1\relax% +\saveampersand} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Parse and count preamble + +\def\catchfirstpreamble#1B#2Z{%firstpreamble +\def\leftpreamble{#1\relax} +\colcount=0 +\global\howmanyDs=0\relax +\expandafter\countcols\leftpreamble +\global\firstcolcount\the\colcount +\global\firsthowmanyDs\the\howmanyDs +\ifnum\firstcolcount>25 +\typeout{^^J +----------------------------------------------------- +^^J +Warning! +^^J^^J +Too many columns in first part of table! +^^J^^J +Maximum number of columns in each part of the table is 25. Each `D' counts as two columns. +^^J +----------------------------------------------------- +}\fi +\global\howmanyDs=0\relax +\global\colcount=0\relax +\newcolumntype{A}{#1}} + +\def\catchsecondpreamble#1B#2Z{%secondpreamble +\def\rightpreamble{#2\relax} +\colcount=0 +\expandafter\countcols\rightpreamble +\global\secondcolcount\colcount +\global\secondhowmanyDs\the\howmanyDs +\ifnum\secondcolcount>25 +\typeout{^^J----------------------------------------------------- +^^J +Warning! +^^J^^J +Too many columns in second part of table! +^^J^^J +Maximum number of columns in each part of the table is 25. Each `D' counts as two columns. +^^J +----------------------------------------------------- +}\fi +\global\totalcolumns=\firstcolcount +\global\advance\totalcolumns by \secondcolcount +\global\colcount=0\relax +\newcolumntype{Z}{#2}} + + +\def\catchsecondofthreepreamble#1B#2B#3Z{%secondpreamble +\def\rightpreamble{#2\relax} +\colcount=0 +\howmanyDs=0 +\expandafter\countcols\rightpreamble +\global\secondcolcount\colcount +\global\secondhowmanyDs\the\howmanyDs +\global\totalcolumns=\firstcolcount +\global\advance\totalcolumns by \secondcolcount +\global\colcount=0\relax +\newcolumntype{Z}{#2}} + + +\def\catchthirdpreamble#1B#2B#3Z{%firstpreamble +\def\thirdpreamble{#3} +\colcount=0 +\expandafter\countcols\thirdpreamble +\global\thirdcolcount\the\colcount +\global\advance\totalcolumns by \thirdcolcount +\global\colcount=0\relax +\newcolumntype{z}{#3}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Define splittabular/endsplittabular + +\newcount\PartsOfTable +\newif\ifbreaktab + +\def\checkforB #1B#2B#3B{ +%% defaults, may be used in \colnumbers +\gdef\tabfullpreamble{#1#2#3\relax} +\gdef\firstpreamble{#1} +\gdef\secondpreamble{#2} +\gdef\thirdpreamble{#3} +\ifx\thirdpreamble\empty +\global\PartsOfTable=2 +\else +\global\PartsOfTable=3 +\fi +} + +\def\lookforD#1{\def\zone{#1}\ifx\zone\xD +\global\Dtrue\else\Dfalse\fi} + +\newcount\columnoneandtwo +\newif\ifdonullmulticol + +\newcount\colnumsused +\newcount\loopnum + +\catcode`\&=\active +\let&\CheckNumberAndSwitch +\let$\savedollar + +%sss +\def\splittabular{\catcode`\&=\active +\catcode`\$=\active +\global\colnumbersonfalse +\let\colnumbers\savesplitplaincolnumbers +\let\splitdecimalcolnumbers\savesplitdecimalcolnumbers +\def\decimalcolnumbers{\splitdecimalcolnumbers} +\xsplittabular} + +\def\xsplittabular#1#2\end{{ +\global\firsttimetrue +\let&\CheckNumberAndSwitch +\let$\savedollar +%%% +\def\endtabular{\endarray +\global\let\zdoit\relax +\global\let\ddoit\relax +\global\Dfalse} +\setbox0=\hbox{\def\firstarg{#1}\expandafter\lookforD\firstarg} +\PartsOfTable=0 +\def\tempfullpreamble{#1BB} +\setbox0=\hbox{\expandafter\checkforB\tempfullpreamble} +%% Now PartsOfTable is either =2 or 3 +%% +\global\colnumsused=0 +\global\breaktabtrue +\global\colcount=0 +%% +\ifnum\PartsOfTable=3 +\let\multicolumn\threebreakmulticolumn +\else +\let\multicolumn\breakmulticolumn +\fi +%% +\def\one{#1Z}%% full preamble +\ifnum\PartsOfTable=3 +\expandafter\catchfirstpreamble\one +\expandafter\catchsecondofthreepreamble\one +\expandafter\catchthirdpreamble\one +\makefirstdummycolumns %f +\makeseconddummycolumns %F +\makethirddummycolumns %E +\else %% PartsOfTable=2 +\expandafter\catchfirstpreamble\one +\expandafter\catchsecondpreamble\one +\makefirstdummycolumns %f +\makeseconddummycolumns %F +\fi +%%% +\global\columncount=0 +\ifnum\PartsOfTable=3 +%% For table divided into three parts !! +\firstboxtrue\secondboxfalse\thirdboxfalse +% +\setbox\firsttablebox=\hbox{% +\begin{tabular}{AFE}% +#2\crcr +\end{tabular}} +% +\hbox to \hsize{\hss\unhbox\firsttablebox\hss} +\vskip6pt +\hrule +\vskip6pt +\global\columncount=0 +\firstboxfalse\secondboxtrue\thirdboxfalse +\ifcolnumberson +\let\colnumbers\xplain +\setbox\secondtablebox=\hbox{% +\begin{tabular}{fZE}% fZE +#2\crcr\end{tabular}} +\else +\setbox\secondtablebox=\hbox{ +\begin{tabular}{fZE}% fZE +#2 +\end{tabular}} +\fi +\hbox to \hsize{\hss\unhbox\secondtablebox\hss} +%% +\vskip6pt +\hrule +\vskip6pt +\firstboxfalse\secondboxfalse\thirdboxtrue +\global\columncount=0 +\ifcolnumberson +\let\colnumbers\xplain +\setbox\thirdtablebox=\hbox{% +\begin{tabular}{fFz}% fFz +#2\crcr\end{tabular}} +\else +\setbox\thirdtablebox=\hbox{ +\begin{tabular}{fFz}% fFz +#2 +\end{tabular}} +\fi +\hbox to \hsize{\hss\unhbox\thirdtablebox\hss} +\else +%% +%% For table divided into two parts: +%% +\global\columncount=0 +\secondboxfalse + \setbox\firsttablebox=\hbox{% +\begin{tabular}{AF}% should be AF +#2 +\end{tabular} +} + \hbox to \hsize{\hss\unhbox\firsttablebox\hss} +\vskip6pt +\hrule +\vskip6pt +\global\columncount=0 +\secondboxtrue +\ifcolnumberson +\setbox\secondtablebox=\hbox{\let\colnumbers\xplain +\begin{tabular}{fZ}% should be fZ +#2 +\end{tabular} +} +\else +\setbox\secondtablebox=\hbox{ +\begin{tabular}{fZ}% should be fZ +#2 +\end{tabular} +} +\fi +\hbox to \hsize{\hss\unhbox\secondtablebox\hss} +%% +%% end of conditional testing for 2 or 3 part table: +\fi +%\global\breaktabfalse +} +\firsthowmanyDs=0 +\secondhowmanyDs=0 +\resetdecimals +\end +} + +%yyy +\def\endsplittabular{\global\firsttimefalse\global\colnumbersonfalse +\global\let\splitplaincolnumbers\savesplitplaincolnumbers +\global\breaktabfalse} + +\long\gdef\breakmulticolumn#1#2#3{% +\multispan{#1}% +\let&\CheckNumberAndSwitch +\ifsecondbox% +\ifnum\columncount<\firstcolcount% +\global\donullmulticoltrue% +\else% +\global\donullmulticolfalse% +\fi% +%%% + \else% first box +\ifnum\columncount<\firstcolcount% +\global\donullmulticolfalse% +\else% +\global\donullmulticoltrue% +\fi% +\fi% +\ifdonullmulticol% +\global\advance\colheadcount by 1\relax +\begingroup + \def\@addamp{\if@firstamp \@firstampfalse \else + \@preamerr 5\fi}% + \@mkpream{h}\@addtopreamble\@empty + \endgroup + \def\@sharp{}% +%% comment out \@arstrut to prevent blank line where multicolumn was found +%% on other parts of the table, but not on the current part. + \@arstrut +\@preamble + \null\ignorespaces +\else% +\begingroup + \def\@addamp{\if@firstamp \@firstampfalse \else + \@preamerr 5\fi}% + \@mkpream{#2}\@addtopreamble\@empty + \endgroup + \def\@sharp{#3}% + \@arstrut \@preamble + \null\ignorespaces +\fi% +\global\donullmulticolfalse% +\global\advance\columncount by #1\relax% +\global\advance\columncount-1\relax% +} + + +\long\gdef\threebreakmulticolumn#1#2#3{% +\multispan{#1}% +\columnoneandtwo=\firstcolcount\relax% +\advance\columnoneandtwo by \secondcolcount\relax% +%% +\global\donullmulticoltrue\relax% +\iffirstbox\relax% +\ifnum\columncount<\firstcolcount% +\global\donullmulticolfalse% +\fi\relax% +\ifnum\columncount=\firstcolcount\relax% +\donullmulticoltrue\fi\relax% +\else\relax% +%% +\ifsecondbox% +\ifnum\columncount=\firstcolcount\relax% +\global\donullmulticolfalse\fi\relax% +\ifnum\columncount>\firstcolcount% +\ifnum\columncount<\columnoneandtwo\relax% +\global\donullmulticolfalse\relax% +\fi\fi\relax% +\else\relax% +%%% +\ifthirdbox% +\ifnum\columncount<\columnoneandtwo% +\global\donullmulticoltrue% +\else\relax% +\global\donullmulticolfalse% +\fi\relax% +\fi%% end if third box +\fi%% end if second box +\fi%% end if first box +%% +\ifdonullmulticol% +\begingroup\relax% +\global\advance\colheadcount by 1\relax% + \def\@addamp{\if@firstamp \@firstampfalse \else% + \@preamerr 5\fi}% + \@mkpream{h}\@addtopreamble\@empty% + \endgroup% + \def\@sharp{}% +%% comment out \@arstrut to prevent blank line where multicolumn was found +%% on other parts of the table, but not on the current part. + \@arstrut \@preamble% + \null\ignorespaces +\else% +\begingroup% + \def\@addamp{\if@firstamp \@firstampfalse \else% + \@preamerr 5\fi}% + \@mkpream{#2}\@addtopreamble\@empty% + \endgroup% + \def\@sharp{#3}% + \@arstrut \@preamble% + \null\ignorespaces +\fi% +\global\donullmulticolfalse% +\global\advance\columncount by #1\relax% +\global\advance\columncount-1\relax% +} + +%% First dummy columns is the part of the table that will not print, +%% in this case the first part to the left. +%%\makefirstdummycolumns +%% +%% and second dummy columns +%% \makeseconddummycolumns. +\gdef\makefirstdummycolumns{ +\ifcase\firstcolcount +\or% 1 +\newcolumntype{f}{h} % no D possible +%%%%%%%%%%%%%%%%%% +\or% 2 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hh}%% 0 + \or + \newcolumntype{f}{d} %% 1 + \fi +%%%%%%%%%%%%%%%%%% +\or% 3 + \ifcase\firsthowmanyDs% + \newcolumntype{f}{hhh}% 0 + \or% + \newcolumntype{f}{dh}% 1 + \fi% +%%%%%%%%%%%%%%%%%% +\or% 4 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhh} % 0 + \or + \newcolumntype{f}{dhh} % 1 + \or + \newcolumntype{f}{dd} % 2 + \fi +%%%%%%%%%%%%%%%%%% +\or% 5 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh} % 0 + \or + \newcolumntype{f}{dhhh} % 1 + \or + \newcolumntype{f}{ddh} % 2 + \fi +%%%%%%%%%%%%%%%%%% +\or% 6 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhh} % 0 + \or + \newcolumntype{f}{dhhhh} % 1 + \or + \newcolumntype{f}{ddhh} % 2 + \or + \newcolumntype{f}{ddd} % 3 + \fi +%%%%%%%%%%%%%%% +\or % 7 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhh} % 1 + \or + \newcolumntype{f}{ddhhh} % 2 + \or + \newcolumntype{f}{dddh} % 3 + \fi +%%%%%%%%%%%%%%%%%% +\or % 8 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhh} % 2 + \or + \newcolumntype{f}{dddhh} % 3 + \or + \newcolumntype{f}{dddd} % 4 + \fi +%%%%%%%%%%%%%%%%%% +\or % 9 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhh} % 2 + \or + \newcolumntype{f}{dddhhh} % 3 + \or + \newcolumntype{f}{ddddh} % 4 + \fi +%%%%%%%%%%%%%%%%%% +\or %10 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhh} % 3 + \or + \newcolumntype{f}{ddddhh} % 4 + \or + \newcolumntype{f}{ddddd} % 5 + \fi +%%%%%%%%%%%%%%%%%% +\or % 11 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhh} % 4 + \or + \newcolumntype{f}{dddddh} % 5 + \fi +%%%%%%%%%%%%%%%%%% +\or % 12 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhh} % 4 + \or + \newcolumntype{f}{dddddhh} % 5 + \or + \newcolumntype{f}{dddddd} % 6 + \fi +%%%%%%%%%%%%%%%%%% +\or %13 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhh} % 5 + \or + \newcolumntype{f}{ddddddh} % 6 + \fi +%%%%%%%%%%%%%%%%%% +\or %14 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhh} % 5 + \or + \newcolumntype{f}{ddddddhh} % 6 + \or + \newcolumntype{f}{ddddddd} % 7 + \fi +%%%%%%%%%%%%%%%%%% +\or %15 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhh} % 6 + \or + \newcolumntype{f}{dddddddh} % 7 + \fi +%%%%%%%%%%%%%%%%%% +\or %16 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhh} % 6 + \or + \newcolumntype{f}{dddddddhh} % 7 + \or + \newcolumntype{f}{dddddddd} % 8 +\fi +%%%%%%%%%%%%%%%%%% +\or %17 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhh} % 7 + \or + \newcolumntype{f}{ddddddddh} % 8 +\fi +%%%%%%%%%%%%%%%%%% +\or %18 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhh} % 6 + \or + \newcolumntype{f}{ddddddhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhh} % 8 + \or + \newcolumntype{f}{ddddddddd} % 9 +\fi +%%%%%%%%%%%%%%%%%% +\or %19 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhh} % 8 + \or + \newcolumntype{f}{ddddddddddh} % 9 +\fi +%%%%%%%%%%%%%%%%%% +\or %20 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhh} % 8 + \or + \newcolumntype{f}{dddddddddhh} % 9 + \or + \newcolumntype{f}{dddddddddd} % 10 + \fi +%%%%%%%%%%%%%%%%%% +\or %21 + \ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh h} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhhh} % 8 + \or + \newcolumntype{f}{ddd ddd ddd hhh} % 9 + \or + \newcolumntype{f}{ddd ddd ddd d h} % 10 + \fi +%%%%%%%%%%%%%%%%%% +\or %22 +\ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh hh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhhhh} % 8 + \or + \newcolumntype{f}{ddd ddd ddd hhhh} % 9 + \or + \newcolumntype{f}{ddd ddd ddd dhh} % 10 + \or + \newcolumntype{f}{ddddddddddd} % 11 + \fi +%%%%%%%%%%%%%%%%%% +\or %23 +\ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh hhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhhhhh} % 8 + \or + \newcolumntype{f}{ddd ddd ddd hhhhh} % 9 + \or + \newcolumntype{f}{ddddddddddhhh} % 10 + \or + \newcolumntype{f}{ddddd ddddd dh} % 11 + \fi +%%%%%%%%%%%%%%%%%% +\or %24 +\ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh hhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhhhhhh} % 8 + \or + \newcolumntype{f}{ddd ddd ddd hhhhhh} % 9 + \or + \newcolumntype{f}{ddddddddddhhhh} % 10 + \or + \newcolumntype{f}{ddddd ddddd dhh} % 11 + \or + \newcolumntype{f}{ddddd ddddd dd} % 12 + \fi +%%%%%%%%%%%%%%%%%% +\or %25 +\ifcase\firsthowmanyDs + \newcolumntype{f}{hhhhh hhhhh hhhhh hhhhh hhhhh} % 0 + \or + \newcolumntype{f}{dhhhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{f}{ddhhhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{f}{dddhhhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{f}{ddddhhhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{f}{dddddhhhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{f}{ddddddhhhhhhhhhhhhh} % 6 + \or + \newcolumntype{f}{dddddddhhhhhhhhhhh} % 7 + \or + \newcolumntype{f}{ddddddddhhhhhhhhh} % 8 + \or + \newcolumntype{f}{ddd ddd ddd hhhhhhh} % 9 + \or + \newcolumntype{f}{ddddddddddhhhhh} % 10 + \or + \newcolumntype{f}{dddddddddddhhh} % 11 + \or + \newcolumntype{f}{ddddddddddddh} % 12 + \fi +%%%%%%%%%%%%%%%%%% +\else +\typeout{^^J----------------------------------------------------- ^^J +Warning!^^J^^J +Too many Columns using in Splittabular. +^^J +25 column maximum in +each part of the table.^^J Each`T' counts as two columns. +^^J-----------------------------------------------------^^J} +\fi +} + + +%% Second dummy columns is the part of the table that will not print, +%% in this case the part to the right. +%%\makeseconddummycolumns + +\gdef\makeseconddummycolumns{% +\ifcase\secondcolcount +%0 +\or +%1 +\newcolumntype{F}{h} % no D possible +%%%%%%%%%%%%%%%%%% +\or +%2 + \ifcase\secondhowmanyDs + \newcolumntype{F}{hh}%% 0 + \or + \newcolumntype{F}{d} %% 1 + \fi +%%%%%%%%%%%%%%%%%% +\or +%3 + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhh} % 0 + \or + \newcolumntype{F}{dh} % 1 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhh} % 0 + \or + \newcolumntype{F}{dhh} % 1 + \or + \newcolumntype{F}{dd} % 2 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh} % 0 + \or + \newcolumntype{F}{dhhh} % 1 + \or + \newcolumntype{F}{ddh} % 2 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhh} % 0 + \or + \newcolumntype{F}{dhhhh} % 1 + \or + \newcolumntype{F}{ddhh} % 2 + \or + \newcolumntype{F}{ddd} % 3 + \fi +%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhh} % 1 + \or + \newcolumntype{F}{ddhhh} % 2 + \or + \newcolumntype{F}{dddh} % 3 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhh} % 2 + \or + \newcolumntype{F}{dddhh} % 3 + \or + \newcolumntype{F}{dddd} % 4 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhh} % 2 + \or + \newcolumntype{F}{dddhhh} % 3 + \or + \newcolumntype{F}{ddddh} % 4 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhh} % 3 + \or + \newcolumntype{F}{ddddhh} % 4 + \or + \newcolumntype{F}{ddddd} % 5 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhh} % 4 + \or + \newcolumntype{F}{dddddh} % 5 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhh} % 4 + \or + \newcolumntype{F}{dddddhh} % 5 + \or + \newcolumntype{F}{dddddd} % 6 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhh} % 5 + \or + \newcolumntype{F}{ddddddh} % 6 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhh} % 5 + \or + \newcolumntype{F}{ddddddhh} % 6 + \or + \newcolumntype{F}{ddddddd} % 7 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhh} % 6 + \or + \newcolumntype{F}{dddddddh} % 7 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhh} % 6 + \or + \newcolumntype{F}{dddddddhh} % 7 + \or + \newcolumntype{F}{dddddddd} % 8 +\fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhh} % 7 + \or + \newcolumntype{F}{ddddddddh} % 8 +\fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhh} % 8 + \or + \newcolumntype{F}{ddddddddd} % 9 +\fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhhhhhhhhhhhhhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhh} % 8 + \or + \newcolumntype{F}{dddddddddh} % 9 +\fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhh} % 8 + \or + \newcolumntype{F}{dddddddddhh} % 9 + \or + \newcolumntype{F}{dddddddddd} % 10 + \fi +%%%%%%%%%%%%%%%%%% +\or + \ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh h} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhhh} % 8 + \or + \newcolumntype{F}{ddd ddd ddd hhh} % 9 + \or + \newcolumntype{F}{ddd ddd ddd d h} % 10 + \fi +%%%%%%%%%%%%%%%%%% +\or +\ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh hh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhhhh} % 8 + \or + \newcolumntype{F}{ddd ddd ddd hhhh} % 9 + \or + \newcolumntype{F}{ddddddddddhh} % 10 + \or + \newcolumntype{F}{ddddddddddd} % 11 + \fi +%%%%%%%%%%%%%%%%%% +\or +\ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh hhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhhhhh} % 8 + \or + \newcolumntype{F}{ddd ddd ddd hhhhh} % 9 + \or + \newcolumntype{F}{ddddddddddhhh} % 10 + \or + \newcolumntype{F}{ddddd ddddd dh} % 11 + \fi +%%%%%%%%%%%%%%%%%% +\or +\ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh hhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhhhhhh} % 8 + \or + \newcolumntype{F}{ddd ddd ddd hhhhhh} % 9 + \or + \newcolumntype{F}{ddddddddddhhhh} % 10 + \or + \newcolumntype{F}{ddddd ddddd dhh} % 11 + \or + \newcolumntype{F}{ddddd ddddd dd} % 12 + \fi +%%%%%%%%%%%%%%%%%% +\or +\ifcase\secondhowmanyDs + \newcolumntype{F}{hhhhh hhhhh hhhhh hhhhh hhhhh} % 0 + \or + \newcolumntype{F}{dhhhhhhhhhhhhhhhhhhhhhhh} % 1 + \or + \newcolumntype{F}{ddhhhhhhhhhhhhhhhhhhhhh} % 2 + \or + \newcolumntype{F}{dddhhhhhhhhhhhhhhhhhhh} % 3 + \or + \newcolumntype{F}{ddddhhhhhhhhhhhhhhhhh} % 4 + \or + \newcolumntype{F}{dddddhhhhhhhhhhhhhhh} % 5 + \or + \newcolumntype{F}{ddddddhhhhhhhhhhhhh} % 6 + \or + \newcolumntype{F}{dddddddhhhhhhhhhhh} % 7 + \or + \newcolumntype{F}{ddddddddhhhhhhhhh} % 8 + \or + \newcolumntype{F}{ddd ddd ddd hhhhhhh} % 9 + \or + \newcolumntype{F}{ddddddddddhhhhh} % 10 + \or + \newcolumntype{F}{ddddd ddddd dhhh} % 11 + \or + \newcolumntype{F}{ddddd ddddd ddh} % 12 + \fi +%%%%%%%%%%%%%%%%%% +\else +\typeout{^^J----------------------------------------------------- ^^J +Warning!^^J^^J +Too many Columns using in Splittabular. +^^J +25 column maximum in +each part of the table.^^J Each`D' counts as two columns. +^^J-----------------------------------------------------^^J} +\fi +} + +%% we don't have to worry about D's in this section, fortunately. +\gdef\makethirddummycolumns{ +\ifcase\thirdcolcount +\or\newcolumntype{E}{h} +\or\newcolumntype{E}{hh} +\or\newcolumntype{E}{hhh} +\or\newcolumntype{E}{hhhh} +\or\newcolumntype{E}{hhhhh} +\or\newcolumntype{E}{hhhhhh} +\or\newcolumntype{E}{hhhhhhh} +\or\newcolumntype{E}{hhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhhhhhh} +\or\newcolumntype{E}{hhhhhhhhhhhhhhhhhhhhhhhhh} %% up to 25 columns +\else \typeout{^^J-----------------------------------------------------^^J +Warning! +^^J^^J Too many Columns in Splittabular. +^^J +25 column maximum in +each part of the table.^^J +Each `D' counts as two columns. +^^J-----------------------------------------------------^^J}\fi +} + +%%%%%%%%%%%%%%%%% +%% Colnums + +%% defaults + +\gdef\settabnumdefaults{% +\loopnum=0\relax\loop% +\ifnum\loopnum<31\relax% +\expandafter\gdef\csname tab\the\loopnum\endcsname{% +\multicolumn1{c}{\global\advance\colnumsused by 1\relax% +(\the\colnumsused)}}% +\global\advance\loopnum by1\repeat} + +%%%%%%%%%%%%%%%%%%%%%%%%% +%% this version of countcols is for \colnumbers +\newcount\totalcolumncount +\def\xH{h} + +\makeatother +\def\tabcountcols#1{\ifcat#1c +\global\advance\colcount by 1\relax\fi% +%% +\def\lookforD{#1}% +\ifx\lookforD\xD% +\expandafter\gdef\csname tab\the\colcount\endcsname{% +\multicolumn2{c}{\global\advance\colnumsused by 1\relax% +(\the\colnumsused)}}% +\fi% +\ifx\lookforD\xH% +\expandafter\gdef\csname tab\the\colcount\endcsname{% +\multicolumn1{h}{}}% +\fi% +%% +\futurelet\next\tablookatnext} + +\def\tabxeatone#1{\tabcountcols} + +%% second conditional deals with expressions like @{} in +%% the preamble. +\def\tablookatnext{\if\next\xrelax\let\xgo\relax\else% +\ifx\next\bgroup\let\xgo\tabxeatone\else\let\xgo\tabcountcols\fi\fi\xgo} +\makeatletter +%%%%%%%%%%%%%%% + +\newcount\totalcolumns +\newbox\firsttablebox +\newbox\secondtablebox +\newbox\thirdtablebox +\newif\ifdbreaktab + +%% A loop would be more elegant, of course, but using & in a loop +%% within a table column produces errors. +%% was\tabnumberline, now \colnumbers + +%% Is this test necessary? +%\newif\ifcolumnums + +\newif\ifcolnumberson +\def\deluxecolnumbers{\global\colnumbersontrue} + +\def\colnumbers{\omit\\\omit\xcolnumbers} +\def\xcolnumbers{\global\let\colnumbers\xcolnumbers% +\global\colnumbersontrue\let&\CheckNumberAndSwitch% +\global\colcount=0\relax% +\global\totalcolumncount=0\relax% +%% above here +\settabnumdefaults% +%% Now, change the columns that have `D' to be \multicolumn2c, by redefining +%% the \csname tab\endcsname +%% +\expandafter\tabcountcols\tabfullpreamble% +\global\totalcolumncount=\the\colcount\relax% +\global\colcount=0\relax% +\ifbreaktab\else\ifdbreaktab\else\global\colnumsused=0\relax\fi\fi% +%% +% +\ifdeluxe\ifbreaktab\\\else\\[-6pt]\fi%\hline% not above +\else% +\\[-14pt]\fi% +\ifcase\totalcolumncount% +\or% +\csname tab1\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&%% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname% +\or +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname% +\or%22 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname% +\or% 24 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname% +\or% 25 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname% +\or% 27 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname% +\or% 28 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname% +\or% 29 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname% +\or% 30 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname&\csname tab30\endcsname% +\else% +\typeout{^^J^^J +Sorry, more than 30 columns cannot be numbered with^^J +\string\colnumbers. Please number the columns manually.^^J +Thank you!^^J}\fi% +%\ifbreaktab +\\\hline% below, hline is wanted +%\else +\noalign{\vskip-13pt} +%\vrule height 28pt width0pt %the \vrule is in the line below colnumbers; + % it causes all the vrules on that line to grow to 28pt. + % The -14pt will cause the lower line to overlap the upper line. + % Complication, needed to add this vrule to Z and z in order to + % have it also work for split tabular. +%\fi +} + + +\let\savecolnumbers\colnumbers + +\gdef\plaincolnumbers{% +\omit\\\omit% +\global\colnumbersontrue\let&\CheckNumberAndSwitch% +\global\colcount=0\relax% +\global\totalcolumncount=0\relax% +%% above here +\settabnumdefaults% +%% Now, change the columns that have `D' to be \multicolumn2c, by redefining +%% the \csname tab\endcsname +%% +\expandafter\tabcountcols\tabfullpreamble% +\global\totalcolumncount=\the\colcount\relax% +\global\colcount=0\relax% +\ifbreaktab\else\ifdbreaktab\else\global\colnumsused=0\relax\fi\fi% +%% +\\\ifcase\totalcolumncount% +\or% +\csname tab1\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&%% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname% +\or +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname% +\or%22 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname% +\or% 24 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname% +\or% 25 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname% +\or% 27 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname% +\or% 28 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname% +\or% 29 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname% +\or% 30 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname&\csname tab30\endcsname% +\else% +\typeout{^^J^^J +Sorry, more than 30 columns cannot be numbered with^^J +\string\colnumbers. Please number the columns manually.^^J +Thank you!^^J}\fi% +\\\hline% below, hline is wanted +%\\\noalign{\vskip-30pt} +%\vrule height 28pt width0pt %the \vrule is in the line below colnumbers; + % it causes all the vrules on that line to grow to 28pt. + % The -14pt will cause the lower line to overlap the upper line. + % Complication, needed to add this vrule to Z and z in order to + % have it also work for split tabular. +} + +\let\saveplaincolnumbers\plaincolnumbers + + +\def\splitplaincolnumbers{% +\omit\\\omit% +\xplain} + +\let\savesplitplaincolnumbers\splitplaincolnumbers + +\newif\iffirsttime +\firsttimetrue +\gdef\xplain{% +\global\let\plaincolnumbers\xplain% +\global\colnumbersontrue\let&\CheckNumberAndSwitch% +\global\colcount=0\relax% +\global\totalcolumncount=0\relax% +%% above here +\settabnumdefaults% +%% Now, change the columns that have `D' to be \multicolumn2c, by redefining +%% the \csname tab\endcsname +%% +\expandafter\tabcountcols\tabfullpreamble% +\global\totalcolumncount=\the\colcount\relax% +\global\colcount=0\relax% +\ifbreaktab\else\ifdbreaktab\else\global\colnumsused=0\relax\fi\fi% +%% +\iffirsttime +\\%\hline% above not wanted +\else +\\[-12pt]%\hline% above not wanted +\fi +\ifcase\totalcolumncount% +\or% +\csname tab1\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&%% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname% +\or +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname% +\or%22 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname% +\or% 24 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname% +\or% 25 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname% +\or% 27 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname% +\or% 28 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname% +\or% 29 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname% +\or% 30 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname&\csname tab30\endcsname% +\else% +\typeout{^^J^^J +Sorry, more than 30 columns cannot be numbered with^^J +\string\colnumbers. Please number the columns manually.^^J +Thank you!^^J}\fi% +\\\hline% below, hline is wanted +\iffirsttime +\\\noalign{\vskip-30pt} +\vrule height 28pt width0pt %the \vrule is in the line below colnumbers; + % it causes all the vrules on that line to grow to 28pt. + % The -14pt will cause the lower line to overlap the upper line. + % Complication, needed to add this vrule to Z and z in order to + % have it also work for split tabular. +\fi\global\firsttimefalse +} + +\def\decimalcolnumbers{\crcr\saveplaincolnumbers\\% +\noalign{\global\savetabskip\tabskip +\tabskip=0pt +\global\let\extracolsep\relax +\global\let\ddoit\saveddoit +\global\let\zdoit\savezdoit +\vskip-32pt +}{\vrule height28pt depth0pt width0pt}\relax} + +\def\splitdecimalcolnumbers{\\[-15pt]% +\savesplitplaincolnumbers +\global\colnumbersonfalse +\\\noalign{\vskip-32pt %!!! +\global\savetabskip\tabskip +\tabskip=0pt +\global\let\extracolsep\relax +\global\let\ddoit\saveddoit +\global\let\zdoit\savezdoit +}\vrule height 28pt width0pt %!!! +\global\let\splitdecimalcolnumbers\secondsplitdecimalcolnumbers} + +\def\secondsplitdecimalcolnumbers{\omit\\%[-15pt] +\plaincolnumbers +\global\colnumbersonfalse +\\\noalign{\vskip-26pt %!!! was -28pt +\global\savetabskip\tabskip +\tabskip=0pt +\global\let\extracolsep\relax +\global\let\ddoit\saveddoit +\global\let\zdoit\savezdoit +}\\\relax} + +\let\savesplitdecimalcolnumbers\splitdecimalcolnumbers + +%%AAA +\newif\ifdeluxestar +\expandafter\def\csname +deluxetable*\endcsname{\deluxestartrue\bgroup\floattrue +\hsize=\textwidth +\deluxetable} + +\expandafter\def\csname enddeluxetable*\endcsname{\enddeluxetable +\egroup +\global\colnumbersonfalse +\global\deluxedecimalsfalse +\global\deluxestarfalse +} + +\def\deluxedecimalcolnumbers{\deluxedecimalstrue\colnumbersontrue} +\def\deluxetablecaption#1{\gdef\@tablecaption{#1}} + +\newif\ifstartlongtable +\def\startlongtable{\global\startlongtabletrue} + +\newif\iffloat +\def\floattable{\global\deluxestartrue\global\floattrue} + +%% for equivalent but in \begin...\end form. +\def\floatrotatetable{\global\deluxestartrue\global\floattrue} +\let\endfloatrotatetable\relax + +\def\deluxetable{ +\global\deluxetrue +\catcode`\&=\active +\catcode`\$=\active +\let\tablecaption\deluxetablecaption +\deluxetablecaption{} +%% july 2016 +% \iffloat +% \let\go\ydeluxetable +% \else\let\go\longdeluxetable\fi\go%} +%% aug 2016 +\ifstartlongtable + \ifdeluxestar +\vskip12pt + \if@two@col\onecolumngrid + \vskip12pt + \fi\fi +\let\go\longdeluxetable +\else +\let\go\ydeluxetable +\fi\go +} + +\def\ydeluxetable#1{% +\@ifnextchar[{\xdeluxetable{#1}}{\zdeluxetable{#1}}} + +% x and z are the same, except that xdeluxetable allows optional square bracket arg, like [h]. +\def\xdeluxetable#1[#2]{\global\breaktabtrue +\let\colnumbers\deluxecolnumbers +\global\deluxedecimalsfalse +\let\decimals\deluxedecimals +\let\decimalcolnumbers\deluxedecimalcolnumbers +\let\tablehead\ztablehead +\gdef\tabfullpreamble{#1}%<<== needed +\def\endtabular{\endarray +\global\let\zdoit\relax +\global\let\tdoit\relax +\global\Dfalse} +\global\colnumsused=0 +\global\breaktabtrue +\global\colcount=0 +%% +%%%%%%%%%%%% + \lineskiplimit=\z@ % restore default setting +\ifdeluxestar +\gdef\two{#2}\gdef\checkh{h} +\ifx\two\checkh\onecolumngrid\fi +\begin{table*}[#2]\hsize=\textwidth\else + \begin{table}[#2]\fi +\noindent\setbox\splitbox=\vtop\bgroup% +\currtabletypesize + \vspace*{\abovedeluxetableskip} +%% +\def\startdata##1\enddata{% +\currtabletypesize +\setbox0=\hbox{ +\begin{tabular}{#1} +\pt@head +##1\end{tabular}} +\expandafter\ifx\csname @tablecaption\endcsname\empty\else + +\noindent\hbox +to\hsize{\hss\vtop{\hsize=\wd0 +\caption{\@tablecaption}}\hss}\vskip3pt\fi +\global\setbox3\hbox{% +\begin{tabular}{#1}% +\hline\hline\noalign{\vskip-9pt}% +\pt@head% +##1\omit\\\omit\\\hline\end{tabular}} + +%\noindent\hskip-1.25em %% kludge! but seems necessary +\hbox to\hsize{\hss\copy3\hss} +\global\setbox4\vtop\bgroup\ifdeluxestar\hsize=\textwidth\else\hsize=\wd0\fi\leftskip6pt\parindent-6pt +}} + +\def\zdeluxetable#1{\global\breaktabtrue +\let\colnumbers\deluxecolnumbers +\global\deluxedecimalsfalse +\let\decimals\deluxedecimals +\let\decimalcolnumbers\deluxedecimalcolnumbers +\let\tablehead\ztablehead +\gdef\tabfullpreamble{#1}%<<== needed +\def\endtabular{\endarray +\global\let\zdoit\relax +\global\let\tdoit\relax +\global\Dfalse} +\global\breaktabtrue +\global\colnumsused=0 +\global\colcount=0 +%% +%%%%%%%%%%%% + \lineskiplimit=\z@ % restore default setting +\ifdeluxestar +\begin{table*}\hsize=\textwidth\else + \begin{table}\fi +\noindent\setbox\splitbox=\vtop\bgroup% +\currtabletypesize + \vspace*{\abovedeluxetableskip} +%% +\def\startdata##1\enddata{% +\currtabletypesize +\setbox0=\hbox{\colnumbersonfalse +\begin{tabular}{#1} +\pt@head +##1\end{tabular}}% +\expandafter\ifx\csname @tablecaption\endcsname\empty\else + +\noindent\hbox +to\hsize{\hss\vtop{\hsize=\wd0 +\caption{\@tablecaption}}\hss}\vskip3pt\fi +\global\setbox3\hbox{% +\begin{tabular}{#1}% +\hline\hline\noalign{\vskip-9pt}% +\pt@head% + +##1\omit\\\omit\\\hline\end{tabular}}%%<<== original +\vskip-\parskip +\noindent\hbox to\hsize{\hss\copy3\hss} +\global\setbox4\vtop\bgroup\hsize=\wd0\relax +\leftskip6pt\parindent-6pt +}} + +%% go to \end{deluxetable}, after longdeluxetable + +\newbox\longtablebox +\def\longdeluxetable#1{ +\global\rotateonfalse +\let\colnumbers\deluxecolnumbers +\global\deluxedecimalsfalse +\let\decimals\deluxedecimals +\let\decimalcolnumbers\deluxedecimalcolnumbers +\let\tablehead\ztablehead +\gdef\tabfullpreamble{#1}%<<== needed +\def\endtabular{\endarray +\global\let\zdoit\relax +\global\let\tdoit\relax +\global\Dfalse} +\global\colnumsused=0 +\global\colcount=0 +%% +%%%%%%%%%%%% + \lineskiplimit=\z@ % restore default setting +\let\enddeluxetable\endlongdeluxetable + \vspace*{\abovedeluxetableskip} +%% +\def\startdata##1\enddata{% +\global\setbox\longtablebox=\hbox{\currtabletypesize +\tabcolsep=3pt +\begin{tabular}{#1} +\pt@head +##1\end{tabular}} +%%% +\bgroup\centering +\def\table@hook{\currtabletypesize} + \LTcapwidth=\wd\longtablebox +\begin{longtable}{#1} +\caption{\hsize=\wd\longtablebox +\advance\baselineskip2pt +\@tablecaption}\\ +\hline\hline\noalign{\vskip-9pt}% prob ok +\pt@head% +\endfirsthead + +\noalign{\centerline{\small +{\bf Table \thetable}\ \it(continued)}\vskip6pt} +\hline\hline +\noalign{\vskip-12pt} +\pt@head% +\endhead + +\hline +\multicolumn{\totalcolumns}{c}{\vrule height 24pt width0pt\small\it +Table \thetable\ +continued \if@two@col\else on next page\fi}\\ +\endfoot + +\hline%\nobreak +\endlastfoot + +##1 +\end{longtable} +\vglue-24pt +\egroup +\global\setbox4=\vtop\bgroup +\ifdim\wd\longtablebox>\textwidth +\hsize=\textwidth +\else +\hsize=\wd\longtablebox\fi +\leftskip=6pt +\parindent=-6pt +\currtabletypesize +\global\startlongtablefalse +}% end data, endlongtable +} + + +\def\endlongdeluxetable{\vrule depth 6pt width 0pt +\vskip1sp +\egroup +\ifdim\dp4>6pt +\vbox{%\vglue-3.5\baselineskip %% why this dimension?? +\hbox to \columnwidth{\hfill +\vtop{\hsize\wd\longtablebox +\leftskip=6pt\parindent-6pt +\copy4}\hfill} +}\fi +\ifdeluxestar + \if@two@col +\vglue\ht4 + \twocolumngrid + \hsize=\columnwidth +\fi\fi% +\global\colnumbersonfalse +\global\deluxedecimalsfalse +\global\rotateonfalse +%\global\floatfalse +\if@two@col\vskip12pt\twocolumngrid\fi +\relax} + +%% bbb +%% \end{deluxetable}: +\def\enddeluxetable{% +\egroup%end box 4 +\ifdim\dp4>6pt +\hbox to\hsize{\hss\copy4\hss} +\fi +\egroup% end splitbox +\centering +\ifrotateon\global\rotateonfalse +\rotatebox{90}{\hbox to\textheight{\hfill\vbox{ +\unvbox\splitbox +\vspace*{\belowdeluxetableskip}}\hfill}} +\else +\centering\unvbox\splitbox +\vspace*{\belowdeluxetableskip} +\vspace*{24pt} +\fi +\ifdeluxestar\end{table*}\global\deluxestarfalse +\if@two@col +\twocolumngrid\hsize=\columnwidth\fi%% check this!! +\else\end{table}\fi +\gdef\colnumbers{\saveplaincolnumbers} +\global\breaktabfalse +\global\deluxefalse +\global\colnumbersonfalse +\global\deluxedecimalsfalse +\global\rotateonfalse +\startlongtablefalse +%\global\floatfalse +}%% check this!! + + + +\newbox\splitbox +\newif\ifdeluxe +\def\splitdeluxetable{\global\deluxetrue\catcode`\&=\active +\catcode`\$=\active +\xsplitdeluxetable} + +\def\xsplitdeluxetable#1{\global\breaktabtrue +\let\colnumbers\deluxecolnumbers +\let\decimals\deluxedecimals +\global\deluxedecimalsfalse +\let\decimalcolnumbers\deluxedecimalcolnumbers +\let\tablehead\xtablehead +\gdef\tabfullpreamble{#1} +\def\endtabular{\endarray +\global\let\zdoit\relax +\global\let\tdoit\relax +\global\Dfalse} +%%% modification of emulateapj \deluxetable %%%% +\setbox0=\hbox{\def\firstarg{#1}\expandafter\lookforD\firstarg} +\gdef\temppreamble{#1\relax} +\PartsOfTable=0 +\def\tempfullpreamble{#1BB} +\setbox0=\hbox{\expandafter\checkforB\tempfullpreamble} +%% Now PartsOfTable is either =2 or 3 +%% +\gdef\one{#1Z} +\global\colnumsused=0 +\global\breaktabtrue +\global\colcount=0 +%% +\ifnum\PartsOfTable=3 +\let\multicolumn\threebreakmulticolumn +\else +\let\multicolumn\breakmulticolumn +\fi +%%%%%%%%%%%% + \lineskiplimit=\z@ % restore default setting + \gdef\tblnote@list{} + \gdef\tblref@list{} +\ifsplitstar + \begin{table*}\else + \begin{table}\fi +\noindent\setbox\splitbox=\vtop\bgroup% +\currtabletypesize + \vspace*{\abovedeluxetableskip} +\let\startdata\xstartdata} +%% \end{splitdeluxetable}: + +\newdimen\movetabledown + +\def\endsplitdeluxetable{\vskip1sp\egroup%% end box with tablenotes +\hbox to \hsize{\hss\copy4\hss} +\egroup +\vskip1pt +\ifrotateon\global\rotateonfalse +\vskip\movetabledown\rotatebox{90}{\vbox{\noindent\unvbox\splitbox % +\vspace*{\belowdeluxetableskip} +}}\global\movetabledown=0pt\else +\noindent\unvbox\splitbox +\vspace*{\belowdeluxetableskip} +\fi +\ifsplitstar +\end{table*} +\else +\end{table}\fi +\gdef\colnumbers{\saveplaincolnumbers} +\tabletypesize{\small} +\global\breaktabfalse +\global\deluxefalse +\global\splitstarfalse +\global\colnumbersonfalse +\global\deluxedecimalsfalse +} + +\newif\ifsplitstar +\expandafter\def\csname splitdeluxetable*\endcsname{\global\splitstartrue\splitdeluxetable} +\expandafter\def\csname endsplitdeluxetable*\endcsname{\endsplitdeluxetable\global\splitstarfalse +\global\colnumbersonfalse +\global\deluxedecimalsfalse +} + +\newdimen\maxtablewidth + +\gdef\NoTableCaption{\global\@table@not@headedtrue} + +%% For splitdeluxetable + +%%% ====================================================== %%% +\gdef\dbreaktabular{\catcode`\&=\active +\let&\CheckNumberAndSwitch\xdbreaktabular} + +\long\gdef\xdbreaktabular#1{%% #1=contents of table +{\global\maxtablewidth=0pt +\let&\CheckNumberAndSwitch +\let$\savedollar +\global\colnumsused=0 +%% +\global\dbreaktabtrue +\global\colcount=0 +%% +\ifnum\PartsOfTable=3 +\let\multicolumn\threebreakmulticolumn +\else +\let\multicolumn\breakmulticolumn +\fi +%% +\ifnum\PartsOfTable=3 +\expandafter\catchfirstpreamble\one +\expandafter\catchsecondofthreepreamble\one +\expandafter\catchthirdpreamble\one +\makefirstdummycolumns +\makeseconddummycolumns +\makethirddummycolumns +\else %% PartsOfTable=2 +\ifnum\PartsOfTable=2 +\expandafter\catchfirstpreamble\one +\expandafter\catchsecondpreamble\one +\makefirstdummycolumns +\makeseconddummycolumns +\fi\fi +%%% +\global\columncount=0 +\ifnum\PartsOfTable=3 +%% For table divided into three parts +\firstboxtrue\secondboxfalse\thirdboxfalse +\setbox\firsttablebox=\hbox{% +\begin{tabular}{AFE} +\ifx\csname pt@head\endcsname\relax\else +\pt@head\fi#1\crcr\end{tabular}} +\global\maxtablewidth=\wd\firsttablebox + +\noindent\hbox to \hsize{\hss\unhbox\firsttablebox\hss} +\vskip6pt +\hrule +\vskip6pt +\global\columncount=0 +\firstboxfalse\secondboxtrue\thirdboxfalse +\ifcolnumberson% +\setbox\secondtablebox=\hbox{% +\let\savecolnumbers\xcolnumbers% +\notfirsttrue% +\begin{tabular}{fZE} %fZE !!! +\ifx\csname pt@head\endcsname\relax\else% +\pt@head\fi#1\crcr\end{tabular}} +\else +%% +\setbox\secondtablebox=\hbox{% +\begin{tabular}{fZE}% +\ifx\csname pt@head\endcsname\relax\else% +\pt@head\fi\\[-14pt]% +#1\crcr% +\end{tabular}} +\fi +\ifdim\wd\secondtablebox>\maxtablewidth +\global\maxtablewidth\wd\secondtablebox\fi + +\noindent\hbox to \hsize{\hss\unhbox\secondtablebox\hss} +%% +\vskip6pt +\hrule +\vskip6pt +\firstboxfalse\secondboxfalse\thirdboxtrue +\global\columncount=0 +\ifcolnumberson +\notfirsttrue +\setbox\thirdtablebox=\hbox{ +\let\savecolnumbers\xcolnumbers +\notfirsttrue +\begin{tabular}{fFz} +\ifx\csname pt@head\endcsname\relax\else +\pt@head\fi#1\crcr\end{tabular}} +\else +\setbox\thirdtablebox=\hbox{ +\begin{tabular}{fFz} +\ifx\csname pt@head\endcsname\relax\else +\pt@head\fi\\[-14pt] +#1 +\end{tabular}} +\fi +\ifdim\wd\thirdtablebox>\maxtablewidth +\global\maxtablewidth\wd\thirdtablebox\fi + +\noindent\hbox to \hsize{\hss\unhbox\thirdtablebox\hss} +\vskip6pt +\hrule +\else +%% Original for table divided into two parts +\global\columncount=0 +\secondboxfalse +\setbox\firsttablebox=\hbox{% +\begin{tabular}{AF} +\ifx\csname pt@head\endcsname\relax\else +\pt@head\fi% +#1\end{tabular}} +\global\maxtablewidth=\wd\firsttablebox +\hbox to \hsize{\hss\unhbox\firsttablebox\hss} +\vskip6pt +\hrule +\vskip6pt +\global\columncount=0 +\secondboxtrue +\ifcolnumberson +\setbox\secondtablebox=\hbox{% +\let\savecolnumbers\xcolnumbers +\notfirsttrue +\begin{tabular}{fZ}%% +\ifx\csname pt@head\endcsname\relax\else% +\pt@head\fi#1\crcr%%= tablecontents +\end{tabular}}% +\else +\setbox\secondtablebox=\hbox{% +\begin{tabular}{fZ}%% was 12 +\ifx\csname pt@head\endcsname\relax\else% +\pt@head\fi\\[-14pt]% +#1%%= tablecontents +\end{tabular}}\fi +\ifdim\wd\secondtablebox>\maxtablewidth +\global\maxtablewidth\wd\secondtablebox\fi + +\noindent\hbox to \hsize{\hss\unhbox\secondtablebox\hss} +\vskip6pt +\hrule +\secondboxtrue +%% +%% end of conditional testing for 2 or 3 part table: +\fi +%% +\global\dbreaktabfalse}} +%%% ====================================================== %%% + +\newif\ifnotfirst +%% @@@@ +%% xstartdata, modified from \startdata in emulateapj, for splitdeluxetable +\gdef\xstartdata#1\enddata{\def\tablecontents{% +\ifcolnumberson% +\\ \savecolnumbers\\[2pt]\fi% +\ifdeluxedecimals\savedecimals\fi% +#1}% +\currtabletypesize% +\setbox2=\vtop{\dbreaktabular{\tablecontents}}% +% +\expandafter\ifx\csname @tablecaption\endcsname\empty\else + +\noindent\hbox +to\hsize{\hss\vtop{\hsize=\maxtablewidth\caption{\@tablecaption}}\hss}\vskip3pt\fi +\dbreaktabular{\tablecontents\noalign{\global\let\zdoit\relax +\global\let\ddoit\relax}} +\parindent=0pt +\global\setbox4=\vtop\bgroup% egroup in enddeluxetable +\currtabletypesize +\ifsplitstar +\hsize=\textwidth\else\hsize=245.3pt\fi +\parindent=-6pt \leftskip=6pt +} + +\def\tablecomments#1{{\small\vskip3pt\indent\vrule height 11pt depth 2pt +width 0pt\currtabletypesize{\sc Note}---{#1}\vskip1sp}} + +\def\tablenotetext#1#2{{\currtabletypesize\vskip1pt\indent\vrule +height 11pt depth +2pt width0pt\relax$^{\hbox to 5pt{$#1$}}$#2\vskip1sp}} + +\def\tablerefs#1{{\small\vskip3pt\indent\vrule height 11pt depth 2pt +width 0pt\currtabletypesize{\bf References}---{#1}\vskip1sp}} + +\let\tablereferences\tablerefs + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% 5. Simple entry decimal numbers + +%% extra unused args are to get rid of unnecessary commands revtex puts in +\gdef\lookfordecimal#1#2#3#4.#5 {\gdef\xone{{\let$\relax\savedollar#4\savedollar}} +\gdef\xtwo{#5}\ifx\xtwo\empty\else\gdef\xtwo{{\let$\relax\savedollar#5\savedollar}}\fi} + +%% D +\def\newdoit{\setbox0=\hbox\bgroup\zdoit} +\def\endnewdoit{\egroup\unhbox0} + +\long\gdef\zdoit#1 {\let$\relax +\def\bothcols{#1 }% +\setbox0=\hbox{\let$\relax\expandafter\lookfordecimal\bothcols{}{}{}{}.{} }% +\xdoit} + +\global\let\savezdoit\zdoit +\let\zdoit\relax + +\gdef\xdoit{\relax\hskip\tabcolsep\relax\xone&\tabskip=0pt% +\ifx\xtwo\empty\let\go\relax\else.\def\go{\xtwo}\fi\go} + +%% d +\def\xnewdoit{\setbox0=\hbox\bgroup\ddoit} +\def\xendnewdoit{\egroup} + +\long\gdef\ddoit#1#2#3{\xxdoit} +\let\saveddoit\ddoit +\let\ddoit\relax + +%% to delete all D material: + +\gdef\xxdoit{&} + +\newcolumntype{D}{>\newdoit r<{\endnewdoit} @{}l}%% +\newcolumntype{d}{>\xnewdoit h<{\xendnewdoit} @{}h} %% + +\newdimen\savetabskip +\gdef\decimals{\noalign{\global\savetabskip\tabskip +\tabskip=0pt +\global\let\extracolsep\relax +\global\let\ddoit\saveddoit +\global\let\zdoit\savezdoit +}} + +\let\savedecimals\decimals + +%% to allow \decimals to be used before \startdata: +\newif\ifdeluxedecimals +\def\deluxedecimals{\global\deluxedecimalstrue} + +%%%%%%%%% +%% This needed to be redefined so that \colhead in \tablehead would span both parts +%% of decimal numbers. + +%% in case there isn't a table head +\let\pt@head\relax + +%% for splitdeluxetable +\def\xtablehead{\catcode`\&=\active% +\catcode`\$=\active% +\xxtablehead} + +\def\xxtablehead#1{% +\let&\CheckNumberAndSwitch% +\gdef\pt@head{% +\hline\hline% +\multicolumn1c{\tempcounter=0 +\expandafter\getDs\tabfullpreamble\relax +\global\colcount=0 +\global\colheadcount=0}% +\\[-10pt]% this is right +#1\ifcolnumberson% +\ifnotfirst\\[-22pt]\fi +\else\\\hline\\[-8pt]\fi% space below hline for 2nd and 3rd part of split table +}% +% +} + +\def\ztablehead{\catcode`\&=\active% +\catcode`\$=\active% +\zztablehead} + +%% +\def\zztablehead#1{\let&\CheckNumberAndSwitch% +\gdef\pt@head{% +%% this is needed: +\multicolumn1c{\expandafter\getDs\tabfullpreamble\relax +\global\tempcounter=0 +\global\colcount=0 +\global\colheadcount=0}\\% +#1 +\ifcolnumberson\\[6pt] +\savecolnumbers\vrule height 11pt depth 4pt width 0pt\relax% +\\[6pt] +\ifdeluxedecimals\\[-14pt] % +\savedecimals\fi +\else \vrule depth 6pt +width0pt\\\ifdeluxedecimals\savedecimals\fi\hline\fi% +}} + + +\newcount\tempcounter + +\gdef\getDs#1{\let&\CheckNumberAndSwitch +\def\lookforD{#1}% +\ifx\lookforD\xD% +\expandafter\gdef\csname col\the\tempcounter\endcsname{2}\else +\expandafter\gdef\csname col\the\tempcounter\endcsname{1}\fi +\global\advance\tempcounter by 1 +\futurelet\next\checkingpreamble} + +\gdef\checkingpreamble{\ifx\next\relax +\let\go\relax\else\let\go\getDs\fi\go} + +%%% Something like this could be used to automate the width of colheads in the tablehead, +%% making those that match the D in preamble are multicolumn2c instead of +%% multicolumn 1c. +\newcount\colheadcount +\newcommand\xcolhead[1]{\multicolumn{\expandafter\ifx\csname +col\the\colheadcount\endcsname\relax 1\else\expandafter% +\csname col\the\colheadcount\endcsname\fi}{c}{\vrule depth 4pt width %% +0pt#1\relax\global\advance\colheadcount +by 1\relax}\ignorespaces}% +% + +%% +\extrarowheight=2pt +%% from revtex4-1, additions on top +%% fix for \usepackage{amsmath} and +%% any matrix environment +\def\matrixpreamble{*\c@MaxMatrixCols c} +%% this causes problem, must be fixed! +%\let\save@array@array@new\@array@array@new +\def\@array@array@new[#1]#2{% +\ifbreaktab +\else +%%% added so that we can use \colnumbers in any tabular environment +%%% and avoid error messages for breaktabular +\def\catchpreamble{#2\relax} +\gdef\tabfullpreamble{#2\relax} +{\colcount=0 +%% important fix, makes it possible to use amsmath and matrices. +\def\two{#2} +\ifx\matrixpreamble\two +\else +\expandafter\countcols\catchpreamble +\global\totalcolumns=\colcount\fi} +\fi +%%% end of additions + \@tempdima\ht\strutbox + \advance\@tempdima by\extrarowheight + \setbox\@arstrutbox\hbox{% + \vrule \@height\arraystretch\@tempdima + \@depth \arraystretch\dp\strutbox + \@width \z@ + }% + \begingroup + \@mkpream{#2}% + \xdef\@preamble{\@preamble}% + \endgroup + \prepdef\@preamble{% + \tabskip\tabmid@skip + \@arstrut + }% + \appdef\@preamble{% + \tabskip\tabright@skip + \cr + \array@row@pre + }% + \@arrayleft + \@nameuse{@array@align@#1}% + \m@th + \let\\\new@arraycr %<<== defined above, original plus reset counters + \let\tabularnewline\\% + \let\par\@empty + \let\@sharp##% + \set@typeset@protect + \lineskip\z@\baselineskip\z@ + \tabskip\tableft@skip + \everycr{}% + \expandafter\halign\expandafter\@halignto\expandafter\bgroup\@preamble +}% + +%% \rotate +\newif\ifrotateon +\def\rotate{\global\floattrue\iffloat\global\let\go\relax\global\rotateontrue\else +\global\rotateonfalse +\let\go\relax +%\def\go{\vskip48pt\huge +%{\tt \string\floattable\space must precede table using +%\string\rotate !!}} +\fi\go} + +\def\colnumbers{\plaincolnumbers} + +%% add 6pt of space between table and following text: +\let\saveendtable\endtable +\def\endtable{\vskip6pt\saveendtable} +\expandafter \let \csname endtable*\endcsname = \endtable +%% + +\newbox\rotatetablebox +\def\rotatetable{% +\global\startlongtabletrue\setbox\rotatetablebox=\vbox\bgroup +} +\def\endrotatetable{\egroup +\vglue\movetabledown +\hbox to +\textwidth{\hss\rotatebox{90}{\hbox{\box\rotatetablebox}}\hss} +\global\movetabledown=0pt\relax +\global\startlongtablefalse +} + + +\expandafter\def\csname rotatetable*\endcsname{% +\global\startlongtabletrue\setbox\rotatetablebox=\vbox to +\textwidth\bgroup\vfill} + + +\expandafter\def\csname endrotatetable*\endcsname{\vfill\egroup +\vbox to \textheight{\vfill +\vglue\movetabledown +\hbox to +\textwidth{\hss\rotatebox{90}{\box\rotatetablebox}\hss}\global\movetabledown=0pt\relax +\vfill} +\clearpage +\if@two@col +\twocolumngrid +\global\startlongtablefalse +} + + +\def\longrotatetable{% + \if@two@col\onecolumngrid\clearpage + \fi +\clearpage + \clearpage + \begingroup +\expandafter\def\csname deluxetable*\endcsname{\deluxetable} +\expandafter\def\csname enddeluxetable*\endcsname{\enddeluxetable} +\global\floatfalse +\global\startlongtabletrue +\def\LS@rot{% + \setbox\@outputbox\vbox{\hbox{\rotatebox{90}{\box\@outputbox}}}} + +\let\LS@makecol=\@makecol +\let\LS@makefcolumn=\@makefcolumn + + \vsize=\textwidth + \hsize=\textheight + \linewidth=\hsize + \columnwidth=\hsize + \@colroom=\vsize + \textheight=\vsize + \@colht=\vsize + \def\@makecol{\LS@makecol\LS@rot}% + \def\@makefcolumn##1{\LS@makefcolumn{##1}\LS@rot}} +\def\endlongrotatetable{% +\onecolumngrid %% ?? +\clearpage + \ifGin@pdftex + \pdfpageattr{/Rotate 90} + \fi + \clearpage + \endgroup + \if@two@col\twocolumngrid\fi +\clearpage + \global\@colht=\textheight + \global\vsize=\textheight + \global\@colroom=\textheight} + + +\newif\ifGin@pdftex +\Gin@pdftexfalse +\DeclareOption{pdftex}{% + \PassOptionsToPackage\CurrentOption{graphicx} + \Gin@pdftextrue +} + +\DeclareOption*{\PassOptionsToPackage\CurrentOption{graphicx}} +\ProcessOptions + +%% set &, $ catcode back to normal: + +\catcode`&=4 +\catcode`$=3 + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% end table tools +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Gridlines for positioning multiple illustrations in +%% one figure environment. + +\def\gridline#1{\vskip6pt\hbox to\hsize{#1}\vskip6pt} + +\def\boxedfig#1#2#3{\hfill\fbox{\vbox{\parskip=0pt\relax +\hsize=#2 +\includegraphics[width=#2]{#1}\vskip2pt\vtop{\hsize=#2 +\centerline{#3}}}}\hfill} + +\def\fig#1#2#3{\hfill\vbox{\parskip=0pt\hsize=#2 +\includegraphics[width=#2]{#1}\vskip2pt\vtop{\centering +\footnotesize +\hsize=#2 +#3\vskip1pt +}}\hfill} + +\def\leftfig#1#2#3{\vbox{\parskip=0pt\relax\hsize=#2 +\includegraphics[width=#2]{#1}\vskip2pt\vtop{\hsize=#2 +\centering +#3\vskip1sp\vskip1sp}}\hfill} + +\def\rightfig#1#2#3{\hfill\vbox{\parskip=0pt\relax\hsize=#2 +\includegraphics[width=#2]{#1}\vskip2pt\vtop{\hsize=#2 +\centering#3\vskip1sp}}} + +\def\rotatefig#1#2#3#4{\hfill\vbox{\centering\parskip=0pt\hsize=#3 +\includegraphics[width=#3,angle=#1]{#2}\vskip2pt\vtop{\centering +\footnotesize +\hsize=#3 +#4\vskip1pt +}}\hfill} + +%%%%%%%%%% End Grid line Macros %%%%%%%%%% + +%%%%%%%%%% Color Editing Macros %%%%%%%%%% +%% \turnoffedit or \turnoffedits +%% will prevent all \edit{text}, all +%% \collaborationcomment{text}, and all +%% \authorcomment{text} from producing any text. + +\newif\ifturnoffedit +\def\turnoffedit{\global\turnoffedittrue} +\def\turnoffedits{\global\turnoffedittrue} + +\newif\ifturnoffone +\newif\ifturnofftwo +\newif\ifturnoffthree + +%% \turnoffeditone to only turn off only \edit1, \collaborationcomment1 and \authorcomment1 : +\def\turnoffeditone{\turnoffonetrue} + +%% \turnoffedittwo to only turn off only \edit2, \collaborationcomment2 and \authorcomment2 : +\def\turnoffedittwo{\turnofftwotrue} + +%% \turnoffeditthree to only turn off only \edit3, \collaborationcomment3 and \authorcomment3 : +\def\turnoffeditthree{\turnoffthreetrue} + +%% Other choices can be made, but this should be +%% standardized, so didn't make an user interface +%% to change the colors easily. + +\expandafter\def\csname editcolor1\endcsname{magenta} +\expandafter\def\csname editcolor2\endcsname{blue} +\expandafter\def\csname editcolor3\endcsname{violet} + +\newcount\colorcount +\def\edit#1#2{{\colorcount=#1\relax% +\ifturnoffedit\let\go\ignorespaces\else% +\let\go\relax% +\color{\csname editcolor\the\colorcount\endcsname}% +\ifnum\colorcount=1{\ifturnoffone\else\bf#2\ \fi}\else% +\ifnum\colorcount=2{\ifturnofftwo\else\it#2\ \fi}\else% +\ifnum\colorcount=3{\ifturnoffthree\else#2\ \fi}\fi\fi\fi\fi% +}\go} + +\def\collaborationcomment#1#2{{\colorcount=#1 +\ifturnoffedit\let\go\ignorespaces\else% +\let\go\relax% +\color{\csname editcolor\the\colorcount\endcsname} +\ifnum\colorcount=1{\ifturnoffone\else\bf (Collaboration~note: #2)\ \fi}\else +\ifnum\colorcount=2{\ifturnofftwo\else\it (Collaboration~note: #2)\ \fi}\else +\ifnum\colorcount=3{\ifturnoffthree\else (Collaboration~note: #2)\ \fi}\fi\fi\fi\fi% +\go}} + +\def\authorcomment#1#2{{\colorcount=#1 +\ifturnoffedit\let\go\ignorespaces\else% +\let\go\relax% +\color{\csname editcolor\the\colorcount\endcsname} +\ifnum\colorcount=1{\ifturnoffone\else\bf (Author~note: #2)\ \fi}\else +\ifnum\colorcount=2{\ifturnofftwo\else\it (Author~note: #2)\ \fi}\else +\ifnum\colorcount=3{\ifturnoffthree\else (Author~note: #2)\ \fi}\fi\fi\fi\fi% +\go}} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Draft watermark + +\definecolor{ltgray}{gray}{.9}% .89 +\font\bighelv=phvr at 2in % +\def\setwatermarkfontsize#1{\font\bighelv=phvr at #1} + +\def\watermark#1{\def\thewatermark{\hbox to\textwidth{\vtop to +1.1\textheight{\vss +\hskip24pt\rotatebox{60}{\hbox{\bighelv \color{ltgray} +\uppercase{#1}}}\vss}}\hss}} +\let\thewatermark\empty + +%% Used in titlepage definition, as \pagestyle{titlepage} +\def\ps@titlepage{% + \let\@mkboth\@gobbletwo +\def\@oddhead{\ifx\thewatermark\empty\hfill\else +\hbox to \textwidth{\rlap{\thewatermark}\hfill}\fi} +\let\@oddfoot\@empty +\let\@evenhead\@empty\let\@evenfoot\@empty} + +% end of watermark definitions +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand*\submitjournal[1] +{\def\@submitted{Submitted to #1}}% + +%% this one is used +\def\titleblock@produce{% + \begingroup + \ltx@footnote@pop + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}% + \c@mpfootnote\z@ + \let\@makefnmark\frontmatter@makefnmark + \frontmatter@setup + \thispagestyle{titlepage}\label{FirstPage}% +\ifmodern\leftskip=0pt\rightskip\leftskip\fi + \frontmatter@title@produce + \groupauthors@sw{% + \frontmatter@author@produce@group + }{% + \frontmatter@author@produce@script + }% + \frontmatter@RRAPformat{% +\vskip12pt + \expandafter\produce@RRAP\expandafter{\@date}% + \expandafter\produce@RRAP\expandafter{\@received}% + \expandafter\produce@RRAP\expandafter{\@revised}% + \expandafter\produce@RRAP\expandafter{\@accepted}% + \expandafter\produce@RRAP\expandafter{\@published}% + }% +\expandafter\ifx\csname @submitted\endcsname\relax\else +\vskip6pt +\expandafter\produce@RRAP\expandafter{\centerline{\@submitted\hbox +to 20pt{\hfill}}\vskip12pt}% +\fi + \frontmatter@abstract@produce + \@ifx@empty\@pacs{}{% + \@pacs@produce\@pacs + }% + \@ifx@empty\@keywords{}{% + \@keywords@produce\@keywords + }% + \par + \frontmatter@finalspace + \endgroup +}% + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Highlight Figure +\definecolor{ltblue}{cmyk}{.5,.1,.1,0} + +\long\def\highlightfigure#1{\centerline{ +\fboxrule=4pt +\fboxsep=12pt +\fcolorbox{ltblue}{white}{\hbox to +.93\textwidth{\hss$\vcenter{\advance\hsize -24pt #1}$\hss}}}\gdef\highlightfigure{\typeout{^^J^^JERROR!^^J^^J +Only One Highlighted Figure per Article!^^J^^J}\stop}} + + +%%%%%%%%%%%%% +%% Line numbering + +\ifnumlines +\usepackage{lineno} + +\linenumbers*[1] +\if@two@col +\advance\linenumbersep -4pt +\else +\advance\linenumbersep 12pt +\fi\fi + + +\gdef\specialbibitem#1[#2]#3#4{ +{\tt\string\bibitem}[#2]{\tt\string{\string}} +#4} + +\let\savecite\cite +\let\savecitep\citep +\let\savecitet\citet +\def\specialcite#1{\hbox{\savecite{#1}}} +\def\specialcitep#1{\hbox{\savecitep{#1}}} +\def\specialcitet#1{\hbox{\savecitet{#1}}} +\let\saveref\ref +\def\specialref#1{\hbox{\saveref{#1}}} + +%%%%%%%%%%%%%%%%%%%%%%%%% +%% Track Changes +%% Amy Hendrickson, Nov 2015 +%% Change Jan 2016, to allow list of changes +%% to give line and page numbers for more than one entry on the same line. +%% Change Feb 2016, to allow optional argument for time/date, and/or editor initials, etc. + + +\providecolor{trackchange}{rgb}{1,0,0} +\providecolor{explain}{rgb}{.5,0,.5} + +\newif\ifsilent + +\newcount\refchangenumber +\def\added{\@ifnextchar[{\xadded}{\yadded}} + +\long\def\xadded[#1]#2{% +\iftrack {\global\advance\refchangenumber by 1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines% +\ifabstract\else% +\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}{}{}{}}\doit\fi}% +{\color{trackchange}(Added: [#1] #2)}%% +\ifabstract\label{\the\refchangenumber}% +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Added: [#1] +\textcolor{trackchange}{#2}\global\silenttrue}% +\else\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Added: [#1] +\textcolor{trackchange}{\let\bibitem\specialbibitem #2}\global\silentfalse}\fi% +\else#2\fi} + + + +\long\def\yadded#1{% +\iftrack{\global\advance\refchangenumber by 1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines\ifabstract\else% +\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}{}{}{}}\doit% +\fi}% +{\color{trackchange}(Added: #1)}%% +\ifabstract% +\label{\the\refchangenumber}% +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Added: +\textcolor{trackchange}{#1}, +\global\silenttrue}\else +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Added: +\textcolor{trackchange}{\let\bibitem\specialbibitem #1},% +\global\silentfalse}\fi% +\else#1\fi} + + + +\def\deleted{\@ifnextchar[{\xdeleted}{\ydeleted}} + +\long\def\xdeleted[#1]#2{\iftrack{\global\advance\refchangenumber by +1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines\ifabstract\else% +\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi% +\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}}\doit\fi% +}% +{\color{trackchange}% +\ifbib\let\sout\relax\fi% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\ref\specialref\let\cite\specialcite (Deleted: [#1] \sout{#2}) +}% +\ifabstract\label{\the\refchangenumber}% +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Deleted: [#1] +{\color{trackchange}% +\let\citet\specialcitet% +\let\citep\specialcitep% +\let\cite\specialcite\sout{#2}}\global\silenttrue}% +\else +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Deleted: [#1] +{\color{trackchange}% +\let\bibitem\specialbibitem% +\let\ref\specialref% +\let\cite\specialcite% +\let\citep\specialcitep% +\let\citet\specialcitet% +\sout{#2} +}\global\silentfalse}\fi% +\fi} + +\long\def\ydeleted#1{\iftrack{\global\advance\refchangenumber by 1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines\ifabstract\else% +\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi% +\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}{}{}{}}\doit% +\fi}% +%% +{\color{trackchange}% +\ifbib\let\sout\relax\fi% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\ref\specialref\let\cite\specialcite(Deleted: \sout{#1} +)}% +\ifabstract\label{\the\refchangenumber}% +\expandafter\gdef\csname changenum\the\refchangenumber\endcsname{Deleted: +{\color{trackchange}\let\ref\specialref% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\sout{#1}}\global\silenttrue}% +\else +\expandafter\gdef\csname changenum\the\refchangenumber\endcsname{Deleted: +{\color{trackchange}% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\bibitem\specialbibitem% +\let\ref\specialref% +\let\cite\specialcite\sout{#1}}\global\silentfalse}\fi% +\fi} + + +\def\replaced{\@ifnextchar[{\xreplaced}{\yreplaced}} + +\long\def\xreplaced[#1]#2#3{% +\iftrack\global\advance\refchangenumber by 1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines\ifabstract\else\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}}\doit\fi% +{\ifbib\let\sout\relax\fi +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange}(Replaced: [#1] \sout{#2}}% +{\color{black}replaced with:} {\let\ref\specialref% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange} #3)}% +\ifabstract\label{\the\refchangenumber}% +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Replaced: [#1] +{\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange}\sout{#2}} {\color{black} replaced with:} +{\color{trackchange}#3}, \global\silenttrue}% +\else +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Replaced: [#1] +{\ifbib\let\sout\relax\fi\let\bibitem\specialbibitem +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange}\sout{#2} +} {\color{black} replaced with:} +{\let\bibitem\specialbibitem\color{trackchange}#3}, \global\silentfalse}\fi% +\else#3\fi} + +\long\def\yreplaced#1#2{% +\iftrack\global\advance\refchangenumber by 1\relax% +\vtop to 0pt{\vss +\hypertarget{link\the\refchangenumber}{} +\vskip14pt}% +\ifnumlines\ifabstract\else\xdef\doit{\noexpand\linelabel{\the\refchangenumber}}\doit\fi\else% +\xdef\doit{\noexpand\label{\the\refchangenumber}}\doit\fi% +{\ifbib\let\sout\relax\fi\let\ref\specialref% +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange}(Replaced: %\sout +{#1} +}% +{\color{black}replaced with:} +{\color{trackchange} #2)}% +\ifabstract\label{\the\refchangenumber}% +\expandafter\gdef\csname changenum\the\refchangenumber\endcsname{Replaced: +{\let\cite\specialcite% +\let\citep\specialcitep% +\let\citet\specialcitet% +\color{trackchange}\sout{#1}} {\color{black} replaced with:} +{\color{trackchange}#2},\global\silenttrue}% +\else +\expandafter\gdef\csname +changenum\the\refchangenumber\endcsname{Replaced: +{\ifbib\let\sout\relax\fi\let\bibitem\specialbibitem +\let\citep\specialcitep% +\let\citet\specialcitet% +\let\cite\specialcite\color{trackchange}\sout{#1} +} {\color{black} replaced with:} +{\let\bibitem\specialbibitem\color{trackchange}#2}, \global\silentfalse}\fi% +\else#2\fi} + +\def\explain{\@ifnextchar[{\xexplain}{\yexplain}} + +\def\xexplain[#1]#2{\iftrack\ {\it\color{explain} [Explanation of change: +#2 (#1)]\ }\fi} + +\def\yexplain#1{\iftrack\ {\it\color{explain} [Explanation of change: +#1]\ }\fi} + +\newcount\listchangenum + +\def\listofchanges{ +\clearpage +\iftrack +\ifnum\refchangenumber>0 +\ifnumlines\nolinenumbers\fi +\vskip36pt +\hrule +\noindent{\vrule height 14pt width0pt depth 6pt\large\bf List of Changes} +\hrule +\vskip18pt +\nobreak +{\parskip=4pt \parindent=0pt +\loop +\global\silentfalse +\vskip-1pt\relax +\global\advance\listchangenum by 1\relax +\expandafter\ifx\csname changenum\the\listchangenum\endcsname\relax +\else +\csname changenum\the\listchangenum\endcsname\ +on page +%% can't get hyperlink to work correctly for page numbers, works but error messages. +\hyperlink{link\the\listchangenum}{\bf\pageref{\the\listchangenum}}% +\ifnumlines% +\ifsilent\global\silentfalse \else% +\setbox0=\hbox{\lineref{\the\listchangenum}}% +\ifdim\wd0<20pt% +, line\ +\hyperlink{link\the\listchangenum}{\lineref{\the\listchangenum}}% +\fi +\fi\fi.\relax +\repeat} +\fi\fi +\thispagestyle{empty} +} + +\PassOptionsToPackage{normalem}{ulem} +\usepackage{ulem} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% From earlier version of AASTeX, for usefulness and +%% backward compatibility, with some requested additions + +\let\jnl@style=\rmfamily +\def\ref@jnl#1{{\jnl@style#1}}% + +%%% +\renewcommand\memsai{\ref@jnl{Mem.~Soc.~Astron.~Italiana}}% + % Mem. Societa Astronomica Italiana +%% longer version: +\newcommand\memsocai{Mem. Societ\`a Astronomica Italiana} +\newcommand\aspconf{Ast. Soc. of the Pac. Conference Series} + +\let\astap=\aap +\let\apjlett=\apjl +\let\apjsupp=\apjs +\let\applopt=\ao + +%%% More useful commands from Earlier version of Aastex: +\let\la=\lesssim % For Springer A&A compliance... +\let\ga=\gtrsim + +\let\farcm\farcm@mss +\let\farcs\farcs@mss + +\def\farcm@apj{% + \mbox{.\kern -0.7ex\raisebox{.9ex}{\scriptsize$\prime$}}% +}% + +\def\farcs@apj{% + \mbox{% + \kern 0.13ex.% + \kern -0.95ex\raisebox{.9ex}{\scriptsize$\prime\prime$}% + \kern -0.1ex% + }% +}% + +\def\chem@bnd#1{% + {% + \kern.1em\relax + \setbox\z@\hbox{M}% + \dimen@ii.8em\relax + \p@=.1em\relax + \dimen@.5\ht\z@\dimen@i-\dimen@ + \advance\dimen@1.5\p@\advance\dimen@i-1.0\p@ + #1% + \kern.1em\relax + }% + }% +\def\@sbnd{% + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@dbnd{% + \advance\dimen@-0.5\p@\advance\dimen@i0.5\p@ + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% +\def\@tbnd{% + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + \advance\dimen@-1.5\p@\advance\dimen@i1.5\p@ + \hskip-\dimen@ii + \vrule\@height\dimen@\@depth\dimen@i\@width\dimen@ii\nobreak + }% + +\renewcommand\LaTeX{% + \leavevmode + L% + \raise.42ex\hbox{% + \count@=\the\fam + $\fam\count@\scriptstyle\kern-.3em A$% + }% + \kern-.15em\TeX +}% + +%% added Feb 2, 2016, redefining definition of \caption made with hyperref +%% package. Making \caption[] be the default, to prevent sending caption +%% text to listoftables or listoffigures, which we are not going to use +%% anyway. This change enables track changes commands to work in captions. + +\def\caption{\numlinesfalse +\ifx\@captype\@undefined +\@latex@error {\noexpand \caption outside float}\@ehd +\expandafter \@gobble \else +\H@refstepcounter \@captype \let \Hy@tempa \@caption \@ifundefined +{float@caption}{} +{\expandafter \ifx \csname @float@c@\@captype\endcsname +\float@caption\let\Hy@tempa\Hy@float@caption\fi} +\expandafter\@firstofone\fi +{\@dblarg {\Hy@tempa \@captype}}[]} + +% LSST DESC Notes: make sure captions have correct font, by adding \normalfont before #3: +\def\@caption#1[#2]#3{{\small\rm\expandafter \ifx \csname if@capstart\expandafter \endcsname +\csname iftrue\endcsname \global \let \@currentHref \hc@currentHref \else \hyper@makecurrent {\@captype }\fi +\@ifundefined {NR@gettitle}{\def \@currentlabelname{\thesection\relax #2}} +{\NR@gettitle {#2}}\par +%\addcontentsline {\csname ext@#1\endcsname }{#1}{\protect \numberline {\csname the#1\endcsname }{\ignorespaces #2}} +\begingroup \@parboxrestore \if@minipage \@setminipage \fi \normalsize +\expandafter\ifx \csname if@capstart\expandafter \endcsname +\csname iftrue\endcsname \global \@capstartfalse +\@makecaption {\bf\csname fnum@#1\endcsname }{\ignorespaces \normalfont #3} +\else \@makecaption {\bf\csname fnum@#1\endcsname }{\ignorespaces \ifHy@nesting +\expandafter \hyper@@anchor \expandafter {\@currentHref }{\normalfont #3}\else +\Hy@raisedlink {\expandafter \hyper@@anchor \expandafter +{\@currentHref }{\relax }}{\normalfont #3}\fi }\fi \par \endgroup}} + + +\newcommand\tablebreak{\\[-11pt]\noalign{\break}\\ } + +%% As suggested by Greg Schwarz, Gus Meunch, Feb 11 + +\def\dataset{\@ifnextchar[{\ydataset}{\xdataset}} +\def\ydataset[#1]#2{\href{#2}{[#1]}} +\def\xdataset#1{\href{#1}{[DATASET]}} + +%% this seems in the middle of nowhere... +\advance\columnsep6pt + +%%%%%%%%%% +%% macros to give hyperref link to authors when orcid numbers +%% are supplied with \author[0000-2345-3333-0023]{author name} + \def\lookforbracket{\ifx\next[\let\go\xauthor + \else\let\go\yauthor\fi\go} + +\def\author{\futurelet\next\lookforbracket} + +\def\new@author@def#1#2{% + \move@AU\move@AF\move@AUAF + \let\@AF@join\@author@join + \def\@author{{\href{http://orcid.org/#1}{#2}}{}}% +}% + +\def\orciderrormessage{ +\typeout{^^J^^J [\firstarg]\space Invalid ORCID Identifier!^^J^^J The ID +should consist of +four sets of four digits,^^J separated with -, ie, +0000-0012-3245-1234 or ^^J +0000-0012-3245-123X +^^J^^J +Please fix, or don't use square bracket argument with +\string\author[]\string{\string} +^^J^^J} +} + +%% Tests to see if author gave reasonable Orcid number; +%% if not, stops processing and gives error message. +\newif\ifbadOrcid +\def\lookatOrcid #1-#2-#3-#4-{ +\def\one{#1}\def\two{#2}\def\three{#3}\def\four{#4} +\ifx\one\empty +\global\badOrcidtrue +\else +\ifx\two\empty +\global\badOrcidtrue +\else +\ifx\three\empty +\global\badOrcidtrue +\else +\ifx\four\empty +\global\badOrcidtrue +\fi\fi\fi\fi +} + +\def\lookforDigits #1#2#3#4{ +\def\xone{#1}\def\xtwo{#2}\def\xthree{#3}\def\xfour{#4} +%% +\ifx\xone\empty +\global\badOrcidtrue +\else + \ifcat \xone 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xtwo\empty +\global\badOrcidtrue +\else + \ifcat \xtwo 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xthree\empty +\global\badOrcidtrue +\else + \ifcat \xthree 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xfour\empty +\global\badOrcidtrue +\else + \ifcat \xfour 1\else + \global\badOrcidtrue\fi +\fi +} + +\def\FinallookforDigits #1#2#3#4{ +\def\xone{#1}\def\xtwo{#2}\def\xthree{#3}\def\xfour{#4} +%% +\ifx\xone\empty +\global\badOrcidtrue +\else + \ifcat \xone 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xtwo\empty +\global\badOrcidtrue +\else + \ifcat \xtwo 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xthree\empty +\global\badOrcidtrue +\else + \ifcat \xthree 1\else + \global\badOrcidtrue\fi +\fi +%%% +\ifx\xfour\empty +\global\badOrcidtrue +\else + \ifcat \xfour 1\else + \if\xfour X + \else + \global\badOrcidtrue\fi + \fi +\fi +} + + + + + +%% Last digit might be X +\def\xauthor[#1]#2{\def\testone{#1-}\def\firstarg{#1} +\setbox0=\hbox{\expandafter\lookatOrcid\testone {}-{}-{}-{}- +\expandafter\lookforDigits\one {}{}{}{} +\expandafter\lookforDigits\two {}{}{}{} +\expandafter\lookforDigits\three {}{}{}{} +\expandafter\FinallookforDigits\four {}{}{}{}} +%% +\ifbadOrcid\let\go\orciderrormessage +\else\let\go\relax\fi\go +\ifbadOrcid\let\go\stop\else\let\go\relax\fi\go +\new@author@def{#1}{#2}} + +\def\yauthor{\@author@def{}} + +\def\altaffilmark#1{\typeout{^^J^^J\string\altaffilmark\space is no longer +needed. It will not do anything.^^J Please use +\string\altaffiliation\string{\string} instead.^^J^^J}\stop} + +\def\altaffiltext#1{\typeout{^^J^^J\string\altaffiltext\space is no longer +needed. It will not do anything.^^J Please use +\string\altaffiliation\string{\string} instead.^^J^^J}\stop} + + + + + +%% We do not need \and in list of authors. It is taken care of +%% automatically. Below is the definition from revtex4-1: +% +%\renewcommand\frontmatter@and{\class@err{\protect\and\space is not +% supported}} + +\newcount\AuthorCollaborationLimit +\let\AuthorCallLimit\AuthorCollaborationLimit +%% no limit for default +\AuthorCollaborationLimit=100 +\newcount\largestAffilNum + +\def\lookfornumbers#1#2#3#4#5#6#7#8#9{\def\one{#1} +\def\two{#2} +\def\three{#3} +\def\four{#4} +\def\five{#5} +\def\six{#6} +\def\seven{#7} +\def\eight{#8} +\def\nine{#9} +\ifnum\one>\largestAffilNum +\global\largestAffilNum=\one\fi +%%% +\ifx\two\empty\else +\ifnum\two>\largestAffilNum +\global\largestAffilNum=\two\fi\fi +%%% +\ifx\three\empty\else +\ifnum\three>\largestAffilNum +\global\largestAffilNum=\three\fi\fi +%%% +\ifx\four\empty\else +\ifnum\four>\largestAffilNum +\global\largestAffilNum=\four\fi\fi +%%% +\ifx\five\empty\else +\ifnum\five>\largestAffilNum +\global\largestAffilNum=\five\fi\fi +%%% +\ifx\six\empty\else +\ifnum\six>\largestAffilNum +\global\largestAffilNum=\six\fi\fi +%%% +\ifx\seven\empty\else +\ifnum\seven>\largestAffilNum +\global\largestAffilNum=\seven\fi\fi +%%% +\ifx\eight\empty\else +\ifnum\eight>\largestAffilNum +\global\largestAffilNum=\eight\fi\fi +%%% +\ifx\nine\empty\else +\ifnum\nine>\largestAffilNum +\global\largestAffilNum=\nine\fi\fi +} +\newcount\countauthors + + +\gdef\newcomma@space{\hskip-3pt\textsuperscript{,}}% + +\def\doEtAl{\rm et al.\gdef\doEtAl{\relax}} + +\def\doauthor#1#2#3{% +\iflongauthor\vskip6pt\fi +\global\advance\countauthors by 1 +\ifnum\countauthors>\AuthorCollaborationLimit +\doEtAl +\else +\ifnum\AuthorCollaborationLimit=1 +\let\@listand\relax +\fi + \ignorespaces\leavevmode\hbox{#1\unskip\@listcomma}% nice, keeps name from breaking across lines +\fi + \begingroup +\ifnum\countauthors>\AuthorCollaborationLimit\else + #3% all affil numbers +\ifx\@affilID@temp\empty +\else% +\setbox0=\hbox{\expandafter\lookfornumbers\@affilID@temp{}{}{}{}{}{}{}{}{}}% +\fi\fi +%% #2= \altaffiliation{} or \email{} or possibly anything other than author, affiliation, or collaboration +%%\endgroup{}{} %%this works. + \@if@empty{#2}{\endgroup{}{}} +{\ifnum\countauthors>\AuthorCollaborationLimit\else +\endgroup{\comma@space}{}\frontmatter@footnote{#2}\fi}% +\ifnum\countauthors>\AuthorCollaborationLimit\else \space \@listand\fi +}% + +\def\xxxdoauthor#1#2#3{% +\iflongauthor\vskip12pt\fi +\global\advance\countauthors by 1 +\ifnum\countauthors>\AuthorCollaborationLimit +\iflongauthor\vskip6pt\fi +\doEtAl +\else +\ifnum\AuthorCollaborationLimit=\countauthors +\iflongauthor\vskip6pt\fi +\let\@listand\relax +\fi + \ignorespaces\leavevmode\hbox{#1\unskip\@listcomma}% nice, keeps name from breaking across lines +\fi + \begingroup +\ifnum\countauthors>\AuthorCollaborationLimit\else +%% author names: + #3% +%all affil numbers: +\ifx\@affilID@temp\empty +\else% +\setbox0=\hbox{\expandafter\lookfornumbers\@affilID@temp{}{}{}{}{}{}{}{}{}}% +\fi\fi +%% #2= \altaffiliation{} or \email{} or possibly anything other than author, affiliation, or collaboration +%%\endgroup{}{} + \@if@empty{#2}{\endgroup{}{}} +{\ifnum\countauthors>\AuthorCollaborationLimit\else +\endgroup{\comma@space}{}\frontmatter@footnote{#2}\fi}% +\ifnum\countauthors>\AuthorCollaborationLimit\else \space \@listand\fi +}% + + +%%% +%% set \affil to match \affiliation found in revtex, since authors are accustomed to using \affil{} +\let\affil\affiliation + +\newif\iffirstaffil +\firstaffiltrue + +\def\@affil@script#1#2#3#4{% +%\ifmodern +\iffirstaffil +\global\firstaffilfalse\fi%\fi + \@ifnum{#1=\z@}{}{% + \par + \begingroup + \frontmatter@affiliationfont + \@ifnum{\c@affil<\affil@cutoff}{}{% +\def\one{#1} +\ifnum\one<\largestAffilNum +%% this makes the numbers + \def\@thefnmark{#1}\@makefnmark\fi +\ifnum\one=\largestAffilNum + \def\@thefnmark{#1}\@makefnmark\fi + }% +% this makes the text +\ifnum\one<\largestAffilNum + \ignorespaces#3% +\fi +\ifnum\one=\largestAffilNum + \ignorespaces#3% +\fi + \@if@empty{#4}{}{\frontmatter@footnote{#4}}% + \par + \endgroup + }% +}% + +\def\frontmatter@maketitle{% +\@author@finish +\if@firstsection + \title@column\titleblock@produce +\onecolumngrid +\else +% +\global\firstaffiltrue + \title@column\secondtitleblock@produce +\fi + \suppressfloats[t]% +%% Prevent these from being turned off so that +%% we can use \maketitle again for \AllAuthors. +%% +% \let\and\relax + \let\affiliation\@gobble + \let\author\@gobble +% \let\@AAC@list\@empty +% \let\@AFF@list\@empty +% \let\@AFG@list\@empty +% \let\@AF@join\@AF@join@error +% \let\email\@gobble +% \let\@address\@empty +% \let\maketitle\relax +% \let\thanks\@gobble +\if@firstsection + \let\abstract\@undefined\let\endabstract\@undefined + \titlepage@sw{% + % LSST DESC Notes have first section right after title page material - well, after a little bit of space: + % \vfil + % \clearpage + \vspace{2\baselineskip} + }{}% +\fi +}% + +\let\maketitle\frontmatter@maketitle + +\def\secondtitleblock@produce{% + \begingroup + \ltx@footnote@pop + \def\@mpfn{footnote}% + \def\thempfn{\thefootnote}% + \c@footnote\z@ + \let\@makefnmark\frontmatter@makefnmark +% \frontmatter@setup + \thispagestyle{titlepage}%\label{FirstPage}% +% \frontmatter@title@produce + \groupauthors@sw{% + \frontmatter@author@produce@group + }{% + \frontmatter@author@produce@script + }% + \endgroup +}% + + +\def\allauthors{%% this conditional keeps \allauthors from turning on +%% unless \AuthorCollaborationLimit is used: +\ifnum\AuthorCollaborationLimit>0 +\ifnumlines\nolinenumbers\fi +\onecolumngrid +\clearpage +\AuthorCollaborationLimit=100 +\largestAffilNum=100 +{\vskip6pt\vskip1sp\centerline{\large\bf All Authors and +Affiliations\vrule depth 18pt width0pt}\nobreak +\maketitle +\fi +}} + +\let\AllAuthors\allauthors + +%% no club or widow lines +\widowpenalty=10000 +\clubpenalty\widowpenalty +\setlength{\footnotesep}{8pt} + +\ifmodern +\setlength{\voffset}{0in} +\setlength{\hoffset}{0in} +\setlength{\textwidth}{6in} +\setlength{\textheight}{9.2in} +\setlength{\headheight}{0ex} +\setlength{\headsep}{36pt} % this is 2 lines in ``manuscript'' +\setlength{\footnotesep}{0in} +\setlength{\topmargin}{-\headsep} +\setlength{\oddsidemargin}{0.25in} +\setlength{\evensidemargin}{0.25in} +% LSST DESC Notes don't have indented paragraphs: +% \setlength{\parindent}{0.54\baselineskip} +\setlength{\parindent}{0in} +% But LSST DESC Notes do have well-separated paragraphs: +\setlength{\parsep}{\baselineskip} +\setlength{\parskip}{\baselineskip} +\sloppy\sloppypar +\fi + + +\def\figurename{Figure} +\def\tablename{Table} +\def\fnum@figure{{\bf\figurename~\thefigure}} +\def\fnum@table{{\bf\tablename~\thetable}} + +\def\tempfootmark#1{} + +\newcount\c@affilcount + + \renewcommand*\altaffiliation[2][]{% + \@AF@join{#1#2\ifmodern\baselineskip=14pt\fi +}% + }% + +\def\correspondingauthor#1{{ +\renewcommand\thefootnote{\hskip-12pt} +\footnote{Corresponding author: #1\ifmodern\vrule depth 5pt +width 0pt\relax\fi}}} + +\let\saveemail\email +\def\email#1{{\let\ltx@footmark\tempfootmark +\saveemail{}} +{\renewcommand\thefootnote{\hskip-12.1pt} +\footnote{\href{mailto: #1}{#1}\ifmodern\vrule depth 7pt width +0pt\relax\else\ifmanu\vskip-4pt\else\vrule depth 7pt width 0pt\fi\fi}}} + + +\def\nocollaboration{% +\iflongauthor +\collaboration{\vbox to 0pt{\vss ---\vskip9pt}} +\else +\collaboration{\vbox to 0pt{\vss ---\vskip4pt}} +\fi +} + +%% gets rid of () around collaboration +\def\@collaboration@present#1#2#3#4{% +\par + \begingroup + \frontmatter@collaboration@above + \@affilID@def{}% + \@tempcnta\z@ + \@author@present{}{\ignorespaces#3\unskip}{#4}% + \par + \endgroup +\iflongauthor\vskip-6pt\else +\vskip6pt\fi + \set@listcomma@list#1% +}% + + +%% get rid of \jobname Notes being sent to .aux file: +% Commented out to avoid .bib cache creation (we hope): +% http://journals.aas.org/authors/aastex/linux.html +% \let\bibdata@app\relax +% \def\pre@bibdata{} + +\def\frontmatter@author@produce@script{% + \begingroup + \let\@author@present\@author@present@script + \frontmatterverbose@sw{\typeout{\string\frontmatter@author@produce@script:}\say\@AAC@list\say\@AFF@list\say\@AFG@list}{}% + \let\AU@temp\@empty + \@tempcnta\z@ + \let\AF@opr \@gobble + \def\AU@opr{\@author@count\@tempcnta}% + \def\CO@opr{\@collaboration@count\AU@temp\@tempcnta}% + \@AAC@list + \expandafter\CO@opr\@author@cleared + \begingroup + \frontmatter@authorformat + \let\AF@opr \@affilID@def + \let\AU@opr \@author@present + \def\CO@opr{\@collaboration@present\AU@temp}% + \set@listcomma@list\AU@temp + \@AAC@list +%% \, added to definition taken from revtex4-1 to prevent error message. +\, \unskip\unskip + \par + \endgroup + \begingroup + \frontmatter@above@affiliation@script + \let\AFF@opr \@affil@script + \@AFF@list + \frontmatter@footnote@produce + \par + \endgroup + \endgroup +}% + +\let\auto@bib\relax + +\newif\iffirstaffil +\firstaffiltrue + +%% These commands were in aastex earlier; I redefined. +\def\tighten{\global\tightentrue\normalsize} +\let\tightenlines=\tighten +\def\singlespace{\par\global\doublespacefalse\global\tightenfalse\normalsize} +\def\doublespace{\par\global\doublespacetrue\global\tightenfalse\normalsize} + +\bibliographystyle{aasjournal} + +\endinput + +%% Change Log +September 21, 2016 +Finishing Version 6.1 update + +===================== +August 27, 2016 +Many changes + +===================== +August 17 +Many changes: + +%% note: +%% this keeps tables from being set to \small, code used in Revtex4-1 +\let\table@hook\relax + +===================== +Feb 29, changes to table macros to center caption even if table is wider than +width of text; give error message if user asks to rotate table but +forgets to use \floattable before table; make rotating table be full +text width even if called for in double columns. + +March 1, reworking figure and table numbering for appendices. +Deleted recent definition of \appendix, returned to earlier version +with additions. + +================ +%% diff --git a/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/mnras.cls b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/mnras.cls new file mode 100644 index 0000000..6f090b9 --- /dev/null +++ b/doc/LSST_DESC_Notes/desc-0000-twinkles-1-sl-pop/texmf/styles/mnras.cls @@ -0,0 +1,1811 @@ +% +% mnras.cls +% +% MNRAS journal document class file +% v3.0 for LaTeX 2e +% +% Copyright (C) Royal Astronomical Society 2015, Blackwell Science 2001, +% Cambridge University Press 1994 +% +% Authors: +% David Rhead, Springer Verlag, M. Reed, Sue Brooks, Alison Woollatt, +% Mark Reed, Nadine Thompson, John Thompson, David Evans, Keith T. Smith, +% Norman Gray +% +% For a full change log see the end of this file. +% See mnras_guide for a user guide +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `author-maintained'. +% +% The Current Maintainer of this work is: Royal Astronomical Society, +% MNRAS Editorial Office, who can be contacted on mn@ras.org.uk +% +% This work consists of all the files listed in readme.txt + + +% Preamble to this style file + +\def\@version{3.0} +\def\@releasedate{2015/05/22} + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{mnras}[\@releasedate\ v\@version\ LaTeX2e MNRAS document class] + +\typeout{MNRAS document style v\@version, released \@releasedate} + +% Journals use two-sided printing. +% +\@twosidetrue +\@twocolumntrue +\@mparswitchtrue +\def\ds@draft{\overfullrule 5pt} +\def\ds@twocolumn{\@twocolumntrue} +\def\ds@onecolumn{\@twocolumnfalse} + +% letters option +% +\newif\if@letters +\def\ds@letters{\@letterstrue} + +% landscape option +% +\newif\ifSFB@landscape +\def\ds@landscape{\SFB@landscapetrue} + +% galley option +% +\newif\ifSFB@galley +\def\ds@galley{\SFB@galleytrue} + +% usenatbib option +% +\newif\if@usenatbib +\def\ds@usenatbib{\@usenatbibtrue} + +% usedcolumn option +% +\newif\if@usedcolumn +\def\ds@usedcolumn{\@usedcolumntrue} + +% usegraphicx option +\newif\if@usegraphicx +\def\ds@usegraphicx{\@usegraphicxtrue\usepackage{graphicx}} + +% referee option +% +\newif\ifSFB@referee +\def\ds@referee{% + \SFB@refereetrue + \@twocolumnfalse +} +\newif\ifdoublesp@cing +\def\ds@doublespacing{% + \doublesp@cingtrue +}% +%%% +%%% NHT: New AMS fonts option +%%% +\newif\ifNHT@useAMS +\def\ds@useAMS{\NHT@useAMStrue} +% + +% Prevent fleqn throwing an 'unknown option' warning +\newif\if@fleqn +\def\ds@fleqn{\@fleqntrue} + +% Silently execute these options. I'm not convinced this actually does anything. +\ExecuteOptions{a4paper,twoside,final,fleqn} + +% Throw warning if the user tries to use US Letter paper +\newif\if@letterpaper +\def\ds@letterpaper{\PackageWarning{mnras}{MNRAS uses A4 paper, option 'letterpaper' is ignored}} + +% Error message for unknown options +\DeclareOption*{\PackageWarning{mnras}{Unknown option `\CurrentOption'}} + +\ProcessOptions\relax + +% Before we do anything else with layout, ensure that the paper is A4 +\usepackage[a4paper]{geometry} + +% Fix several errors with LaTeX2e, including 2-column floats out of order +\usepackage{fixltx2e} + +% Include hyperref, so we can have clickable links +\usepackage{hyperref} % Hyperlinks +\hypersetup{colorlinks=true,linkcolor=blue,citecolor=blue,filecolor=blue,urlcolor=blue} + +% +% **************************************** +% * Font sizes * +% **************************************** +% Note these are misleadingly named - most text is not in \normalsize etc. + +\lineskip 1pt +\normallineskip 1pt +\ifSFB@referee + \def\baselinestretch{1.5} +\else + \ifdoublesp@cing + \def\baselinestretch{2} +\else + \def\baselinestretch{1} +\fi\fi +\if@twocolumn + \renewcommand\normalsize{\@setfontsize\normalsize\@ixpt{11}% + \abovedisplayskip 6pt plus 2pt minus 2pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 6pt plus 2pt + \belowdisplayshortskip \abovedisplayshortskip + \let\@listi\@listI} + \else + \ifSFB@referee + \renewcommand\normalsize{\@setfontsize\normalsize\@xiipt{14}% + \abovedisplayskip 4pt plus 1pt minus 1pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 4pt plus 1pt + \belowdisplayshortskip \abovedisplayshortskip + \let\@listi\@listI} + \else + \renewcommand\normalsize{\@setfontsize\normalsize\@ixpt{12}% + \abovedisplayskip 4pt plus 1pt minus 1pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 4pt plus 1pt + \belowdisplayshortskip \abovedisplayshortskip + \let\@listi\@listI} + \fi +\fi +\newcommand\small{\@setfontsize\small\@viiipt{10}% + \abovedisplayskip 4pt plus 1pt minus 1pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 4pt plus 1pt + \belowdisplayshortskip \abovedisplayshortskip + \def\@listi{\leftmargin\leftmargini + \topsep 2pt plus 1pt minus 1pt + \parsep \z@ + \itemsep 2pt}} +\newcommand\footnotesize{\@setfontsize\footnotesize\@viiipt{10}% + \abovedisplayskip 4pt plus 1pt minus 1pt + \belowdisplayskip \abovedisplayskip + \abovedisplayshortskip 4pt plus 1pt + \belowdisplayshortskip \abovedisplayshortskip + \renewcommand\@listi{\leftmargin\leftmargini + \topsep 2pt plus 1pt minus 1pt + \parsep \z@ + \itemsep 2pt}} +\newcommand\scriptsize{\@setfontsize\scriptsize\@vipt{8}} +\newcommand\tiny{\@setfontsize\tiny\@vpt{6}} +% +\if@twocolumn + \newcommand\large{\@setfontsize\large\@xpt{11}} + \else + \newcommand\large{\@setfontsize\large\@xpt{12}} + \fi +\newcommand\Large{\@setfontsize\Large\@xiipt{14}} +\newcommand\LARGE{\@setfontsize\LARGE\@xivpt{17}} +\newcommand\huge{\@setfontsize\huge\@xviipt{20}} +\newcommand\Huge{\@setfontsize\Huge\@xxpt{25}} +% +\newcommand\sevensize{\@setfontsize\sevensize\@viipt{8}} +% +\normalsize + +%%%%%%%%%%%%%%%%%%%%%%%% Extra Math / Symbol code %%%%%%%%%%%%%%%%%%%%%%%% + + \newcommand{\rmn}[1]{{\mathrm{#1}}} + \newcommand{\itl}[1]{{\mathit{#1}}} + \newcommand{\bld}[1]{{\mathbf{#1}}} + +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand\cal{\@fontswitch{\relax}{\mathcal}} +\DeclareRobustCommand\mit{\@fontswitch{\relax}{\mathchoice}} +% + +\def\hexnumber#1{\ifcase#1 0\or1\or2\or3\or4\or5\or6\or7% + \or8\or9\or A\or B\or C\or D\or E\or F\fi} + +\def\setboxz@h{\setbox\z@\hbox} +\def\wdz@{\wd\z@} +\def\boxz@{\box\z@} +\def\setbox@ne{\setbox\@ne} +\def\wd@ne{\wd\@ne} + +\def\math@atom#1#2{% + \binrel@{#1}\binrel@@{#2}} +\def\binrel@#1{\setboxz@h{\thinmuskip0mu + \medmuskip\m@ne mu\thickmuskip\@ne mu$#1\m@th$}% + \setbox@ne\hbox{\thinmuskip0mu\medmuskip\m@ne mu\thickmuskip + \@ne mu${}#1{}\m@th$}% + \setbox\tw@\hbox{\hskip\wd@ne\hskip-\wdz@}} +\def\binrel@@#1{\ifdim\wd2<\z@\mathbin{#1}\else\ifdim\wd\tw@>\z@ + \mathrel{#1}\else{#1}\fi\fi} + +% These must be here because \newif and \newtoks are defined \outer. +\newif\iffirstta +\newtoks\math@groups +\newif\ifd@f + + +% Make these do nothing (for backwards compatibility} +\let\loadboldmathitalic=\relax +\let\loadboldgreek=\relax + +% font definitions for NFSS release 2 + +\newcommand{\textbfit}[1]{\textbf{\textit{#1}}} +\newcommand{\mathbfit}[1]{\textbf{\textit{#1}}} +\newcommand{\textbfss}[1]{\textbf{\textsf{#1}}} +\newcommand{\mathbfss}[1]{\textbf{\textsf{#1}}} + + % + \def\mathch{\protect\p@mathch} + \def\p@mathch#1#2{% + \begingroup + \let\@nomath\@gobble \mathversion{#1}% + \math@atom{#2}{% + \mathchoice% + {\hbox{$\m@th\displaystyle#2$}}% + {\hbox{$\m@th\textstyle#2$}}% + {\hbox{$\m@th\scriptstyle#2$}}% + {\hbox{$\m@th\scriptscriptstyle#2$}}}% + \endgroup} + % + \def\bmath{\protect\p@boldm} + \def\p@boldm#1{\mathch{bold}{#1}} +% + + \let\mit=\mathnormal + % + % The following is needed because NFSS release 2 + % does not define the bold + % math symbol font to be available! + % + \SetSymbolFont{symbols}{bold}{OMS}{cmsy}{b}{n} + % + \DeclareSymbolFont{bmisymbols}{OML}{cmm}{b}{it} + \DeclareMathSymbol{\balpha}{0}{bmisymbols}{"0B} + \DeclareMathSymbol{\bbeta}{0}{bmisymbols}{"0C} + \DeclareMathSymbol{\bgamma}{0}{bmisymbols}{"0D} + \DeclareMathSymbol{\bdelta}{0}{bmisymbols}{"0E} + \DeclareMathSymbol{\bepsilon}{0}{bmisymbols}{"0F} + \DeclareMathSymbol{\bzeta}{0}{bmisymbols}{"10} + \DeclareMathSymbol{\boldeta}{0}{bmisymbols}{"11} + \DeclareMathSymbol{\btheta}{0}{bmisymbols}{"12} + \DeclareMathSymbol{\biota}{0}{bmisymbols}{"13} + \DeclareMathSymbol{\bkappa}{0}{bmisymbols}{"14} + \DeclareMathSymbol{\blambda}{0}{bmisymbols}{"15} + \DeclareMathSymbol{\bmu}{0}{bmisymbols}{"16} + \DeclareMathSymbol{\bnu}{0}{bmisymbols}{"17} + \DeclareMathSymbol{\bxi}{0}{bmisymbols}{"18} + \DeclareMathSymbol{\bpi}{0}{bmisymbols}{"19} + \DeclareMathSymbol{\brho}{0}{bmisymbols}{"1A} + \DeclareMathSymbol{\bsigma}{0}{bmisymbols}{"1B} + \DeclareMathSymbol{\btau}{0}{bmisymbols}{"1C} + \DeclareMathSymbol{\bupsilon}{0}{bmisymbols}{"1D} + \DeclareMathSymbol{\bphi}{0}{bmisymbols}{"1E} + \DeclareMathSymbol{\bchi}{0}{bmisymbols}{"1F} + \DeclareMathSymbol{\bpsi}{0}{bmisymbols}{"20} + \DeclareMathSymbol{\bomega}{0}{bmisymbols}{"21} + \DeclareMathSymbol{\bvarepsilon}{0}{bmisymbols}{"22} + \DeclareMathSymbol{\bvartheta}{0}{bmisymbols}{"23} + \DeclareMathSymbol{\bvarpi}{0}{bmisymbols}{"24} + \DeclareMathSymbol{\bvarrho}{0}{bmisymbols}{"25} + \DeclareMathSymbol{\bvarsigma}{0}{bmisymbols}{"26} + \DeclareMathSymbol{\bvarphi}{0}{bmisymbols}{"27} + % + +%% Define font shapes for Euler upright Math +\ifNHT@useAMS + \DeclareSymbolFont{UPM}{U}{eur}{m}{n} + \SetSymbolFont{UPM}{bold}{U}{eur}{b}{n} + \DeclareSymbolFont{AMSa}{U}{msa}{m}{n} + \DeclareMathSymbol{\upi}{0}{UPM}{"19} + \DeclareMathSymbol{\umu}{0}{UPM}{"16} + \DeclareMathSymbol{\upartial}{0}{UPM}{"40} + \DeclareMathSymbol{\leqslant}{3}{AMSa}{"36} + \DeclareMathSymbol{\geqslant}{3}{AMSa}{"3E} + \DeclareMathSymbol{\la}{3}{AMSa}{46} + \DeclareMathSymbol{\ga}{3}{AMSa}{38} + % + \let\oldle=\le \let\oldleq=\leq + \let\oldge=\ge \let\oldgeq=\geq + \let\leq=\leqslant \let\le=\leqslant + \let\geq=\geqslant \let\ge=\geqslant + +\else + \newcommand{\upi}{\pi} + \newcommand{\umu}{\mu} + \newcommand{\upartial}{\partial} + \newcommand{\la}{\,\rlap{\raise 0.5ex\hbox{$<$}}{\lower 1.0ex\hbox{$\sim$}}\,} + \newcommand{\ga}{\,\rlap{\raise 0.5ex\hbox{$>$}}{\lower 1.0ex\hbox{$\sim$}}\,} + +\fi + +% Astronomy and Astrophysics symbol macros + +\newcommand\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip +\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr\gets\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr\gets +\cr\to\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +\gets\cr\to\cr}}}}} + +\newcommand\cor{\mathrel{\mathchoice {\hbox{$\widehat=$}}{\hbox{$\widehat=$}} +{\hbox{$\reset@font\scriptstyle\hat=$}} +{\hbox{$\reset@font\scriptscriptstyle\hat=$}}}} + +\newcommand\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr<\cr +\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr<\cr +\noalign{\vskip1pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +<\cr +\noalign{\vskip0.9pt}=\cr}}}}} + +\newcommand\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr>\cr +\noalign{\vskip1.2pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr>\cr +\noalign{\vskip1pt}=\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +>\cr +\noalign{\vskip0.9pt}=\cr}}}}} + +\newcommand\sol{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr\sim\cr<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr\sim\cr +<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr\sim\cr +<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +\sim\cr<\cr}}}}} + +\newcommand\sog{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr\sim\cr>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr\sim\cr +>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +\sim\cr>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +\sim\cr>\cr}}}}} + +\newcommand\lse{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr<\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +<\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +<\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +<\cr\simeq\cr}}}}} + +\newcommand\gse{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr>\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +>\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +>\cr\simeq\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +>\cr\simeq\cr}}}}} + +\newcommand\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1.5pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +>\cr\noalign{\vskip-1.5pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +>\cr\noalign{\vskip-1pt}<\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +>\cr\noalign{\vskip-0.5pt}<\cr}}}}} + +\newcommand\leogr{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr<\cr\noalign{\vskip-1.5pt}>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +<\cr\noalign{\vskip-1.5pt}>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +<\cr\noalign{\vskip-1pt}>\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +<\cr\noalign{\vskip-0.5pt}>\cr}}}}} + +\newcommand\loa{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr<\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +<\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +<\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +<\cr\approx\cr}}}}} + +\newcommand\goa{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil +$\reset@font\displaystyle##$\hfil\cr>\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\textstyle##$\hfil\cr +>\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptstyle##$\hfil\cr +>\cr\approx\cr}}} +{\vcenter{\offinterlineskip\halign{\hfil$\reset@font\scriptscriptstyle##$\hfil\cr +>\cr\approx\cr}}}}} + +\newcommand\sun{\hbox{$\odot$}} +\newcommand\earth{\hbox{$\oplus$}} +\newcommand\degr{\hbox{$^\circ$}} +\newcommand\diameter{{\ifmmode\mathchoice +{\ooalign{\hfil\hbox{$\reset@font\displaystyle/$}\hfil\crcr +{\hbox{$\reset@font\displaystyle\mathchar"20D$}}}} +{\ooalign{\hfil\hbox{$\reset@font\textstyle/$}\hfil\crcr +{\hbox{$\reset@font\textstyle\mathchar"20D$}}}} +{\ooalign{\hfil\hbox{$\reset@font\scriptstyle/$}\hfil\crcr +{\hbox{$\reset@font\scriptstyle\mathchar"20D$}}}} +{\ooalign{\hfil\hbox{$\reset@font\scriptscriptstyle/$}\hfil\crcr +{\hbox{$\reset@font\scriptscriptstyle\mathchar"20D$}}}} +\else{\ooalign{\hfil/\hfil\crcr\mathhexbox20D}}% +\fi}} + +\newcommand\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}} + +\newcommand{\romn}[1] {{\mathrm #1}} + +\newcommand\fd{\hbox{$.\!\!^{\reset@font\romn d}$}} +\newcommand\fh{\hbox{$.\!\!^{\reset@font\romn h}$}} +\newcommand\fm{\hbox{$.\!\!^{\reset@font\romn m}$}} +\newcommand\fs{\hbox{$.\!\!^{\reset@font\romn s}$}} +\newcommand\fdg{\hbox{$.\!\!^\circ$}} +\newcommand\farcm{\hbox{$.\mkern-4mu^\prime$}} +\newcommand\farcs{\hbox{$.\!\!^{\prime\prime}$}} +\newcommand\fp{\hbox{$.\!\!^{\reset@font\reset@font\scriptscriptstyle\romn p}$}} +\newcommand\arcmin{\hbox{$^\prime$}} +\newcommand\arcsec{\hbox{$^{\prime\prime}$}} + +\newcommand\micron{\hbox{$\umu$m}} +\newcommand\ion[2]{\text{#1\,\textsc{\lowercase{#2}}}} % ionization states + +% Standard journal abbreviations +% Mostly as used by ADS, with a few additions for journals where MNRAS does not +% follow normal IAU style. + +\newcommand\aap{A\&A} % Astronomy and Astrophysics +\let\astap=\aap % alternative shortcut +\newcommand\aapr{A\&ARv} % Astronomy and Astrophysics Review (the) +\newcommand\aaps{A\&AS} % Astronomy and Astrophysics Supplement Series +\newcommand\actaa{Acta Astron.} % Acta Astronomica +\newcommand\afz{Afz} % Astrofizika +\newcommand\aj{AJ} % Astronomical Journal (the) +\newcommand\ao{Appl. Opt.} % Applied Optics +\let\applopt=\ao % alternative shortcut +\newcommand\aplett{Astrophys.~Lett.} % Astrophysics Letters +\newcommand\apj{ApJ} % Astrophysical Journal +\newcommand\apjl{ApJ} % Astrophysical Journal, Letters +\let\apjlett=\apjl % alternative shortcut +\newcommand\apjs{ApJS} % Astrophysical Journal, Supplement +\let\apjsupp=\apjs % alternative shortcut +% The following journal does not appear to exist! Disabled. +%\newcommand\apspr{Astrophys.~Space~Phys.~Res.} % Astrophysics Space Physics Research +\newcommand\apss{Ap\&SS} % Astrophysics and Space Science +\newcommand\araa{ARA\&A} % Annual Review of Astronomy and Astrophysics +\newcommand\arep{Astron. Rep.} % Astronomy Reports +\newcommand\aspc{ASP Conf. Ser.} % ASP Conference Series +\newcommand\azh{Azh} % Astronomicheskii Zhurnal +\newcommand\baas{BAAS} % Bulletin of the American Astronomical Society +\newcommand\bac{Bull. Astron. Inst. Czechoslovakia} % Bulletin of the Astronomical Institutes of Czechoslovakia +\newcommand\bain{Bull. Astron. Inst. Netherlands} % Bulletin Astronomical Institute of the Netherlands +\newcommand\caa{Chinese Astron. Astrophys.} % Chinese Astronomy and Astrophysics +\newcommand\cjaa{Chinese J.~Astron. Astrophys.} % Chinese Journal of Astronomy and Astrophysics +\newcommand\fcp{Fundamentals Cosmic Phys.} % Fundamentals of Cosmic Physics +\newcommand\gca{Geochimica Cosmochimica Acta} % Geochimica Cosmochimica Acta +\newcommand\grl{Geophys. Res. Lett.} % Geophysics Research Letters +\newcommand\iaucirc{IAU~Circ.} % IAU Cirulars +\newcommand\icarus{Icarus} % Icarus +\newcommand\japa{J.~Astrophys. Astron.} % Journal of Astrophysics and Astronomy +\newcommand\jcap{J.~Cosmology Astropart. Phys.} % Journal of Cosmology and Astroparticle Physics +\newcommand\jcp{J.~Chem.~Phys.} % Journal of Chemical Physics +\newcommand\jgr{J.~Geophys.~Res.} % Journal of Geophysics Research +\newcommand\jqsrt{J.~Quant. Spectrosc. Radiative Transfer} % Journal of Quantitiative Spectroscopy and Radiative Transfer +\newcommand\jrasc{J.~R.~Astron. Soc. Canada} % Journal of the RAS of Canada +\newcommand\memras{Mem.~RAS} % Memoirs of the RAS +\newcommand\memsai{Mem. Soc. Astron. Italiana} % Memoire della Societa Astronomica Italiana +\newcommand\mnassa{MNASSA} % Monthly Notes of the Astronomical Society of Southern Africa +\newcommand\mnras{MNRAS} % Monthly Notices of the Royal Astronomical Society +\newcommand\na{New~Astron.} % New Astronomy +\newcommand\nar{New~Astron.~Rev.} % New Astronomy Review +\newcommand\nat{Nature} % Nature +\newcommand\nphysa{Nuclear Phys.~A} % Nuclear Physics A +\newcommand\pra{Phys. Rev.~A} % Physical Review A: General Physics +\newcommand\prb{Phys. Rev.~B} % Physical Review B: Solid State +\newcommand\prc{Phys. Rev.~C} % Physical Review C +\newcommand\prd{Phys. Rev.~D} % Physical Review D +\newcommand\pre{Phys. Rev.~E} % Physical Review E +\newcommand\prl{Phys. Rev.~Lett.} % Physical Review Letters +\newcommand\pasa{Publ. Astron. Soc. Australia} % Publications of the Astronomical Society of Australia +\newcommand\pasp{PASP} % Publications of the Astronomical Society of the Pacific +\newcommand\pasj{PASJ} % Publications of the Astronomical Society of Japan +\newcommand\physrep{Phys.~Rep.} % Physics Reports +\newcommand\physscr{Phys.~Scr.} % Physica Scripta +\newcommand\planss{Planet. Space~Sci.} % Planetary Space Science +\newcommand\procspie{Proc.~SPIE} % Proceedings of the Society of Photo-Optical Instrumentation Engineers +\newcommand\rmxaa{Rev. Mex. Astron. Astrofis.} % Revista Mexicana de Astronomia y Astrofisica +\newcommand\qjras{QJRAS} % Quarterly Journal of the RAS +\newcommand\sci{Science} % Science +\newcommand\skytel{Sky \& Telesc.} % Sky and Telescope +\newcommand\solphys{Sol.~Phys.} % Solar Physics +\newcommand\sovast{Soviet~Ast.} % Soviet Astronomy (aka Astronomy Reports) +\newcommand\ssr{Space Sci. Rev.} % Space Science Reviews +\newcommand\zap{Z.~Astrophys.} % Zeitschrift fuer Astrophysik + +%%%Command to produce a box around selected text +%%%NB This is for use in the file mnras_guide only -- it is NOT +%%% to be used in the journal +\newcommand{\boxit}[1]{% + \noindent\fbox{% + \begin{minipage}[]{84mm}#1\end{minipage} + } +} + +%%%%%%%%%%%%%%%%%%%%% End of Extra Math / Symbol code %%%%%%%%%%%%%%%%%%%%% + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% SIDE MARGINS: +\if@twocolumn + \setlength\oddsidemargin{-2.5pc} + \setlength\evensidemargin{-2.5pc} +\else + \ifSFB@referee + \setlength\oddsidemargin{\z@} + \setlength\evensidemargin{\z@} + \else + \setlength\oddsidemargin{-2pc} + \setlength\evensidemargin{-2pc} + \fi +\fi +\setlength\marginparwidth{4pc} +\setlength\marginparsep{0.5pc} + +% VERTICAL SPACING: +%\if@twocolumn + \setlength\topmargin{-2pc} +%\else + \setlength\topmargin{\z@} +%\fi +\setlength{\headheight}{14pt} +\setlength{\headsep} {15pt} +\setlength{\topskip} {9pt} +\setlength{\footskip} {22pt} %was 26 pt +% +% DIMENSION OF TEXT: % SFB 0.1.01 +% +\newdimen\SFB@measure +\SFB@measure 42pc +% +\setlength\textheight{682pt} +\setlength\textwidth{\SFB@measure} +% +\ifSFB@landscape + \setlength\textwidth{\textheight} + \setlength\textheight{\SFB@measure} +\fi +\ifSFB@referee + \setlength\textwidth{39pc} +\fi +\setlength\columnsep{2pc} +\setlength\columnseprule{0pt} + +% FOOTNOTES: +\setlength\footnotesep{6pt} +\setlength\skip{\footins 19.5pt plus 12pt minus 1pt} + +% FLOATS: +\setlength\floatsep{ 12pt plus 5.5pt minus 1pt} +\setlength\textfloatsep{ 12pt plus 7.5pt} +\setlength\intextsep{ 12pt plus 5.5pt minus 2pt} +\setlength\dblfloatsep{ 12pt plus 5.5pt minus 2pt } +\setlength\dbltextfloatsep{ 15pt plus 4.5pt minus 3pt} +\setlength\@fptop{ 0pt plus 0fil} +\setlength\@fpsep{ 12pt plus 0fil } +\setlength\@fpbot{ 0pt plus 0fil } +\setlength\@dblfptop{ 0pt plus 0fil} +\setlength\@dblfpsep{ 12pt plus 0fil} +\setlength\@dblfpbot{ 0pt plus 0fil} +\setlength\marginparpush{ 5pt } + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +\newlength{\realparindent} % needed for abstract +\setlength\parskip{ \z@ plus .1pt } +\setlength\parindent{ 18pt } +\setlength{\realparindent}{\parindent} +\setlength\partopsep{ 0pt plus 1pt } +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\clubpenalty=0 +\widowpenalty=10000 + +% **************************************** +% * PARTS & SECTIONS NUMBERS * +% **************************************** +% +\newcounter {part} +\newcounter {section} +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] +\def\thepart {\arabic{part}} +\def\thesection {\arabic{section}} +\def\thesubsection {\thesection.\arabic{subsection}} +\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} +\def\theparagraph {\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph {\theparagraph.\arabic{subparagraph}} + +%%%Additional material below is from GJI class file +% Sometimes people want to number equations by section, rather than +% sequentially through the whole paper. + +% Removed - \numberwithin{equation}{section} already does this! + +% **************************************** +% * PARTS * +% **************************************** +% +\def\part{\par \addvspace{4ex}\@afterindentfalse + \secdef\@part\@spart} +\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{part} + \addcontentsline{toc}{part}{Part \thepart: #1} + \else \addcontentsline{toc}{part}{#1} + \fi + {\parindent 0pt \raggedright + \ifnum \c@secnumdepth >\m@ne + \reset@font\large\rm PART + \ifcase\thepart \or ONE \or TWO \or THREE \or FOUR \or FIVE + \or SIX \or SEVEN \or EIGHT \or NINE \or TEN \else \fi + \par \nobreak + \fi + \reset@font\LARGE \rm #2 \markboth{}{}\par } + \nobreak \vskip 3ex \@afterheading} +\def\@spart#1{{\parindent 0pt \raggedright + \reset@font\LARGE \rm #1\par} + \nobreak \vskip 3ex \@afterheading} + +% **************************************** +% * SECTIONS * +% **************************************** +% +% \@startsection modified to leave less space before \subsection +% if it immediately follows \section + +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} + +\newif\if@levelone + +\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifnum #2=\@ne % if level=1 ie. section + \global\@levelonetrue + \else + \global\@levelonefalse + \fi + \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi + \if@nobreak + \everypar{}\ifnum#2=2 \vskip 0pt plus1pt\fi % was 6pt + \else + \addpenalty{\@secpenalty}\addvspace{\@tempskipa} + \fi \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} + +\def\SFB@hangraggedright{\rightskip=\@flushglue \let\\=\@centercr \parindent=0pt} + +\newif\if@firstsection +\@firstsectiontrue +\def\section{% + \if@firstsection \fixfootnotes\@firstsectionfalse \fi% + \@startsection{section}{1}{\z@} + {-24pt plus -12pt minus -1pt}{6pt} + {\SFB@hangraggedright\reset@font\normalsize\bf}} +\def\subsection{\@startsection{subsection}{2}{\z@} + {-18pt plus -9pt minus -1pt}{6pt} + {\SFB@hangraggedright\reset@font\normalsize\bf}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {-18pt plus -9pt minus -1pt}{6pt} + {\SFB@hangraggedright\reset@font\normalsize\it}} +\def\paragraph{\@startsection{paragraph}{4}{\z@} + {12pt plus 2.25pt minus 1pt}{-0.5em}{\reset@font\normalsize\bf}} +\def\subparagraph{\@startsection{subparagraph}{5}{\parindent} + {12pt plus 2.25pt minus 1pt}{-0.5em}{\reset@font\normalsize\it}} +\setcounter{secnumdepth}{4} % SFB 0.1.01 +% +% \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[ARG1]{ARG2} +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \def\@svsec{}% + \else + \refstepcounter{#1}% + \if@levelone % is it a \section or \section* + \ifSFB@appendix + \edef\@svsec{}% + \else + \edef\@svsec{\csname the#1\endcsname\hskip 1em}% + \fi + \else + \edef\@svsec{\csname the#1\endcsname\hskip 1em}% + \fi + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup #6\relax + \if@levelone + \ifSFB@appendix + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + APPENDIX \csname the#1\endcsname:\hskip 0.5em\uppercase{#8}\par}% + \else + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M + \uppercase{#8}\par}% + \fi + \else + \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}% + \fi + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else %ajw + \protect\numberline{\csname the#1\endcsname}\fi #7}%ajw + \else + \def\@svsechd{#6\hskip #3\@svsec \if@levelone \uppercase{#8}\else #8\fi + \csname #1mark\endcsname{#7} + \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth \else %ajw + \protect\numberline{\csname the#1\endcsname}\fi#7}%ajw + }\fi + \@xsect{#5}} + +% from latex.tex +% \@ssect{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}{ARG} +\def\@ssect#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + \begingroup #4\@hangfrom{\hskip #1}{% + \interlinepenalty \@M + \if@levelone + \uppercase{#5}% + \else {#5}% + \fi\par}% + \endgroup + \else + \def\@svsechd{#4\hskip #1\relax + \if@levelone + \uppercase{#5}% + \else {#5}% + \fi} + \fi + \@xsect{#3}% +} + +\newif\ifSFB@appendix +\def\appendix{\par + \SFB@appendixtrue + \@addtoreset{equation}{section} + \@addtoreset{table}{section} + \@addtoreset{figure}{section} + \setcounter{section}{0} + \setcounter{equation}{0} + \setcounter{figure}{0} + \setcounter{table}{0} + \def\thesection{\Alph{section}} + \renewcommand\thesubsection{\thesection\arabic{subsection}} + \renewcommand\theequation{\thesection\arabic{equation}} + \renewcommand\thefigure{\thesection\@arabic\c@figure} + \renewcommand\thetable{\thesection\@arabic\c@table} + \renewcommand{\theHsection}{A\arabic{section}} % for hyperref links +} + +% **************************************** +% * SKIPS * +% **************************************** +% +\newskip\@indentskip +\newskip\smallindent +\newskip\@footindent +\newskip\@leftskip +\@indentskip=18pt +\smallindent=1.5em +\@footindent=\smallindent +\@leftskip=\z@ + +% **************************************** +% * LISTS * +% **************************************** +% +\setlength\leftmargini{ \z@ } +\setlength\leftmarginii{ 1em } +\setlength\leftmarginiii{ 1em } +\setlength\leftmarginiv{ 1em } +\setlength\leftmarginv{ 1pc } +\setlength\leftmarginvi{ 1pc } +\setlength\leftmargin{\leftmargini} +\setlength\labelsep{ 0.5em} +\labelwidth\leftmargini\advance\labelwidth-\labelsep +% +% label macros for Range-Left and Range-Right labels +\def\makeRLlabel#1{\rlap{#1}\hss} +\def\makeRRlabel#1{\hss\llap{#1}} +\def\makenewlabel#1{#1} +% +\def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 6pt plus 1pt minus 1pt + \itemsep \z@ plus .1pt +} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii + \topsep 6pt plus 1pt minus 1pt + \parsep \z@ + \itemsep \z@ plus .1pt +} +\def\@listiii{\leftmargin\leftmarginiii + \topsep 6pt plus 1pt minus 1pt + \parsep \z@ + \partopsep \z@ + \itemsep \topsep +} +\def\@listiv{\leftmargin\leftmarginiv +} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep +} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep +} +% +% ITEMIZE +\def\itemize{% + \ifnum \@itemdepth >3 \@toodeep + \else \advance\@itemdepth \@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}% + {\let\makelabel\makeRRlabel}% + \parindent 1em% + \leftmargin 3.5em\labelsep 0.5em\itemindent 2.0em\labelwidth 0.5em% + \fi} +\def\labelitemi{$\bullet$} +\def\labelitemii{--} +\def\labelitemiii{$\cdot$} +\def\labelitemiv{*} +% +% ENUMERATE +% SFB -- enumerate with optional argument to set left margin... +\def\enumerate{\ifnum \@enumdepth >3 \@toodeep \else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% + \fi + \@ifnextchar [{\@enumeratetwo}{\@enumerateone}% +} +\def\@enumeratetwo[#1]{% + \list{\csname label\@enumctr\endcsname}% + {\settowidth\labelwidth{[#1]} + \leftmargin\z@ + \listparindent 1em + \usecounter{\@enumctr} + \let\makelabel\makenewlabel} +} +\def\@enumerateone{% + \list{\csname label\@enumctr\endcsname}% + {\usecounter{\@enumctr}\itemindent 1em\listparindent 1em + \let\makelabel\makenewlabel}} +% +\def\labelenumi{\theenumi} +\def\theenumi{(\roman{enumi})} +\def\labelenumii{\theenumii} +\def\theenumii{(\alph{enumii})} +\def\p@enumii{\theenumi} +\def\labelenumiii{\theenumiii} +\def\theenumiii{(\arabic{enumiii})} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{\theenumiv} +\def\theenumiv{(\Alph{enumiv})} +\def\p@enumiv{\p@enumiii\theenumiii} +% +% DESCRIPTION +\def\descriptionlabel#1{\reset@font\bf #1} +\def\description{\list{}{\labelwidth\z@ + \leftmargin \z@ + \itemindent 1em +}} +\let\enddescription\endlist + +% **************************************** +% * DISPLAYED TEXT * +% **************************************** +% +% VERSE +\def\verse{\let\\=\@centercr + \list{}{\itemsep\z@ + \itemindent -\@indentskip + \listparindent \itemindent + \rightmargin\leftmargin + \advance\leftmargin \@indentskip}\item[]} +\let\endverse\endlist +% +% QUOTATION +\def\quotation{\list{}{\listparindent \smallindent +% \itemindent\listparindent + \leftmargin\z@\rightmargin\leftmargin + \parsep 0pt plus 1pt}\item[]\reset@font\small} +\let\endquotation=\endlist +% +% QUOTE +\def\quote{\list{}{\leftmargin\z@\rightmargin\leftmargin}\item[]% + \reset@font\small} +\let\endquote=\endlist +% +% BSL QUOTE +\newenvironment{lquote}{\begin{list}{}% + {\setlength{\leftmargin}{2em}} + \item[]} + {\end{list}} +% +% **************************************** +% * OTHER ENVIRONMENTS * +% **************************************** +% +% THEOREM +\def\@begintheorem#1#2{\reset@font\rm \trivlist \item[\hskip \labelsep + {\reset@font\bf #1\ #2.}]} +\def\@opargbegintheorem#1#2#3{\reset@font\rm \trivlist + \item[\hskip \labelsep{\reset@font\bf #1\ #2.\ (#3)}]} +\def\@endtheorem{\endtrivlist} +% +% PROOF +\def\proof{\reset@font\rm \trivlist \item[\hskip \labelsep + {\reset@font\it Proof.}]} +\def\endproof{\hspace*{1em}{\begin{picture}(6.5,6.5)% + \put(0,0){\framebox(6.5,6.5){}}\end{picture}}\endtrivlist} +\@namedef{proof*}{\reset@font\rm \trivlist \item[\hskip \labelsep + {\reset@font\it Proof.}]} +\@namedef{endproof*}{\endtrivlist} +\def\proofbox{\begin{picture}(6.5,6.5)% + \put(0,0){\framebox(6.5,6.5){}}\end{picture}} +% +% TITLEPAGE +\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty}\c@page\z@} +\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} + +% ARRAY AND TABULAR +% +\arraycolsep 5pt +\tabcolsep 6pt +\arrayrulewidth .5pt +\doublerulesep 1.5pt + +\def\tabular{\def\@halignto{} + \def\hline{\noalign{\ifnum0=`}\fi + \vskip 3pt + \hrule \@height \arrayrulewidth + \vskip 3pt + \futurelet \@tempa\@xhline} + \def\fullhline{\noalign{\ifnum0=`}\fi + \vskip 3pt + \hrule \@height \arrayrulewidth + \vskip 3pt + \futurelet \@tempa\@xhline} + \def\@xhline{\ifx\@tempa\hline + \vskip -6pt + \vskip \doublerulesep + \fi + \ifnum0=`{\fi}} + \def\@arrayrule{\@addtopreamble{\hskip -.5\arrayrulewidth +% \vrule \@width \arrayrulewidth + \hskip .5\arrayrulewidth}} +\@tabular +} +% TABBING +% +\tabbingsep \labelsep + +% MINIPAGE +% +\skip\@mpfootins = \skip\footins + +% FRAMEBOX +% +% Space left between box and text by \fbox and \framebox. +\fboxsep = 3pt +% Width of rules in box made by \fbox and \framebox. +\fboxrule = \arrayrulewidth + +% **************************************** +% * TITLE AND ABSTRACT * +% **************************************** +% +\def\maketitle{\par + \begingroup + \if@twocolumn + \twocolumn[\vspace*{17pt}\@maketitle] + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{titlepage} + \endgroup + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@author{} + \gdef\@title{} + \let\thanks\relax +} +\def\newauthor{% DE's definitions + \end{tabular}\par + \begin{tabular}[t]{@{}l@{}}\let\\=\author@nextline% +} +\def\and{% + \end{tabular}\vskip 3pt\par + \begin{tabular}[t]{@{}l@{}}\let\\=\author@nextline% +} +\def\@maketitle{\newpage + \vspace*{7pt} + {\raggedright \sloppy + {\reset@font\huge \bf \@title \par} + \vskip 23pt + {\reset@font\LARGE + \begin{tabular}[t]{@{}l@{}}\let\\=\author@nextline\@author + \end{tabular} + \par} + \vskip 22pt + } %End of DE's definitions + \par\noindent + {\reset@font\small \@date \par} + \vskip 22pt +} + +\def\author@nextline{ %DE's definition +\tabularnewline[-7pt]\reset@font\small\it\ignorespaces +\let\\=\author@nextline} %let command added by NT to bring + % subsequent lines into correct format + +% +\def\abstract{\if@twocolumn + \start@SFBbox\@abstract + \else + \@abstract + \fi} +\def\endabstract{\if@twocolumn + \endlist\finish@SFBbox + \else + \endlist + \fi} +\def\@abstract{\list{}{% + \listparindent\realparindent + \itemindent\z@ + \labelwidth\z@ \labelsep\z@ + \leftmargin 11pc\rightmargin\z@ + \parsep 0pt plus 1pt}\item[]% + \reset@font\normalsize{\bf ABSTRACT}\\\reset@font\large +} % SFB 0.1.01 +% +\newif\ifSFB@keywords +\def\keywords{\if@twocolumn + \start@SFBbox\@keywords + \else + \@keywords + \fi +} +\def\@keywords{\list{}{% + \labelwidth\z@ \labelsep\z@ + \leftmargin 11pc\rightmargin\z@ % was 11pc\right.... + \parsep 0pt plus 1pt}\item[]\reset@font\large{\bf Key words: }% +} +\def\endkeywords{\if@twocolumn + \endlist\addvspace{37pt plus 0.5\baselineskip}\finish@SFBbox + \else + \endlist + \fi + \@thanks + \gdef\@thanks{} + \SFB@keywordstrue +} +\def\nokeywords{\ifSFB@keywords\else + \if@twocolumn \start@SFBbox\addvspace{37pt}\finish@SFBbox \fi + \@thanks + \gdef\@thanks{}\fi +} + +\def\author@tabular{\def\@halignto{}\@authortable} +\let\endauthor@tabular=\endtabular +% +\def\author@tabcrone{\vspace{2pt}{\ifnum0=`}\fi% + \@xtabularcr[-7pt]\reset@font\small\it + \let\\=\author@tabcrtwo\ignorespaces} +% +\def\author@tabcrtwo{{\ifnum0=`}\fi\@xtabularcr[-7pt]\reset@font\small\it + \let\\=\author@tabcrtwo\ignorespaces} +% +\def\@authortable{\leavevmode \hbox \bgroup $\let\@acol\@tabacol + \let\@classz\@tabclassz \let\@classiv\@tabclassiv + \let\\=\author@tabcrone\ignorespaces \@tabarray} + +\def\start@SFBbox{\@next\@currbox\@freelist{}{}% + \global\setbox\@currbox + \vbox\bgroup + \hsize \textwidth + \@parboxrestore +} +\def\finish@SFBbox{\par\vskip -\dbltextfloatsep + \egroup + \global\count\@currbox\tw@ + \global\@dbltopnum\@ne + \global\@dbltoproom\maxdimen\@addtodblcol + \global\vsize\@colht + \global\@colroom\@colht +} + +% **************************************** +% * PAGE STYLES * +% **************************************** +% +\mark{{}{}} +\gdef\@author{\mbox{}} +\def\author{\@ifnextchar [{\@authortwo}{\@authorone}} +\def\@authortwo[#1]#2{\gdef\@author{#2}\gdef\@shortauthor{#1}} +\def\@authorone#1{\gdef\@author{#1}\gdef\@shortauthor{#1}} +\gdef\@shortauthor{} +\gdef\@title{\mbox{}} +\def\title{\@ifnextchar [{\@titletwo}{\@titleone}} +\def\@titletwo[#1]#2{\gdef\@title{#2}\gdef\@shorttitle{#1}} +\def\@titleone#1{\gdef\@title{#1}\gdef\@shorttitle{#1}} +\gdef\@shorttitle{} +\def\volume#1{\gdef\@volume{#1}} +\gdef\@volume{000} +\def\tod@y{\today} +\def\microfiche#1{\gdef\@microfiche{#1}} +\gdef\@microfiche{} +\def\pubyear#1{\gdef\@pubyear{#1}} +\gdef\@pubyear{0000} +\def\pagerange#1{\gdef\@pagerange{#1}} +\gdef\@pagerange{000--000} +\def\journal#1{\gdef\@journal{#1}} +\def\plate#1{\gdef\pl@te{#1}} +\ifx\CUP@mtlplain@loaded\undefined + \def\@printed{Preprint \tod@y\ + \qquad\qquad\qquad Compiled using MNRAS \LaTeX\ style file v\@version} % manual spacing isn't ideal +\else + \def\@printed{} +\fi +\gdef\@journal{{MNRAS} {\bf \@volume}, \@pagerange\ +% (\number\year) \@microfiche\@printed} + (\@pubyear) \@microfiche \hfill \@printed} +% +% \ps@empty and \ps@plain defined in LATEX.TEX +% +\def\@ddell{} +\if@letters + \def\@ddell{L} +\fi + +% Headers and footers + +\def\ps@headings{\let\@mkboth\markboth + \def\@oddhead{\Large\hfill{\it\@shorttitle}\hspace{1.5em}% + \rm\@ddell\thepage} + \def\@oddfoot{\small MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)\hfil} + \def\@evenhead{\Large\@ddell\thepage\hspace{1.5em}\it\@shortauthor\hfill} + \def\@evenfoot{\hfil\small MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)} + \def\sectionmark##1{\markboth{##1}{}} + \def\subsectionmark##1{\markright{##1}}} + +\def\ps@myheadings{\let\@mkboth\@gobbletwo + \def\@oddhead{\Large\hfill\it\rightmark\hspace{1.5em}\rm\@ddell\thepage} + \def\@oddfoot{\small MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)\hfil} + \def\@evenhead{\Large\@ddell\thepage\hspace{1.5em}\it\leftmark\hfill} + \def\@evenfoot{\hfil\small MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)} + \def\sectionmark##1{} + \def\subsectionmark##1{}} + +\def\ps@titlepage{\let\@mkboth\@gobbletwo + \def\@oddhead{\footnotesize\@journal} + \def\@oddfoot{\small\copyright\ \@pubyear\ The Authors\hfil} + \def\@evenhead{\footnotesize\@journal\hfill} + \def\@evenfoot{\hfil\small\copyright\ \@pubyear\ The Authors} + \def\sectionmark##1{} + \def\subsectionmark##1{}} + +\def\ps@plate{\let\@mkboth\@gobbletwo + \def\@oddhead{\footnotesize\pl@te\hfill} + \def\@oddfoot{\small MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)\hfil} + \def\@evenhead{\footnotesize\pl@te\hfill} + \def\@evenfoot{\hfil\small MNRAS {\bf \@volume}, \@pagerange\ (\@pubyear)} +} + +% **************************************** +% * TABLE OF CONTENTS, ETC. * +% **************************************** +% +\def\@pnumwidth{1.55em} +\def\@tocrmarg {2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{2} +\def\@undottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth + \else + \vskip \z@ plus .2pt + {\hangindent #2\relax + \rightskip \@tocrmarg \parfillskip -\rightskip + \parindent #2\relax \@afterindenttrue + \interlinepenalty\@M \leavevmode + \@tempdima #3\relax #4\nobreak \hfill \nobreak + \hbox to\@pnumwidth{\hfil\reset@font\rm \ }\par}\fi} +\def\tableofcontents{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{CONTENTS} \@starttoc{toc} + \if@restonecol\twocolumn\fi \par\vspace{12pt}} +\def\l@part#1#2{\addpenalty{-\@highpenalty} + \addvspace{2.25em plus 1pt} + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + {\reset@font\normalsize\rm + \leavevmode \hspace*{3pc} + #1\hfil \hbox to\@pnumwidth{\hss \ }}\par + \nobreak \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}\endgroup} +\def\l@section#1#2{\addpenalty{\@secpenalty} + \@tempdima 1.5em + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth \reset@font\rm \leavevmode + \advance\leftskip\@tempdima \hskip -\leftskip + #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss \ }\par + \endgroup} +\def\l@subsection{\@undottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@undottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@undottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@undottedtocline{5}{10em}{5em}} +\def\listoffigures{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{LIST OF FIGURES\@mkboth{LIST OF FIGURES}{LIST OF FIGURES}} + \@starttoc{lof} \if@restonecol\twocolumn\fi} +\def\l@figure{\@undottedtocline{1}{1.5em}{2.3em}} +\def\listoftables{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{LIST OF TABLES\@mkboth{LIST OF TABLES}{LIST OF TABLES}} + \@starttoc{lot} \if@restonecol\twocolumn\fi} +\let\l@table\l@figure + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** +% + +\def\thebibliography#1{\section*{REFERENCES} + \addcontentsline{toc}{section}{REFERENCES} + % KTS: most of this stuff gets over-written by natbib below, so + % I don't think it does anything. + \newcounter{dummy} + \list{}{\usecounter{dummy}% + \labelwidth \z@ + \leftmargin 0em %1.5em + \bibhang \z@ + \itemsep \z@ + \itemindent-\leftmargin} + \reset@font\footnotesize + \parindent\z@ + \parskip\z@ plus .1pt\relax + \def\newblock{}%\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax +} +\let\endthebibliography=\endlist +\def\@biblabel#1{\hspace*{\labelsep}[#1]} + +\if@usenatbib% + \def\newblock{\hskip .11em plus .33em minus .07em} + \usepackage[authoryear]{natbib} + \bibpunct{(}{)}{;}{a}{}{,} + % Re-define these in upper case as natbib.sty has them capitalised + \renewcommand\bibname{BIBLIOGRAPHY} + \renewcommand\refname{REFERENCES} +\fi + +% Natbib has overwritten a bunch of settings, so redfine them +% Works both with and without natbib (in theory) +\let\originalbib\thebibliography +\renewcommand{\thebibliography}{\labelwidth \z@ \bibhang 1.5em \footnotesize \originalbib} +% The typesetters actually use a 12pt bibhang, but with 8pt text this is 1.5em + +% new column specifiers to be used with dcolumn +\if@usedcolumn% + \usepackage{dcolumn} + \newcolumntype{d}[1]{D{.}{.}{#1}} + \newcolumntype{.}{D{.}{.}{-1}} + \newcolumntype{,}{D{,}{,}{2}} +\fi + + +% **************************************** +% * COMMANDS FOR USE WITH MNRAS.BST * +% **************************************** +% +% The following three macros provide auxiliary support for the BibTeX +% wranglings in mnras.bst. They provide support for functionality +% which it is impossible, or at least unmaintainably arcane, to +% provide within BibTeX Style Language. +% +% These definitions can be loaded as a package or, probably better, +% should be incorporated into a mnras.cls file. +% +% These depend on the presence of a \href{URL}{text} macro, as +% provided by the hyperref package. The mnras.bst style depends +% additionally on the \url{URL} macro, which hyperref also provides. +% +% If the hyperref package is not included, then suitable defaults are +% +% \def\href#1#2{#2} +% \def\@url#1{#1\endgroup} +% \def\url{\begingroup\@urlcharsother \ttfamily \@url} +% +% These must appear _after_ this package is loaded, and should appear +% _instead_ of loading the hyperref package (it'll probably be OK to +% let the hyperref package redefine these, but that is to tempt fate). + + +% \@urlcharsother +% +% 'Other' some characters which may appear in DOIs and URIs. +% +% All of the characters here may appear in URIs, except for '^' and '\'. +% +% There appear to be almost no restrictions on what characters appear +% in DOIs (or at least none discovereable in ISO 26324:2012, which +% says simply that the 'DOI suffix' is "a character string of any +% length". A DOI registrant which uses characters outside ASCII plus +% the following set, is a DOI registrant who should be taken outside +% and challenged on their taste. +% +% The following list is not simply \dospecials, because that includes +% '{' and '}', which we need. And if they're in a DOI... well. +\def\@urlcharsother{% + \let\do\@makeother + \do\\\do\$\do\&\do\#\do\^\do\_\do\%\do\~} + +% \doi +% +% \doi{10.foo} formats the DOI in the argument, and provides a link to dx.doi.org. +% \doi[text]{10.foo} formats the DOI 10.foo, but provides 'text' as the link. +% The DOI can contain {\$&#^_%~} (though there's not necessarily a +% guarantee that these will still work as URL characters within the PDF) +\def\doi{\begingroup + \@urlcharsother + \@ifnextchar[% + {\@doi} + {\@doi[]}} +\def\@doi[#1]#2{% + \def\@tempa{#1}% + \ifx\@tempa\@empty + \href{http://dx.doi.org/#2}{doi:#2}% + \else + \href{http://dx.doi.org/#2}{#1}% + \fi + \endgroup + } + +% \eprint +% +% \eprint{defaultArchivePrefix}{id} expands to a link to the given ID +% at a suitable archive. The 'id' can be either a bare ID (such as +% yymm.1234) for arXiv, or can include an archive prefix. If there is +% no prefix in the 'id', then 'defaultArchivePrefix' supplies a default. +% +% Thus +% \eprint{}{arXiv:yymm.1234} -> \href{http://arxiv.org/abs/yymm.1234}{arXiv:yymm.1234} +% \eprint{}{yymm.1234} -> same as \eprint{}{arXiv:yymm.1234} +% \eprint{arXiv}{arXiv:yymm.1234} -> same +% \eprint{dblp}{1234} -> \href{http://dblp.uni-trier.de/rec/bibtex/1234.xml}{dblp:1234} +% \eprint{dblp}{arXiv:yymm.1234} -> same as \eprint{}{arXiv:yymm.1234} +% \eprint{}{wibble:1234} -> wibble:1234 (doesn't match anything) +% +% A prefix 'PFX' is 'registered' by defining a macro +% \@eprint@PFX#1{...} which formats the identifier (that is, \eprint's +% second argument _minus_ any colon-terminated prefix). +\def\eprint#1#2{% + \@eprint#1:#2::\@nil} +\def\@eprint@arXiv#1{\href{http://arxiv.org/abs/#1}{{\tt arXiv:#1}}} +\def\@eprint@dblp#1{\href{http://dblp.uni-trier.de/rec/bibtex/#1.xml}{dblp:#1}} +\def\@eprint#1:#2:#3:#4\@nil{% + \def\@tempa{#1}% + \def\@tempb{#2}% + \def\@tempc{#3}% + \ifx\@tempc\@empty + \let\@tempc\@tempb + \let\@tempb\@tempa + \fi + \ifx\@tempb\@empty + % default to arXiv + \def\@tempb{arXiv}% + \fi + % If \@tempb is a 'recognised' prefix, then call it, otherwise, just + % print prefix:id and be done with it. A prefix is 'recognised' if + % there's a macro \@eprint@. + \@ifundefined{@eprint@\@tempb} + {\@tempb:\@tempc} + % or call macro '@eprint@\@tempb' on the argument \@tempc + {\expandafter\expandafter\csname @eprint@\@tempb\endcsname\expandafter{\@tempc}}% + } + +% \mniiiauthor +% +% The following implements the three-author-hack described in mnras.bst. +% +% This consumes a command for each such author. It's surely possible +% to avoid this (with some constructions involving {\\#1}; see +% Appendix D cleverness), but that would verge on the unmaintanably +% arcane, and not really be worth it. +\def\mniiiauthor#1#2#3{% + \@ifundefined{mniiiauth@#1} + {\global\expandafter\let\csname mniiiauth@#1\endcsname\null #2} + {#3}} + + +% **************************************** +% * THE INDEX * +% **************************************** +% +\newif\if@restonecol +\def\theindex{\section*{INDEX} + \addcontentsline{toc}{section}{INDEX} + \reset@font\footnotesize \parindent\z@ \parskip\z@ plus .1pt\relax + \let\item\@idxitem} +\def\@idxitem{\par\hangindent 1em} +\def\subitem {\par\hangindent 1em \hspace*{1em}} +\def\subsubitem{\par\hangindent 1em\hspace*{1em}} +\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi} +\def\indexspace{\par\vskip\baselineskip \relax} + +% **************************************** +% * FOOTNOTES * +% **************************************** +% +\def\footnoterule{\kern-3\p@ \hrule width 12pc height \z@ \kern 3\p@} + +\renewcommand{\thefootnote}{\mbox{{$\fnsymbol{footnote}$}}} +\renewcommand{\thempfootnote}{\mbox{{${\alph{mpfootnote}}$}}} + +\def\@fnsymbol#1{\ifcase#1\or \mbox{${^{\star}}$}\or + \dagger\or \ddagger\or + \S \or \P \or \|\or \mbox{$^{\star\star}$}\or \dagger\dagger + \or \ddagger\ddagger\or \S\S\or \P\P\or \|\|\else *** + \fi\relax} + +\providecommand\@makefntext[1]{} + +\renewcommand{\@makefnmark}{$\@thefnmark$} +\renewcommand\@makefntext[1]{\parindent 1em\noindent + ${\@thefnmark}$\hspace{4pt}#1} + +\newcommand{\fixfootnotes}{% +\renewcommand{\@makefnmark}{$^{\@thefnmark}$}% +\renewcommand\@makefntext[1]{\parindent 1em\noindent% + $^{\@thefnmark}$\hspace{4pt}##1}% +\renewcommand{\thefootnote}{\arabic{footnote}}% +\setcounter{footnote}{0}% +} +%**************************************** +% * FIGURES AND TABLES * +% **************************************** +% +% Settings for how much of the page can be used for floats +\setcounter{topnumber}{4} +\def\topfraction{0.9} +\setcounter{bottomnumber}{2} +\def\bottomfraction{0.5} +\setcounter{dbltopnumber}{3} % two-column floats +\def\dbltopfraction{0.9} +\setcounter{totalnumber}{4} +\def\textfraction{0.1} +\def\floatpagefraction{0.9} +\def\dblfloatpagefraction{0.9} + +\newif\ifst@rredfloat +\newcounter{table} +\def\thetable{\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{1} +\def\fstyle@table{\reset@font\small\rm} +\def\ext@table{lot} +\def\fnum@table{Table \thetable} +\def\table{\def\baselinestretch{1}% + \let\@makecaption=\SFB@maketablecaption% + \@float{table}\fstyle@table} +\let\endtable\end@float +\@namedef{table*}{\def\baselinestretch{1}\st@rredfloattrue + \let\@makecaption=\SFB@maketablecaption% + \@dblfloat{table}\centering\fstyle@table} +\@namedef{endtable*}{\end@dblfloat\st@rredfloatfalse} + +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{2} +\def\fstyle@figure{\reset@font\small\rm} +\def\ext@figure{lof} +\def\fnum@figure{Figure \thefigure} +\def\figure{\def\baselinestretch{1}% + \let\@makecaption=\SFB@makefigurecaption% + \@float{figure}\fstyle@figure} +\let\endfigure\end@float +\@namedef{figure*}{\def\baselinestretch{1}\st@rredfloattrue + \let\@makecaption=\SFB@makefigurecaption% + \@dblfloat{figure}\centering\fstyle@figure} +\@namedef{endfigure*}{\end@dblfloat\st@rredfloatfalse} + +\long\def\SFB@makefigurecaption#1#2{\vskip 6pt + \setbox\@tempboxa\hbox{\reset@font\small{\bf #1}% + \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}% + \ifdim \wd\@tempboxa >\hsize + {\reset@font\small{\bf #1}% + \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}% + \else + \ifst@rredfloat + \hbox to\hsize{\hfill\box\@tempboxa\hfill}% + \else + \hbox to\hsize{\hfill\box\@tempboxa\hfill}% + \fi + \fi + \vskip 6pt + \@contfalse +} + +\long\def\SFB@maketablecaption#1#2{\vskip 6pt + \setbox\@tempboxa\hbox{\reset@font\small{\bf #1}% + \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}% + \ifdim \wd\@tempboxa >\hsize + {\reset@font\small{\bf #1}% + \if@cont \ -- {\it continued}\else{\bf .}\fi\ {\rm #2}\par}% + \else + \hbox to\hsize{\box\@tempboxa\hfill}% + \fi + \vskip 6pt + \@contfalse +} + +\newif\if@cont +\def\caption{\refstepcounter\@captype \@dblarg{\@caption\@captype}} +\def\contcaption{\@conttrue\SFB@caption\@captype} + +\long\def\SFB@caption#1#2{%\par + \begingroup + \@parboxrestore + \reset@font\normalsize + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #2}\par + \endgroup} + +% **************************************** +% * CUP specials * +% **************************************** +% +% KTS: I'm not convinced that any of these are still used, but will avoid +% deleting them just in case. +% +% The following code is taken from authordate.sty, by David Rhead, of +% the Cripps Computing Centre (February 1990), with some modifications +% by ggw. It is intended for documents +% that use the author-date citation system. When used in conjunction with +% authordate1.bst, ... , authordate4.bst, it allows citations of the +% form \shortcite{bloggs-60} as well as the usual \cite{bloggs-60}. +% When +% ... \cite{bloggs-60} ... \shortcite{bloggs-60} ... +% appears in the input file, +% ... (Bloggs, 1960) ... (1960) ... +% appears in the final document. +% +% Code taken from apalike.sty. +% +\def\@cite#1#2{(#1\if@tempswa , #2\fi)} +\def\@biblabel#1{} + +% Set length of hanging indentation for bibliography entries +% + +\if@usenatbib\relax\else% +\newlength{\bibhang} +\setlength{\bibhang}{2em} +\fi + +% Define default title and page-head text. +% +\def\bibtitle{References} +\def\bibheadtitle{REFERENCES} + +% Code taken from aaai.sty. +% +% don't box citations, add space between multiple citations, separate with ; +\def\@citex[#1]#2{% + \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi + \def\@citea{}\@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{; }\@ifundefined + {b@\@citeb}{{\reset@font\bf ?}\@warning + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +% Allow short (name-less) citations, when used in +% conjunction with a bibliography style that creates labels like +% \citename{, } +\let\@internalcite\cite +\def\cite{\def\citename##1{##1}\@internalcite} +\def\shortcite{\def\citename##1{}\@internalcite} + +% Typesetting note at the end of the article +\def\bsp{\vspace{0.5cm}\reset@font\footnotesize\noindent This paper +has been typeset from a \TeX/\LaTeX\ file prepared by the author.} + + + +% **************************************** +% * MISCELLANEOUS * +% **************************************** +% +% DATE +\def\today{\number\day\ \ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December + \fi \ \number\year} + +% REVISED AUTHOR QUERY COMMAND +% Queries in text are printed in large bold font, in square brackets +% Queries in references are printed as bold number followed by text + \DeclareFixedFont{\largerm}{OT1}{cmss}{m}{n}{17} + \DeclareFixedFont{\largeital}{OT1}{cmss}{m}{sl}{17} + \newcommand{\aquery}[1]{\mbox{\largerm {[#1]}}} + \newcommand{\BSLquery}[1]{\aquery{#1}} + %For backwards compatibility with old query command + \newcommand{\tquery}[1]{\mbox{\largeital{[#1]}}} + %Typesetter query: same format + \newenvironment{query}{\vspace{5mm} \noindent {\bf Queries}\\}{} + \newcommand{\authorquery}[2]{\noindent{{\bf #1} #2}\\} + +% definition required for newarray.sty +\gdef\d@llar{} + +% **************************************** +% * INITIALIZATION * +% **************************************** +% +% +%%%NHT: this code needs fixed. +%%% At the moment the zif is always undefined, so it does nothing! +\newif\ifCUPmtlplainloaded +\ifx\CUP@mtlplain@loaded\undefined +\else + \global\CUPmtlplainloadedtrue + \input mnsym +\fi +% +\flushbottom +\ps@headings +\ifSFB@galley + \raggedbottom + \ps@empty +\fi +%\ifSFB@referee +% \raggedbottom +%\fi +\pagenumbering{arabic} +\if@twocolumn + \twocolumn + \sloppy +\else + \onecolumn +\fi +\frenchspacing + + +% **************************************** +% * Change log * +% **************************************** + + +% Original file produced by Cambridge University Press 1994 +% for LaTeX version 2.09, 1988, by Leslie Lamport +% based on the original LaTeX ARTICLE DOCUMENT STYLE +% modifications by Sue Brooks, Alison Woollatt and Mark Reed 1993, 1994 +% further modifications by Nadine and John Thompson 1999 August +% and David Evans 1999 December. Updates by Keith T. Smith 2013. +% +% > Incorporating also parts of authordate.sty +% by David Rhead, Cripps Computing Centre (Feb 1990). +% > Incorporating special symbol code from laa.sty v1.1 (25th Feb 1991) +% used with the permission of Springer Verlag. +% > Incorporating parts of mssymb.tex (8th July 1987). +% > Incorporating newfont.sty vALPHA pl 8 (16th August 1994), by M. Reed +% +% v0.1.01 SFB text area, abstract heading, secnumdepth, +% \dblfloatpagefraction +% v0.1.02 SFB landscape, galley and referee options; +% new catchline; enumerated lists; correct raggedright +% on section headings; +% v0.1.03 SFB continued floats with \caption* (removed now), +% short captions centred +% v0.1.04 SFB appendices, unnumbered list (using description) +% v0.1.05 AJW roman catchline, final statement +% v1.0 RM BSP note, \bsp, added to cup specials +% v1.1 AJW / MR, 28th January 1994. NFSS 1/2 compatible, +% Springer-Verlag macros added +% v1.2 AJW, 18th July 1994. Improved cont. captions, +% MR font selection check improved, +% MR removed some redundant code, AW \sevensize added, +% MR Added MR's `NewFont' support, MR Improved NFSS 1/2 support, +% MR Added support for Bold math and AMS symbols for NFSS 1, +% MR par's in abstract now have par indents. +% MR added \ifCUPmtlplainloaded switch for use in documents. +% MR Added mnsym.tex (for Times version). +% v1.25 MR, not released to authors 16th August 1994. +% Replaced existing Newfont.sty code with updated code, after +% discovering several bugs. This version not released to authors +% because they are unlikely to find the bugs unless: +% 1) they have an extremely long article, +% 2) have used many \New.. commands (no docs were supplied for +% these anyway). +% v1.3 MR, 5 September 1994. Added printing of style file version to +% 'Printed' info in catchline. Will help us identify how the +% article was produced (TeX/LaTeX) and the version number of the +% macros. +% MR Tables and Figures no longer get double spaced when using the +% `referee' or `doublespacing' options. +% MR Corrected 7th footnote symbol: made a \star\star (was **). +% MR Corrected problem where some headings were not upper-case +% when they should have been (\section*). +% v1.4 AJW, 14th September 1995. Add footlines and \newauthor, +% correct \listparindent in enumerate environment. +% v2.1 NHT/JST 1999 August 22. Conversion to +% a LaTeX2e class file, following the conversions used +% in GJIb.sty->GJI.cls. +% Obselete NFSS font information removed. +% footnotes redefined. +% v2.2 DE various changes. +% NHT 1999 Dec 23. \la and \ga symbols fixed. Bug in displaying +% author names and addresses fixed. Problem in producing footnotes +% in minipages fixed. +% v2.3b Keith T. Smith (Royal Astronomical Society) +% September 2013 +% Beta testing only - never publicly released +% First update in over a decade +% Now requires the 'geometry' package to enforce A4 paper +% Now requires the 'fixltx2e' package to fix float ordering +% Now requires the 'hyperref' package for clickable links +% Updated headers and footers, and typesetting of reference list +% Removed the fleqn code in this file, which didn't do anything +% Added definitions for journal abbreviations used by ADS +% Define a \ion command for ionization states +% Added commands used by the new version +% of the .bst file (code by Norman Gray) +% Now licensed under LPPL, comments updated accordingly +% Various minor tweaks and updates +% v3.0 Keith T. Smith (Royal Astronomical Society) +% May 2015 +% Package renamed from 'mn2e' to 'mnras' after +% discussion with the TeX Users Group +% Numerous small tweaks and improvements following testing + +% end of mnras.cls +% diff --git a/doc/Setup/Getting_started_on_your_laptop.rst b/doc/Setup/Getting_started_on_your_laptop.rst index 8ad7b8a..0456a33 100644 --- a/doc/Setup/Getting_started_on_your_laptop.rst +++ b/doc/Setup/Getting_started_on_your_laptop.rst @@ -159,17 +159,19 @@ Gravitational Lens Sprinkling Setup #. Install and setup `OM10 `_. -#. Open an SSH tunnel for database connection to UW. See -`here `_ for more information. -This is where the objects that will populate the catalog are stored. +#. Open an SSH tunnel for database connection to UW. See `here `_ for more information. This is where the objects that will populate the catalog are stored. -#. You'll also need the OpSim sqlite repository from `this page `_ +#. You'll also need the OpSim sqlite repository from `this page `_ -#. Now you're ready to go with: +#. Edit `this file <../../setup/setup_locations_template.sh>`_ with your Opsim Directory location and save it as setup/setup_location.sh. + +#. Source `setup/setup_twinkles.sh <../../setup/setup_twinkles.sh>`_. + +#. Now cd to the `bin <../../bin>`_ directory you're ready to go with: .. code-block:: bash - python generatePhosimInput.py + python generatePhosimInput.py obsHistID --OpSimDBDir /path/to/opsimDB --outfile /write/to/here.txt --opsimDB opsimDBfile.db Supernova Sprinkling Setup