aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2023-09-24 22:20:46 +0200
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2023-09-24 22:20:46 +0200
commit2db584a6a42c93ab4f99dfc0d05c11e94171b8b4 (patch)
tree3b744e2094886af9c914f8e3541e8faa1e9b2aab
parent8161194d68665648b93389adb333e741ba230497 (diff)
Maneage'd AASTeX for American Astronomical Society journals
Until now, the core Maneage branch was very generic and customizing for each separate journal required some time to prepare the LaTeX style. With this commit, a first attempt at customization of Maneage for the LaTeX styles of the AAS journals (AASTeX) has been implemented.
-rw-r--r--paper.tex166
-rwxr-xr-xproject1
-rw-r--r--reproduce/analysis/config/delete-me-squared-num.conf9
-rw-r--r--reproduce/analysis/config/verify-outputs.conf2
-rw-r--r--reproduce/analysis/make/delete-me.mk60
-rw-r--r--reproduce/analysis/make/initialize.mk76
-rw-r--r--reproduce/analysis/make/paper.mk13
-rw-r--r--reproduce/software/config/texlive-packages.conf15
-rw-r--r--tex/src/aasjournal.bst1801
-rw-r--r--tex/src/aastex631.cls7805
-rw-r--r--tex/src/delete-me-squared.tex32
-rw-r--r--tex/src/preamble-biblatex.tex147
-rw-r--r--tex/src/preamble-project.tex38
-rw-r--r--tex/src/references.tex62
14 files changed, 9705 insertions, 522 deletions
diff --git a/paper.tex b/paper.tex
index afb6c0a..e2012de 100644
--- a/paper.tex
+++ b/paper.tex
@@ -1,6 +1,6 @@
%% Copyright (C) 2018-2023 Mohammad Akhlaghi <mohammad@akhlaghi.org>
%% See the end of the file for license conditions.
-\documentclass[10pt, twocolumn]{article}
+\documentclass[preprint2, times, twocolappendix]{aastex631}
%% (OPTIONAL) CONVENIENCE VARIABLE: Only relevant when you use Maneage's
%% '\includetikz' macro to build plots/figures within LaTeX using TikZ or
@@ -31,39 +31,6 @@
-%% PROJECT TITLE: The project title should also be printed as metadata in
-%% all output files. To avoid inconsistancy caused by manually typing it,
-%% the title is defined with other core project metadata in
-%% 'reproduce/analysis/config/metadata.conf'. That value is then written in
-%% the '\projectitle' LaTeX macro which is available in 'project.tex' (that
-%% was loaded above).
-%
-%% Please set your project's title in 'metadata.conf' (ideally with other
-%% basic project information) and re-run the project to have your new
-%% title. If you later use a different LaTeX style, please use the same
-%% '\projectitle' in it (after importing 'tex/build/macros/project.tex'
-%% like above), don't type it by hand.
-\title{\large \uppercase{\projecttitle}}
-
-%% AUTHOR INFORMATION: For a more fine-grained control of the headers
-%% including author name, or paper info, see
-%% 'tex/src/preamble-header.tex'. Note that if you plan to use a journal's
-%% LaTeX style file, you will probably set the authors in a different way,
-%% feel free to change them here, this is just basic style and varies from
-%% project to project.
-\author[1]{Your name}
-\author[2]{Coauthor one}
-\author[1,3]{Coauthor two}
-\affil[1]{The first affiliation in the list.; \url{your@email.address}}
-\affil[2]{Another affilation can be put here.}
-\affil[3]{And generally as many affiliations as you like.
-\par \emph{Received YYYY MM DD; accepted YYYY MM DD; published YYYY MM DD}}
-\date{}
-
-
-
-
-
@@ -72,137 +39,60 @@
%% Start creating the paper.
\begin{document}
-%% Project abstract and keywords.
-\includeabstract{
- Welcome to Maneage (\emph{Man}aging data lin\emph{eage}) and reproducible papers/projects, for a review of the basics of this system, please see \citet{maneage}.
- You are now ready to configure Maneage and implement your own research in this framework.
- Maneage contains almost all the elements that you will need in a research project, and adding any missing parts is very easy once you become familiar with it.
- For example it already has steps to downloading of raw data and necessary software (while verifying them with their checksums), building the software, and processing the data with the software in a highly-controlled environment.
- But Maneage is not just for the analysis of your project, you will also write your paper in it (by replacing this text in \texttt{paper.tex}): including this abstract, figures and bibliography.
- If you design your project with Maneage's infra-structure, don't forget to add a notice and clearly let the readers know that your work is reproducible, we should spread the word and show the world how useful reproducible research is for the sciences, also don't forget to cite and acknowledge it so we can continue developing it.
- This PDF was made with Maneage, commit \projectversion{}.
+%% Title
+\title{\projecttitle}
- \vspace{0.25cm}
+%% Authors
+\author[0000-0012-3245-1234]{Your Name}
+\affiliation{Your affiliation; \href{mailto:your@email.address}{your@email.address}}
- \textsl{Keywords}: Add some keywords for your research here.
+%% Abstract
+\begin{abstract}
+ \noindent
+ The abstract goes here.
+ The figures of this research note are reproducible with Maneage, on the Git commit \projectversion.
+\end{abstract}
- \textsl{Reproducible paper}: All quantitave results (numbers and plots)
- in this paper are exactly reproducible with Maneage
- (\url{https://maneage.org}). }
+%% Keywords (from https://astrothesaurus.org)
+\keywords{Keyword1 name (XXXX), Keyword2 name (XXXX)}
-%% To add the first page's headers.
-\thispagestyle{firststyle}
-%% Start of main body.
-\section{Congratulations!}
-Congratulations on running the raw template project! You can now follow the ``Customization checklist'' in the \texttt{README-hacking.md} file, customize this template and start your exciting research project over it.
-You can always merge Maneage back into your project to improve its infra-structure and leaving your own project intact.
-If you haven't already read \citet{maneage}, please do so before continuing, it isn't long (just 7 pages).
-
-While you are writing your paper, just don't forget to \emph{not} use numbers or fixed strings (for example database urls like \url{\wfpctwourl}) directly within your \LaTeX{} source.
-Put them in configuration files and after using them in the analysis, pass them into the \LaTeX{} source through macros in the same subMakefile that used them.
-For some already published examples, please see \citet{maneage}\footnote{\url{https://gitlab.com/makhlaghi/maneage-paper}}, \citet{infantesainz20}\footnote{\url{https://gitlab.com/infantesainz/sdss-extended-psfs-paper}} and \citet{akhlaghi19}\footnote{\url{https://gitlab.com/makhlaghi/iau-symposium-355}}.
-Working in this way, will let you focus clearly on your science and not have to worry about fixing this or that number/name in the text.
-
-Once your project is ready for publication, there is also a ``Publication checklist'' in \texttt{README-hacking.md} that will guide you in the steps to do for making your project as FAIR as possible (Findable, Accessibile, Interoperable, and Reusable).
-The default \LaTeX{} structure within Maneage also has two \LaTeX{} macros for easy marking of text within your document as \emph{new} and \emph{notes}.
-To activate them, please use the \texttt{-{}-highlight-new} or \texttt{-{}-highlight-notes} options with \texttt{./project make}.
-For example if you run \texttt{./project make -{}-highlight-new}, then \new{this text (that has been marked as \texttt{new}) will show up as green in the final PDF}.
-If you run \texttt{./project make -{}-highlight-notes} then you will see a note following this sentence that is written in red and has square brackets around it (it is invisible without this option).
-\tonote{This text is written within a \texttt{tonote} and is invisible without \texttt{-{}-highlight-notes}.}
-You can also use these two options together to both highlight the new parts and add notes within the text.
-Another thing you may notice from the \LaTeX{} source of this default paper is there is one line per sentence (and one sentence in a line).
-Of course, as with everything else in Maneage, you are free to use any format that you are most comfortable with.
-The reason behind this choice is that this source is under Git version control and that Git also primarily works on lines.
-In this way, when a change in a setence is made, git will only highlight/color that line/sentence we have found that this helps a lot in viewing the changes.
-Also, this format helps in reminding the author when the sentence is getting too long!
-Here is a tip when looking at the changes of narrative document in Git: use the \texttt{-{}-word-diff} option (for example \texttt{git diff -{}-word-diff}, you can also use it with \texttt{git log}).
-Figure \ref{squared} shows a simple plot as a demonstration of creating plots within \LaTeX{} (using the {\small PGFP}lots package).
-The minimum value in this distribution is $\deletememin$, and $\deletememax$ is the maximum.
-Take a look into the \LaTeX{} source and you'll see these numbers are actually macros that were calculated from the same dataset (they will change if the dataset, or function that produced it, changes).
-
-The individual {\small PDF} file of Figure \ref{squared} is available under the \texttt{tex/tikz/} directory of your build directory.
-You can use this PDF file in other contexts (for example in slides showing your progress or after publishing the work).
-If you want to directly use the {\small PDF} file in the figure without having to let {\small T}i{\small KZ} decide if it should be remade or not, you can also comment the \texttt{makepdf} macro at the top of this \LaTeX{} source file.
-
-\begin{figure}[t]
- \includetikz{delete-me-squared}{width=\linewidth}
-
- \captionof{figure}{\label{squared} A very basic $X^2$ plot for
- demonstration.}
-\end{figure}
-
-Figure \ref{image-histogram} is another demonstration of showing images (datasets) using PGFPlots.
-It shows a small crop of an image from the Wide-Field Planetary Camera 2 (that was installed on the Hubble Space Telescope from 1993 to 2009).
-As another more realistic demonstration of reporting results with Maneage, here we report that the mean pixel value in that image is $\deletemewfpctwomean$ and the median is $\deletemewfpctwomedian$.
-The skewness in the histogram of Figure \ref{image-histogram}(b) explains this difference between the mean and median.
-The dataset is visualized here as a black and white image using the \textsf{Convert\-Type} program of GNU Astronomy Utilities (Gnuastro).
-The histogram and basic statstics were generated with Gnuastro's \textsf{Statistics} program.
+%% Start of main body.
+\section{Introduction}\label{sec:intro}
+\noindent
+The introduction goes here.
-{\small PGFP}lots\footnote{\url{https://ctan.org/pkg/pgfplots}} is a great tool to build the plots within \LaTeX{} and removes the necessity to add further dependencies, just to create the plots.
-There are high-level libraries like Matplotlib which also generate plots.
-However, the problem is that they require \emph{many} dependencies, for example see Figure 1 of \citet{alliez19}.
-Installing these dependencies from source, is not easy and will harm the reproducibility of your paper in the future.
+\section{Analysis}\label{sec:analysis}
-Furthermore, since {\small PGFP}lots builds the plots within \LaTeX{}, it respects all the properties of your text (for example line width and fonts and etc).
-Therefore the final plot blends in your paper much more nicely.
-It also has a wonderful manual\footnote{\url{http://mirrors.ctan.org/graphics/pgf/contrib/pgfplots/doc/pgfplots.pdf}}.
+You can use Figures like Figure \ref{fig:image-histogram}.
\begin{figure}[t]
\includetikz{delete-me-image-histogram}{width=\linewidth}
- \captionof{figure}{\label{image-histogram} (a) An example image of the Wide-Field Planetary Camera 2, on board the Hubble Space Telescope from 1993 to 2009.
+ \caption{\label{fig:image-histogram} (a) An example image of the Wide-Field Planetary Camera 2, on board the Hubble Space Telescope from 1993 to 2009.
This is one of the sample images from the FITS standard webpage, kept as examples for this file format.
(b) Histogram of pixel values in (a).}
\end{figure}
-\section{Notice and citations}
-To encourage other scientists to publish similarly reproducible papers, please add a notice close to the start of your paper or in the end of the abstract clearly mentioning that your work is fully reproducible.
-One convention we have adopted until now is to put the Git checkum of the project as the last word of the abstract, for example see \citet{akhlaghi19}, \citet{infantesainz20} and \citet{maneage}
-
-Finally, don't forget to cite \citet{maneage} and acknowledge the funders mentioned below.
-Otherwise we won't be able to continue working on Maneage.
-Also, just as another reminder, before publication, don't forget to follow the ``Publication checklist'' of \texttt{README-hacking.md}.
-%% End of main body.
-
-
-
-
-
-\section{Acknowledgments}
-\new{Please include the following paragraph in the Acknowledgement section of your paper.
- In order to get more funding to continue working on Maneage, we need to to cite it and its funding institutions in your papers.
- Also note that at the start, it includes version and date information for the most recent Maneage commit you merged with (which can be very helpful for others) as well as very basic information about your CPU architecture (which was extracted during configuration).
- This CPU information is very important for reproducibility because some software may not be buildable on other CPU architectures, so it is necessary to publish CPU information with the results and software versions.}
-
-This project was developed in the reproducible framework of Maneage \citep[\emph{Man}aging data lin\emph{eage},][latest Maneage commit \maneageversion{}, from \maneagedate]{maneage}.
-The project was built on an {\machinearchitecture} machine with {\machinebyteorder} byte-order, see Appendix \ref{appendix:software} for the used software and their versions.
-Maneage has been funded partially by the following grants: Japanese Ministry of Education, Culture, Sports, Science, and Technology (MEXT) PhD scholarship to M. Akhlaghi and its Grant-in-Aid for Scientific Research (21244012, 24253003).
-The European Research Council (ERC) advanced grant 339659-MUSICOS.
-The European Union (EU) Horizon 2020 (H2020) research and innovation programmes No 777388 under RDA EU 4.0 project, and Marie Sk\l{}odowska-Curie grant agreement No 721463 to the SUNDIAL ITN.
-The State Research Agency (AEI) of the Spanish Ministry of Science, Innovation and Universities (MCIU) and the European Regional Development Fund (ERDF) under the grant AYA2016-76219-P.
-The IAC project P/300724, financed by the MCIU, through the Canary Islands Department of Economy, Knowledge and Employment.
-
-%% Tell BibLaTeX to put the bibliography list here.
-\printbibliography
+\section{Acknowledgement}
+The workflow of this research note was developed in the reproducible framework of Maneage \citep[\emph{Man}aging data lin\emph{eage},][latest Maneage commit \maneageversion{}, from \maneagedate]{maneage}.
+This note is created from the Git commit {\projectversion} that is hosted on Codeberg\footnote{\url{\projectgitrepo}} and is archived on SoftwareHeritage for longevity.
-%% Start appendix.
-\appendix
+The analysis of this research note was done using GNU Astronomy Utilities (Gnuastro, ascl.net/1801.009) version \gnuastroversion. Work on Gnuastro has been funded by the Japanese Ministry of Education, Culture, Sports, Science, and Technology (MEXT) scholarship and its Grant-in-Aid for Scientific Research (21244012, 24253003), the European Research Council (ERC) advanced grant 339659-MUSICOS, the Spanish Ministry of Economy and Competitiveness (MINECO, grant number AYA2016-76219-P) and the NextGenerationEU grant through the Recovery and Resilience Facility project ICTS-MRR-2021-03-CEFCA.
-%% Mention all used software in an appendix.
-\section{Software acknowledgement}
-\label{appendix:software}
-\input{tex/build/macros/dependencies.tex}
+%% Bibliography
+\bibliography{references}{}
+\bibliographystyle{aasjournal}
%% Finish LaTeX
\end{document}
diff --git a/project b/project
index 0c65211..ef2967c 100755
--- a/project
+++ b/project
@@ -96,6 +96,7 @@ Project 'make' special features.
./project make dist Produce a LaTeX-ready-to-build distribution tarball
('tar.gz') of the project. This is ready to be
uploaded to servers like 'arXiv.org'.
+ ./project make dist-singledir-onlypaper: in the build/analysis directory.
./project make dist-lzip Similar to 'dist', but compress to '.tar.lz'.
./project make dist-zip Similar to 'dist', but compress to '.zip'.
./project make dist-software Build a .tar.gz tarball containing all
diff --git a/reproduce/analysis/config/delete-me-squared-num.conf b/reproduce/analysis/config/delete-me-squared-num.conf
deleted file mode 100644
index c2fa79c..0000000
--- a/reproduce/analysis/config/delete-me-squared-num.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-# Number of samples in the demonstration analysis (to be deleted).
-#
-# Copyright (C) 2019-2023 Mohammad Akhlaghi <mohammad@akhlaghi.org>
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice and
-# this notice are preserved. This file is offered as-is, without any
-# warranty.
-delete-me-squared-num = 50
diff --git a/reproduce/analysis/config/verify-outputs.conf b/reproduce/analysis/config/verify-outputs.conf
index db7751d..449f8a8 100644
--- a/reproduce/analysis/config/verify-outputs.conf
+++ b/reproduce/analysis/config/verify-outputs.conf
@@ -6,4 +6,4 @@
# permitted in any medium without royalty provided the copyright notice and
# this notice are preserved. This file is offered as-is, without any
# warranty.
-verify-outputs = yes
+verify-outputs = no
diff --git a/reproduce/analysis/make/delete-me.mk b/reproduce/analysis/make/delete-me.mk
index 325280d..6db0bf9 100644
--- a/reproduce/analysis/make/delete-me.mk
+++ b/reproduce/analysis/make/delete-me.mk
@@ -19,48 +19,6 @@
-# Dummy dataset
-# -------------
-#
-# Just as a demonstration(!): we will use AWK to generate a table showing X
-# and X^2 and draw its plot.
-#
-# Note that this dataset is directly read by LaTeX to generate a plot, so
-# we need to put it in the $(tex-publish-dir) directory.
-dm-squared = $(tex-publish-dir)/squared.txt
-$(dm-squared): $(pconfdir)/delete-me-squared-num.conf | $(tex-publish-dir)
-
-# When the plotted values are re-made, it is necessary to also delete
-# the TiKZ externalized files so the plot is also re-made by
-# PGFPlots.
- rm -f $(tikzdir)/delete-me-squared.pdf
-
-# Write the column metadata in a temporary file name (appending
-# '.tmp' to the actual target name). Once all steps are done, it is
-# renamed to the final target. We do this because if there is an
-# error in the middle, Make will not consider the job to be complete
-# and will stop here.
- echo "# Data for demonstration plot of default Maneage (MANaging data linEAGE)." > $@.tmp
- echo "# It is a simple plot, showing the power of two: y=x^2! " >> $@.tmp
- echo "# " >> $@.tmp
- echo "# Column 1: X [arbitrary, f32] The horizontal axis numbers." \
- >> $@.tmp
- echo "# Column 2: X_POW2 [arbitrary, f32] The horizontal axis to the power of two." \
- >> $@.tmp
- echo "# " >> $@.tmp
- $(call print-general-metadata, $@.tmp)
-
-# Generate the table of random values.
- awk 'BEGIN {for(i=1;i<=$(delete-me-squared-num);i+=0.5) \
- printf("%-8.1f%.2f\n", i, i*i); }' >> $@.tmp
-
-# Write it into the final target
- mv $@.tmp $@
-
-
-
-
-
# Demo image PDF
# --------------
#
@@ -140,28 +98,12 @@ $(dm-img-stats): $(dm-histdir)/%-stats.txt: $(indir)/%.fits \
#
# NOTE: In LaTeX you cannot use any non-alphabetic character in a variable
# name.
-$(mtexdir)/delete-me.tex: $(dm-squared) $(dm-img-pdf) $(dm-img-histogram) \
+$(mtexdir)/delete-me.tex: $(dm-img-pdf) $(dm-img-histogram) \
$(dm-img-stats)
# Write the number of random values used.
echo "\newcommand{\deletemenum}{$(delete-me-squared-num)}" > $@
-# Note that since Make variables start with a '$(', if you want to
-# use '$' within the shell (not Make), you have to quote any
-# occurance of '$' with another '$'. That is why there are '$$' in
-# the AWK command below.
-#
-# Here, we are first using AWK to find the minimum and maximum
-# values, then using it again to read each separately to use in the
-# macro definition.
- mm=$$(awk 'BEGIN{min=99999; max=-min}
- !/^#/{if($$2>max) max=$$2; if($$2<min) min=$$2;}
- END{print min, max}' $(dm-squared));
- v=$$(echo "$$mm" | awk '{printf "%.3f", $$1}');
- echo "\newcommand{\deletememin}{$$v}" >> $@
- v=$$(echo "$$mm" | awk '{printf "%.3f", $$2}');
- echo "\newcommand{\deletememax}{$$v}" >> $@
-
# Write the statistics of the demo image as a macro.
mean=$$(awk '{printf("%.2f", $$1)}' $(dm-img-stats))
echo "\newcommand{\deletemewfpctwomean}{$$mean}" >> $@
diff --git a/reproduce/analysis/make/initialize.mk b/reproduce/analysis/make/initialize.mk
index 9e8db4a..bce828a 100644
--- a/reproduce/analysis/make/initialize.mk
+++ b/reproduce/analysis/make/initialize.mk
@@ -49,7 +49,9 @@ installdir = $(bsdir)/installed
bashdir = reproduce/analysis/bash
pconfdir = reproduce/analysis/config
-
+# Project-specific directories.
+figdir = $(texdir)/figures
+$(figdir):; mkdir $@
@@ -248,7 +250,8 @@ project-package-contents = $(texdir)/$(project-package-name)
# the project version which may change between two separate runs, even when
# no file actually differs.
.PHONY: all clean dist dist-zip dist-lzip texclean distclean \
- $(project-package-contents) $(mtexdir)/initialize.tex
+ $(project-package-contents) $(mtexdir)/initialize.tex \
+ dist-singledir-onlypaper
texclean:
rm -f *.pdf
@@ -313,7 +316,8 @@ $(project-package-contents): paper.pdf | $(texdir)
printf "\tpdflatex -shell-escape -halt-on-error paper\n" >> $$m
echo "paper.bbl: tex/src/references.tex" >> $$m
printf "\tpdflatex -shell-escape -halt-on-error paper\n" >> $$m
- printf "\tbiber paper\n" >> $$m
+ printf "\tbibtex paper\n" >> $$m
+ printf "\tpdflatex -shell-escape -halt-on-error paper\n" >> $$m
echo ".PHONY: clean" >> $$m
echo "clean:" >> $$m
printf "\trm -f *.aux *.auxlock *.bbl *.bcf\n" >> $$m
@@ -367,21 +371,9 @@ $(project-package-contents): paper.pdf | $(texdir)
cp tex/tikz/*.pdf $$dir/tex/tikz
fi
-# When submitting to places like arXiv, they will just run LaTeX once
-# and won't run 'biber'. So we need to also keep the '.bbl' file into
-# the distributing tarball. However, BibLaTeX is particularly
-# sensitive to versioning (a '.bbl' file has to be read by the same
-# BibLaTeX version that created it). This is hard to do with
-# non-up-to-date places like arXiv. Therefore, we thus just copy the
-# whole of BibLaTeX's source (the version we are using) into the top
-# tarball directory. In this way, arXiv's LaTeX engine will use the
-# same BibLaTeX version to interpret the '.bbl' file. TIP: you can
-# use the same strategy for other LaTeX packages that may cause
-# problems on the arXiv server.
+# The 'bbl' file is produced by BibTeX; and having it allows the user
+# of the tarball to not have to re-create the bibliography.
cp tex/build/build/paper.bbl $$dir/
- tltopdir=.local/texlive/maneage/texmf-dist/tex/latex
- find $$tltopdir/biblatex/ -maxdepth 1 -type f -print0 \
- | xargs -0 cp -t $$dir
# Just in case the package users want to rebuild some of the figures
# (manually un-comment the 'makepdf' command we commented above),
@@ -393,7 +385,7 @@ $(project-package-contents): paper.pdf | $(texdir)
# PROJECT SPECIFIC
# ----------------
# Put any project-specific distribution steps here.
-
+ cp tex/src/aasjournal.bst tex/src/aastex631.cls $$dir/
# ----------------
# Clean temporary files that may have been created by text editors.
@@ -437,6 +429,42 @@ dist-software:
cd $(curdir)
mv $(bsdir)/$$dirname.tar.gz ./
+# Build a distribution directory with all the files in a single directory.
+dist-singledir-onlypaper:
+
+# Set the output directory and if it exists delete it (so we can
+# start with a clean directory).
+ outdir=$(badir)/dist-single-directory
+ if [ -d $$outdir ]; then rm -r $$outdir; fi
+ mkdir $$outdir
+
+# Copy all the necessary files into the output directory.
+ cp paper.tex \
+ tex/tikz/*.pdf \
+ tex/src/aastex631.cls \
+ tex/build/build/paper.bbl \
+ tex/build/macros/project.tex \
+ tex/src/preamble-maneage.tex \
+ tex/src/preamble-project.tex \
+ tex/src/preamble-pgfplots.tex \
+ $$outdir/
+
+# Copy all the macros from 'project.tex' into the output directory.
+ macros=$$(sed -e's|\\input{||' -e's|}||' \
+ tex/build/macros/project.tex)
+ for m in $$macros; do cp $$m $$outdir/; done
+
+# Correct the contents of the files.
+ sed -i -e's|\\newcommand{\\makepdf}{}|%\\newcommand{\\makepdf}{}|' \
+ -e's|tex/src/preamble-maneage.tex|preamble-maneage.tex|' \
+ -e's|tex/src/preamble-project.tex|preamble-project.tex|' \
+ -e's|tex/build/macros/project.tex|project.tex|' \
+ $$outdir/paper.tex
+ sed -i -e's|tex/src/preamble-pgfplots.tex|preamble-pgfplots.tex|' \
+ $$outdir/preamble-project.tex
+ sed -i -e's|tex/build/macros/||' $$outdir/project.tex
+ sed -i -e's|tex/tikz/||' $$outdir/preamble-pgfplots.tex
+
@@ -685,6 +713,10 @@ $(mtexdir)/initialize.tex: | $(mtexdir)
echo "\newcommand{\projectgitrepo}{$(metadata-git-repository)}" >> $@
echo "\newcommand{\projectcopyrightowner}{$(metadata-copyright-owner)}" >> $@
+# Gnuastro's version
+ v=$$(asttable --version | awk 'NR==1{print $$NF}')
+ echo "\newcommand{\gnuastroversion}{$$v}" >> $@
+
# Calculate the latest Maneage commit used to build this project:
# - The project may not have the 'maneage' branch (for example
# after cloning from a fork that didn't include it!). In this
@@ -714,11 +746,3 @@ $(mtexdir)/initialize.tex: | $(mtexdir)
fi
echo "\newcommand{\maneagedate}{$$d}" >> $@
echo "\newcommand{\maneageversion}{$$v}" >> $@
-
-# ----------------- delete the lines below this -------------------
-# These lines are only intended for the default template's output, to
-# demonstrate that is it important to put links in the PDF (for
-# showing where your input data came from). Remove these lines as
-# part of the initial customization of Maneage for your project.
- echo "\\newcommand{\\wfpctwourl}{$(INPUT-wfpc2.fits-url)}" >> $@
-# ----------------- delete the lines above this -------------------
diff --git a/reproduce/analysis/make/paper.mk b/reproduce/analysis/make/paper.mk
index 791108b..d770d8c 100644
--- a/reproduce/analysis/make/paper.mk
+++ b/reproduce/analysis/make/paper.mk
@@ -122,6 +122,15 @@ $(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies-bib.tex \
# will be built anyway once this rule is done.
rm -f $@
+# Link the AASTeX LaTex and bibliography style here.
+ ln -sf $$p/tex/src/aastex631.cls ./
+ ln -sf $$p/tex/src/aasjournal.bst ./
+
+# Fill the 'references.bib' (in Maneage, the software dependencies
+# are in 'tex/build/macros/dependencies-bib.tex'
+ cat $$p/tex/src/references.tex \
+ $$p/tex/build/macros/dependencies-bib.tex > references.bib
+
# The pdflatex option '-shell-escape' is "normally disallowed for
# security reasons" according to the 'info pdflatex' manual, but is
# enabled here in order to allow the use of PGFPlots. If you do not
@@ -129,8 +138,8 @@ $(texbdir)/paper.bbl: tex/src/references.tex $(mtexdir)/dependencies-bib.tex \
# for better security. See https://savannah.nongnu.org/task/?15694
# for details.
pdflatex -shell-escape -halt-on-error "$$p"/paper.tex
- biber paper
-
+ bibtex paper
+ pdflatex -shell-escape -halt-on-error "$$p"/paper.tex
fi
diff --git a/reproduce/software/config/texlive-packages.conf b/reproduce/software/config/texlive-packages.conf
index 250a4e6..4e80bcb 100644
--- a/reproduce/software/config/texlive-packages.conf
+++ b/reproduce/software/config/texlive-packages.conf
@@ -11,16 +11,5 @@
# this notice are preserved. This file is offered as-is, without any
# warranty.
-
-# Note on 'tex' and 'fancyhdr': These two packages are installed along with
-# the basic installation scheme that we used to install tlmgr, they will be
-# ignored in the 'tlmgr install' command, but will be used later when we
-# want their versions.
-#
-# fancyvrb: Needed by R.
-texlive-packages = tex fancyhdr ec newtx fontaxes xkeyval etoolbox xstring \
- xcolor setspace caption footmisc datetime fmtcount \
- titlesec preprint ulem biblatex biber logreq pgf pgfplots \
- fp courier tex-gyre txfonts times csquotes kastrup \
- trimspaces pdftexcmds pdfescape letltxmacro bitset \
- mweights fancyvrb
+texlive-packages = tex pgf pgfplots revtex4-1 textcase helvetic lineno \
+ courier epsf etoolbox ulem times
diff --git a/tex/src/aasjournal.bst b/tex/src/aasjournal.bst
new file mode 100644
index 0000000..68d2dcf
--- /dev/null
+++ b/tex/src/aasjournal.bst
@@ -0,0 +1,1801 @@
+%% AASJournal.bst June 3, 2019
+%%
+%% Revision 1.18 2019/6/3 Amy Hendrickson
+%% Took out `v' preceding version number in @misc
+%%
+%% Rewrote format.pid to implement this precedence:
+%% if doi, print that, if eprint print that, if neither
+%% and there is a url, use the url
+
+%% Took out format.url output generally because it is included in format.pid,
+%% so undesirable to call for it a second time.
+
+%%
+%% Revision 1.17 2019/3/15 Amy Hendrickson
+%% Added DOI to every field where format.url was found. Kept format.url in case
+%% it is needed.
+%%
+
+%% Revision 1.16 2017/10/26 Amy Hendrickson
+%% `url' only active when used in misc
+%%
+%% `note' is disabled in all cases; as is adsnote and adsurl.
+%%
+%% Repair to @misc call to aaspublisher to prevent `, ,'
+%% when there is no publisher listed.
+%%
+%% Make correct hyperlinked content for doi, ascl, and arXiv;
+%% changed definition of FUNCTION {format.eprint} to compare
+%% archivePrefix with "arXiv" and when they match do
+%% ' {new.block "\doarXiv{" eprint * "}" * }
+%% otherwise do
+%% ' {new.block "\doeprint{" eprint * "}" * }
+%%
+%% \dodoi, \doarXiv and \doeprint definitions are sent to the top of the .bbl file
+%% with commands found in FUNCTION {begin.bib}.
+%%
+%% bbl.version no longer used, could be deleted.
+%%
+%% Version number is added when author enters: version = {number}, only in `misc'
+%%
+%% Removed `format.doi output' in {article} because in
+%% combination with { format.pid output } we could get double doi entries
+%% in the bibliography.
+%%
+%% Rewrote format.pid so that we can check to see if we have a doi number; in
+%% which case we use that and suppress the arXiv and eprint combination. However,
+%% we do Not eliminate the url field if the author has entered it.
+%%
+%% Deleted format.miscversion and made a simplified way to produce version in @misc
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Revision 1.15 2016/10/5 Amy Hendrickson
+%% Changed bbl.version so that there is no longer a trailing `.'
+
+%% Revision 1.14 2016/9/14 Amy Hendrickson
+%% Added URL field
+
+%% Revision 1.13 2016/8/9 Amy Hendrickson
+%% Change to presort and bibsort to get multiple entries with same author/year
+%% combination to be ordered in bibliography in same order as \cite{}s entered in text.
+
+%% Revision 1.12 2016/2/11 Amy Hendrickson
+%% Changes to @misc function to specifications by Dr. August Muench.
+%% Made comma appear between title and publisher whether or not there is a version number.
+
+%% Revision 1.11 2015/12/31 Amy Hendrickson
+%% Changes to @misc function to specifications by Dr. August Muench.
+%% Added version and publisher fields.
+
+%% 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 <erik.tollerud@yale.edu>
+%% 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
+%% (these 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 <sfegan@llr.in2p3.fr>
+%%
+%% Revision 1.5 2009/03/19 13:15:11 alberto
+%% Truncate \bibitem entries with more than 8 authors.
+%% Fix courtesy of Craig Wiegert <wigie@alum.mit.edu>
+%% and Andrew R. Marble <amarble@as.arizona.edu>
+%%
+%% Revision 1.4 2002/06/18 16:37:48 alberto
+%% Add comma after first author in two-author reference
+%% Fix courtesy of Tim Robishaw <robishaw@astron.berkeley.edu>
+%%
+%% 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 originally was 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
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ misctitle
+ type
+ volume
+ year
+ version
+ url
+ }
+ {}
+ { 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.version}
+{ "" }
+
+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." }
+
+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.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.url}
+{ url empty$
+ { "" }
+ { new.block "\url{" url * "}" * }
+ if$
+}
+
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { archivePrefix empty$
+ { "" }
+ { archivePrefix "arXiv" =
+ {new.block "\doarXiv{" eprint * "}" * }
+ {new.block "\doeprint{" eprint * "}" * }
+ if$}
+ if$
+ }
+ 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.doi}
+{ doi empty$
+ { "" }
+ { "\dodoi{" doi * "}" * }
+ if$
+}
+
+FUNCTION {format.pid}
+{ doi empty$
+{eprint empty$
+ { url empty$
+ { "" }
+ { format.url }
+ if$}
+ { format.eprint }
+ if$}
+ { format.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 {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
+}
+
+FUNCTION {format.aaspublisher}
+{ 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$
+ 'skip$
+ { format.journal.pages }
+ if$
+ format.pid 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.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.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.pid 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.pid 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.pid 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.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.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
+%% new
+ format.title output
+%% new
+ version empty$
+ 'skip$
+ {bbl.version version * output}
+ if$
+%%
+ howpublished output
+ publisher empty$
+ {}
+ {format.aaspublisher}
+ if$
+ 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.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.pid 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.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.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
+ *
+ " "
+ *
+%% August 2016
+%% commenting out this combination gets the cites right but references wrong
+%% title field.or.null
+%% sort.format.title
+%% *
+%%
+%% with only this line on, we get cites right but references wrong
+ 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
+ *
+ " "
+ *
+%% Commented out August 2016, so that multiple indentical author/year
+%% combinations are entered in the order that \cite{}s are found in text.
+% 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}{}"
+ write$ newline$
+ "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi"
+ write$ newline$
+ "\providecommand{\url}[1]{\href{#1}{#1}}"
+ write$ newline$
+ "\providecommand{\dodoi}[1]{doi:~\href{http://doi.org/#1}{\nolinkurl{#1}}}"
+ write$ newline$
+ "\providecommand{\doeprint}[1]{\href{http://ascl.net/#1}{\nolinkurl{http://ascl.net/#1}}}"
+ write$ newline$
+ "\providecommand{\doarXiv}[1]{\href{https://arxiv.org/abs/#1}{\nolinkurl{https://arxiv.org/abs/#1}}}"
+ 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 `aasjournal.bst'. \ No newline at end of file
diff --git a/tex/src/aastex631.cls b/tex/src/aastex631.cls
new file mode 100644
index 0000000..b1edeb0
--- /dev/null
+++ b/tex/src/aastex631.cls
@@ -0,0 +1,7805 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% AASTEX631.cls %%
+%% Jan 29f, 2021 %%
+%% %%
+%% Copyright 2021 American Astronomical Society %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\currversion{6.3.1f}
+
+%%
+%% 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 <greg.schwarz@aas.org>
+%%% This work consists of the file aastex.cls
+
+%%% copyright = "Copyright (C) 2016--2020 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{aastex631}%%%
+ [2020/12/20 Version 6.3.1d/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, 12pt 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.
+
+% anonymous: to not list authors/affiliations be listed
+
+\newif\ifmanu
+\newif\iftwelvepoint
+\newif\ifmodern
+\newif\ifdoublespace
+\newif\if@two@col
+\newif\ifonecolstyle
+\newif\iftwocolstyle
+
+\newif\ifrnaas
+%% makes modern the style for rnaas
+\DeclareOption{RNAAS}{\global\rnaastrue}
+\DeclareOption{rnaas}{\global\rnaastrue}
+
+ \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}{\onecolstylefalse\twocolstyletrue\@two@coltrue\twelvepointfalse}
+
+%% default style
+\DeclareOption{onecolumn}{\onecolstyletrue\twocolstylefalse}
+
+%% 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}{\@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}
+
+\newif\ifanonymous
+\DeclareOption{anonymous}{\global\anonymoustrue}
+
+
+%% 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,9pt,aps,pra]
+ {\@revtex@cls}
+ \else
+ \LoadClass[nofootinbib,showkeys,twoside,floatfix,superscriptaddress,flushbottom,9pt,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}
+
+%% Default vertical space between horizontal lines. Can change definition
+%% of arraystretch in the body of the paper; either for full article or
+%% for a single table.
+\AtBeginDocument{\def\arraystretch{1}}
+
+%% 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{\ifanonymous\gdef\@rectohead{Anonymous author(s)}\else\gdef\@rectohead{#1}\fi} \righthead{\relax}
+\let\shorttitle\lefthead
+\let\shortauthors\righthead
+
+\def\ps@apjheads{\let\@mkboth\markboth
+ \def\@evenfoot{}
+ \def\@evenhead{\lower9mm\hbox to\textwidth{%
+ \rm\thepage\hfill\textsc{\@rectohead}\hfill}}}
+ \def\@oddfoot{}
+ \def\@oddhead{\lower9mm\hbox to\textwidth{
+ \hfil\rm\textsc{\@versohead}\hfil \rm\thepage}}
+
+\pagestyle{apjheads}
+
+\@twosidetrue
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% TITLE PAGE %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% October 2017, adding preprint number capability
+\newcount\rptnum
+\newcount\rptloopnum
+\def\reportnum#1{\global\advance\rptnum by 1
+\expandafter\gdef\csname report\the\rptnum\endcsname{\hbox to
+\textwidth{\hskip.75\textwidth\relax#1\relax\hfill}}}
+
+\long\def\frontmatter@title@above{
+\ifrnaas
+\vspace*{-\headsep}\vspace*{\headheight}
+\footnotesize
+\noindent{\sc Draft version \today}\\[2pt]
+{\footnotesize Typeset using \LaTeX\ {\bf RNAAS} style in AASTeX631}
+\par\vspace*{-\baselineskip}\vspace*{0.625in}
+\else
+\vbox to 0pt{\vskip-48pt\normalsize\rptloopnum=0\loop
+\global\advance\rptloopnum by 1
+\expandafter\ifx\csname report\the\rptloopnum\endcsname\relax
+\else
+\csname report\the\rptloopnum\endcsname
+\vskip1pt
+\repeat
+\vss
+}
+\ifmodern
+\vglue-18pt
+{\footnotesize
+\raggedright
+{\sc Draft version \today}\\[2pt]
+{\footnotesize
+Typeset using \LaTeX\ {\bf modern} style in AASTeX631}
+\vskip48pt
+}
+\else
+%%
+\ifpreprint
+\vspace*{-\headsep}\vspace*{\headheight}
+\footnotesize
+\noindent{\sc Draft version \today}\\[2pt]
+{\footnotesize Typeset using \LaTeX\ {\bf preprint} style in AASTeX631}
+\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
+AASTeX631}
+\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
+AASTeX631}
+\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
+AASTeX631}
+\par\vspace*{-\baselineskip}\vspace*{0.625in}
+\else
+%% Default
+\vspace*{-\headsep}\vspace*{\headheight}
+\footnotesize
+{\footnotesize\textsc{\@journalinfo}}\par
+{\footnotesize Typeset using \LaTeX\ default style in AASTeX631}%% default style
+\par\vspace*{-\baselineskip}\vspace*{0.625in}
+\fi\fi\fi\fi\fi
+%%
+\fi %% ends test to see if rnaas option was used; if rnaas is true
+ %% none of this command will be activated.
+}%
+
+\def\frontmatter@title@produce{%
+ \begingroup
+\ifnumlines\nolinenumbers\fi
+ \frontmatter@title@above
+ \frontmatter@title@format
+ \@title
+%% October 2017, was +12pt
+ \@ifx{\@title@aux\@title@aux@cleared}{}{%
+\ifanonymous\else%% added may 20, 2020
+ \expandafter\frontmatter@footnote\expandafter{\@title@aux}%
+\fi
+ }%
+ \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{\if@two@col\hsize=.5\textwidth
+\advance\hsize by -18pt
+\fi\relax#1}}
+
+\def\tempfootnoteintitle#1{}
+
+\long\def\ltx@foottext#1#2{%
+ \begingroup
+\expandafter\ltx@make@current@footnote\expandafter{\@mpfn}{#1}%
+\@footnotetext{\vtop{\iftwocolstyle\hsize=.5\textwidth
+\advance\hsize-18pt
+\fi #2\vskip2pt}}% fixed for two col style, march 15, 2019
+ \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}}%% right place for kickoutfootnotes below
+\kickoutfootnotes
+\ifdoublespace\vskip 3\baselineskip\fi
+}%
+ \def\@shorttitle{#1}%
+ \let\@AF@join\@title@join
+}%
+
+\def\frontmatter@title@format{
+%% No exception for rnaas, May, 2019
+%\ifrnaas
+%\large\scshape\centering
+%\else
+\normalsize
+%% added Mar 2019
+\bf\centering
+%\fi
+}
+
+\def\frontmatter@title@below{\vskip8pt}%
+
+
+\def\frontmatter@authorformat{\small\advance\baselineskip-3pt
+\parskip=0pt\ifrnaas\else\scshape\fi
+\ifmodern
+\vskip48pt
+\centering
+\leftskip=.05in plus 1fil
+\rightskip=.05in plus 1 fil
+\baselineskip=13pt
+\else
+\centering
+\fi
+}%
+
+
+\def\frontmatter@affiliationfont{\normalfont\footnotesize
+%% changed october 2017
+\it
+\iflongauthor\else
+\ifrnaas\else
+\rightskip-12pt plus 1fil
+\leftskip6pt \parindent-4pt
+\fi\fi
+}%
+
+ \def\frontmatter@finalspace{\ifrnaas\vspace*{-\baselineskip}\vspace*{0.0in}
+\else
+\vskip-24pt\fi}
+
+\def\@separator{\\}%
+
+\newcounter{front@matter@foot@note}\setcounter{front@matter@foot@note}{0}
+
+\iflongauthor%
+\renewcommand\affiliation[1]{%
+\parskip=2pt
+\def\@centercr{\vrule depth 3pt width0pt\vskip1sp}
+ \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=11pt
+\fi\fi
+\ifnum\countauthors=\AuthorCollaborationLimit
+ #1\ifmodern\iflongauthor\baselineskip=12pt\else\vskip2pt\fi\else\baselineskip=11pt
+\fi\fi
+\iflongauthor \vskip-10pt\ifnum\countauthors>\AuthorCollaborationLimit\iftwelvepoint\vskip-3pt\else\iftwocolstyle\else\vskip-6pt\fi\fi\fi%
+\fi
+}%
+\let\@centercr\savecentercr}%
+\else
+%% older version
+\renewcommand\affiliation[1]{%
+ \move@AU\move@AF%
+ \begingroup%
+ \@affiliation{%\hspace*{2mm}
+%% october 2017 changes:
+\centering
+ #1\ifmodern
+\baselineskip=9.5pt
+ \else
+ \iftwelvepoint
+ \ifpreprint\baselineskip=12pt\else\ifpreprinttwo\else\baselineskip19pt\fi\fi\else \baselineskip=9.5pt\fi
+\fi}%
+}%
+\fi %% end switch for longauthor
+
+% ABSTRACT
+\def\frontmatter@abstractfont{\normalsize\parindent=9pt
+}%
+%% october 2017
+\def\frontmatter@abstractwidth{478pt}
+\def\frontmatter@preabstractspace{12pt}
+\def\frontmatter@postabstractspace{12pt}
+
+\def\abstractname{ABSTRACT}
+\long\def\frontmatter@abstractheading{%
+ \begingroup
+ \centering
+\ifmodern\else\hskip34pt \fi \abstractname
+ \vskip 1mm
+ \par
+ \endgroup
+}%
+
+\newif\ifabstract%
+\renewenvironment{frontmatter@abstract}{%
+ \aftermaketitle@chk{\begin{abstract}}%
+\global\abstracttrue
+ \global\setbox\absbox\vbox\bgroup
+ \color@begingroup
+%% width of abstract changed oct 2017
+\ifmodern
+ \columnwidth\textwidth
+ \hsize\columnwidth
+\else
+\hsize = 478pt
+\fi
+ \@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
+\ifmodern\else\everypar={\leftskip=34pt}\fi
+% \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
+%% centered, oct 2017
+\unvbox\absbox
+ \post@absbox
+ \endgroup
+ \@ifx{\@empty\mini@notes}{}{\mini@notes\par}%
+ \addvspace\frontmatter@postabstractspace
+\global\abstractfalse
+\vskip12pt
+}%
+
+\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}%
+\ifmodern\else
+\rightskip=0.5in
+\leftskip=34pt
+\fi
+\parindent=0pt%
+ \hangindent=\keys@width\hangafter=1\normalsize}%
+\def\@keywords@produce#1{%
+ \showKEYS@sw{%
+ \begingroup%
+ \frontmatter@keys@format%
+ \@keys@name#1
+\vrule depth 12pt width 0pt
+\ifnobreakafterkeywords
+\vrule depth 24pt width0pt\fi
+\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{\hsize=\columnwidth\mbox{}\hspace*{3mm}\@makefnmark~#1}
+
+
+% ****************************************
+% * SECTIONS *
+% ****************************************
+
+\setcounter{secnumdepth}{3}
+
+\newcount\tempsectnum
+
+\newif\if@firstsection \@firstsectiontrue
+
+
+\def\section{%
+\ifanonymous\nocollaboration{0}\fi
+\if@firstsection
+%% In case no collaboration is listed:
+\ifcollaborationon\else\let\doauthor\olddoauthor
+\ifanonymous \else
+\let\allauthors=\oldallauthors\fi
+\fi
+%\edef\currauthorlimit{\the\AuthorCollaborationLimit}
+%\collaboration{\currauthorlimit}{}
+ \maketitle
+\global\@firstsectionfalse
+ \setcounter{footnote}{\thefront@matter@foot@note}%
+ \let\footnotetext=\old@foot@note@text
+ \let\footnotemark=\old@foot@note@mark
+\ifnobreakafterkeywords
+\ifmodern\vskip24pt
+\else
+\vskip12pt\fi%%
+\goodbreak
+\else
+\ifrnaas\else
+ \clearpage\fi
+\fi
+ \if@two@col
+ \twocolumngrid
+ \fi
+\fi
+\tempsectnum=\the\c@section
+\advance\tempsectnum by 1
+\xdef\cref@currentlabel{section \the\tempsectnum}
+ \@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{\ifrnaas\else #1.\ \fi}
+\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}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% changed to begin...end form, May 20,2020, AH
+%% Acknowledgments, use \begin{acknowledgments}...\end{acknowledgments}
+%% or \begin{acknowledgements}...\end{acknowledgements}
+
+{\catcode`#=12
+\gdef\hashmark{#}}
+
+\def\xacknowledgments{acknowledgments}
+\def\xacknowledgements{acknowledgements}
+\newbox\ackbox
+
+\def\acknowledgments{%
+\ifx\@currenvir\xacknowledgments\let\go\relax\else
+\let\go\stop
+\typeout{x^^J^^J^^J^^J^^J^^J^^J^^J
+ ===================^^J
+In AASTeX v6.3.1 the \string\acknowledgments\space command has been deprecated.^^J^^J
+Instead, please use the begin/end form:^^J^^J
+"\string\begin\string{acknowledgments\string}...\string\end\string{acknowledgments\string}"^^J^^J
+when using acknowledgments.^^J^^J See here:
+\url{https://journals.aas.org/aastexguide/\hashmark acknowledgments}
+^^J^^J
+ for more
+details.^^J
+ ===================^^J
+}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Printed error
+\vskip12pt
+\hrule height 1pt
+\vskip12pt
+\noindent ERROR:
+In AASTeX v6.3.1 the {\tt\string\acknowledgments} command has been
+deprecated.\\
+Instead, please use the begin/end form:\\
+{\tt
+\string\begin\string{acknowledgments\string}...\string\end\string{acknowledgments\string}}\\
+when using acknowledgments. For more details, see:\\
+\url{https://journals.aas.org/aastexguide/\hashmark acknowledgments}
+%
+\fi\go
+%%
+\global\setbox\ackbox=\vbox\bgroup
+\expandafter\ifx\csname internallinenumbers\endcsname\relax\else
+\begin{internallinenumbers}
+\fi
+\vskip 5.8mm plus 1mm minus 1mm
+\vskip1sp
+%\section*{Acknowledgments}
+\noindent\ignorespaces}
+
+\def\endacknowledgments{
+\expandafter\ifx\csname internallinenumbers\endcsname\relax\else
+\end{internallinenumbers}
+\fi
+\egroup%% completes ackbox
+\ifanonymous
+\vskip 5.8mm plus 1mm minus 1mm
+\vskip1sp
+%\section*{Acknowledgments}
+\centerline{(Acknowledgments anonymized for review)}
+\else
+\vbox{\unvbox\ackbox}
+\fi\vskip6pt}
+
+%% alternate spelling
+\def\acknowledgements{%
+\ifx\@currenvir\xacknowledgements\let\go\relax\else
+\let\go\stop
+\typeout{x^^J^^J^^J^^J^^J^^J^^J^^J
+ ===================^^J
+In AASTeX v6.3.1 the \string\acknowledgements\space command has been deprecated.^^J^^J
+Please use the begin/end form:^^J^^J
+"\string\begin\string{acknowledgements\string}...\string\end\string{acknowledgements\string}"^^J^^J
+when using acknowledgements.^^J^^J See here:
+\href{https://journals.aas.org/aastexguide/\hashmark acknowledgments}
+{https://journals.aas.org/aastexguide/\hashmark acknowledgments}
+^^J^^J
+ for more
+details.^^J
+ ===================^^J
+}%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Printed error
+\vskip12pt
+\hrule height 1pt
+\vskip12pt
+\noindent ERROR:
+In AASTeX v6.3.1 the {\tt\string\acknowledgements} command has been
+deprecated.\\
+Instead, please use the begin/end form:\\
+{\tt
+\string\begin\string{acknowledgements\string}...\string\end\string{acknowledgements\string}}\\
+For more details, see:\\
+\url{https://journals.aas.org/aastexguide/\hashmark acknowledgments}
+%
+\fi\go
+%%
+\global\setbox\ackbox=\vbox\bgroup
+\expandafter\ifx\csname internallinenumbers\endcsname\relax\else
+\begin{internallinenumbers}
+\fi
+\vskip 5.8mm plus 1mm minus 1mm
+\vskip1sp
+%\section*{Acknowledgments}
+\noindent\ignorespaces}
+
+\def\endacknowledgements{
+\expandafter\ifx\csname internallinenumbers\endcsname\relax\else
+\end{internallinenumbers}
+\fi
+\egroup%% completes ackbox
+\ifanonymous
+\vskip 5.8mm plus 1mm minus 1mm
+\vskip1sp
+%\section*{Acknowledgements}
+\centerline{(Acknowledgements anonymized for review)}
+\else
+\vbox{\unvbox\ackbox}
+\fi\vskip6pt}
+
+
+
+
+
+
+% ****************************************
+% * 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
+\if@two@col
+\onecolumngrid
+\noindent\mbox{}\vrule height 24pt width0pt\hfill{\apjsecfont APPENDIX}\hfill\mbox{}\par
+\vskip18pt
+ \if@two@col@app\global\@two@coltrue\twocolumngrid \fi
+ % above, we want onecolumngrid to be default. Only twocolumn is asked for in documentclass option
+\else
+\noindent\mbox{}\vrule height 24pt width0pt\hfill{\apjsecfont
+APPENDIX}\hfill\mbox{}\par
+\vskip18pt
+ \if@two@col@app\global\@two@coltrue\twocolumngrid
+ \fi\fi
+% \vrule used for extra space; otherwise revtex4-1 sometimes eats
+% away the last line before appendix
+ \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
+\ifappletter
+\let\savesection\section
+\def\section{\resetapptablenumbers\savesection}
+\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
+%% Jan29, 2021, added \ifonecolstyle, \ifpreprinttwo
+\ifnumlines
+\ifonecolstyle
+\ifpreprinttwo\else
+\advance\linenumbersep-12pt\fi\fi\fi
+ \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
+%%\ifrnaas\newpage\fi% Not wanted, March 2019
+\onecolumngrid
+\vspace{20pt}
+\goodbreak
+ \hbox to\textwidth{\hss\normalsize REFERENCES\hss}
+\vspace{6pt}\parskip=0pt
+\twocolumngrid
+%% Jan29, 2021, added \ifonecolstyle
+\ifnumlines
+\ifonecolstyle
+\ifpreprinttwo\else
+\advance\linenumbersep-12pt\fi\fi\fi
+\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}}}
+
+%% redefined below
+\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:
+
+% This has been redefined below
+%\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}}%
+
+
+\long\def\software{\bgroup\@testopt \@software {[}}
+\def\@software[#1]#2{\vskip 6pt{
+\frenchspacing
+\iftwelvepoint
+\font\foo=cmr12
+\else
+\font\foo=cmr10\fi
+%%
+\fontdimen2\foo=3pt %% Changed from 1.5pt to 3pt, March12, 2019
+%%
+{\large \it Software: }
+#2
+%% returning to original fontdimen
+\iftwelvepoint
+\fontdimen2\foo=3.91663pt
+\else
+\fontdimen2\foo=3.33333pt
+\fi
+}\egroup}
+
+
+
+
+
+\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\psj{\ref@jnl{PSJ}}% % Planetary Science 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\jaavso{\ref@jnl{JAAVSO}} % The Journal of the American Association of Variable Star Observers
+\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}
+
+%% March 25, 2019
+%% Old v5.2 way, From Greg, This allows a number like 33N to be used
+%% for a table, and the cross-references will work correctly
+\newcommand\tablenum[1]{%
+ \def\thetable{#1}%
+ \xdef\@currentlabel{\thetable}
+\global\advance\c@table-1\relax
+}%
+
+\let\savetablenum\tablenum
+
+\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
+{%
+\xdef \@currentlabel{\thetable}
+ \sbox\@tempboxa{\small #2.
+%% disable trackchanges commands here, so they aren't entered 2 times:
+\let\added\relax
+\let\deleted\relax
+\let\replaced\relax
+#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
+%% \small added to keep currtabletypesize from determining size of caption
+ \sbox\@tempboxa{\small
+%% disable trackchanges commands here, so they aren't entered 2 times:
+\let\added\relax
+\let\deleted\relax
+\let\replaced\relax
+{\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}%
+}%
+
+%% march 2019, added \it to tablenotemark
+\global\def\tablenotemark#1{{\normalfont\textsuperscript{\normalsize\it #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}
+
+%% this version of \tablehead doesn't seem to be used, so set to \xyztablehead{}
+\def\xyztablehead#1{\@table@not@headedfalse%
+ \kill
+ \caption{\\%
+ \@tablecaption\gdef\@currentlabel{\thetable}(0)}
+ \\\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%
+}
+
+\newif\if@table@not@headed
+
+\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, == added height 12pt, nov 2017
+\def\colhead#1{\multicolumn{1}{c}{\vrule depth 6pt height 12pt width
+0pt\relax#1}\ignorespaces}
+\def\twocolhead#1{\multicolumn{2}{c}{\hss\vrule depth 6pt height 12pt width
+0pt\relax#1\hss}\ignorespaces}
+\def\nocolhead#1{\multicolumn{1}{h}{}\ignorespaces}
+\def\dcolhead#1{\multicolumn{1}{c}{$\vrule depth 6pt height12pt
+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}}
+
+\usepackage{url}
+%% if we take away the xx before UrlBreaks we will get a url that breaks
+%% at any letter or number. It might be better to break only at / however...
+\expandafter\def\expandafter\xxUrlBreaks\expandafter{\UrlBreaks% save the current one
+ \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j%
+ \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t%
+ \do\u\do\v\do\w\do\x\do\y\do\z\do\A\do\B\do\C\do\D%
+ \do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M\do\N%
+ \do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X%
+ \do\Y\do\Z\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9}
+
+
+%% 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}
+
+
+\PassOptionsToPackage{hyphens}{url}
+%% In response to request from AAS
+ \usepackage[bookmarks=true, % show bookmarks bar?/ Changed March 22, 2019 for
+ % improved accessibility
+ 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}{<preamble B preamble>}...\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\hskip\movetableright
+\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<number>\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-8pt}
+%\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<number>\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<number>\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}%%
+%\noalign{\vskip-8pt}
+\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\\
+\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
+\null% added june 2020
+\global\colnumbersonfalse
+\global\deluxedecimalsfalse
+\global\deluxestarfalse
+}
+
+\def\deluxedecimalcolnumbers{\deluxedecimalstrue\colnumbersontrue}
+\def\deluxetablecaption#1{\gdef\@tablecaption{#1}}
+
+\newif\ifstartlongtable
+\def\startlongtable{\vskip1sp\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
+%% Mar 30, 2019, to make label outside of \caption work correctly
+{\advance\c@table by 1
+\xdef\@currentlabel{\thetable}}
+\let\tablecaption\deluxetablecaption
+\deluxetablecaption{}
+%% july 2016
+% \iffloat
+% \let\go\ydeluxetable
+% \else\let\go\longdeluxetable\fi\go%}
+%% aug 2016
+\ifstartlongtable
+%% this works for both deluxetable and deluxetable*:
+%% nov 2017:
+\def\arraystretch{1.1}
+%% March 2019
+\if@two@col\global\returntotwocoltrue\vskip1pt
+\ifdeluxestar\onecolumngrid\fi\fi
+%%
+\ifdeluxestar
+\vskip12pt
+\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
+%% not here
+\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
+
+%% not here
+\global\setbox3\hbox{%
+\begin{tabular}{#1}%
+\hline\hline\noalign{\vskip-9pt}%
+\pt@head%
+##1\crcr% added october 2017
+\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}}% not here
+\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\crcr%% added October 2017
+\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
+
+
+
+%%@@@@
+
+%% Variation on definition found in revtex4-1.cls
+\def\LT@start@new{%
+ \let\LT@start\endgraf
+ \endgraf
+ \markthr@@{}%
+ \LT@pre
+ \@ifvoid\LT@firsthead{\LT@top}{\hbox{\ifdim\movetableright>0pt\relax\hskip\movetableright\fi\box\LT@firsthead}
+\nobreak}%
+ \mark@envir{longtable}%
+}%
+
+%%%
+\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
+%% march 2019, added [c] and these terms:
+\ifcenterwidetable\global\centerwidetablefalse
+ \def\LT@LR@c{\LTleft=0pt minus1fill
+ \let\LTright\LTleft}%
+\else
+%% default, will center table that is narrower than text width
+ \def\LT@LR@c{\LTleft=0pt plus1fill
+ \LTright\LTleft}%
+\fi
+%%
+%
+\begin{longtable}[c]{#1}%%
+\ifdim\movetableright>0pt
+ \noalign{\ifdim\movetableright>0pt
+ \global\LTleft=\movetableright
+ \fi}
+%
+ \noalign{\hbox to \wd\longtablebox{
+ \vtop{\hsize=.8\wd\longtablebox
+ \advance\baselineskip4pt
+ \raggedright
+ {\bf \fnum@table}.\vrule depth 6pt width0pt\
+ \@tablecaption}\hss}\vskip-3pt }\\
+ \hline
+ \hline\noalign{\vskip-9pt}
+ \pt@head%
+\else
+\caption{\hsize=\wd\longtablebox
+\advance\baselineskip2pt
+\@tablecaption}\\ %
+\hline\hline\noalign{\vskip-9pt}% prob ok
+\pt@head%
+\fi
+\endfirsthead
+
+\noalign{\centerline{\small
+\hskip\movetableright{\bf \fnum@table}\ \it(continued)}\vskip6pt}
+\hline\hline
+\noalign{\vskip-12pt}
+\pt@head%
+\endhead
+
+\hline
+\multicolumn{\totalcolumns}{c}{\vrule height 24pt width0pt\small\it
+\fnum@table\
+continued \if@two@col\else on next page\fi}\\
+\endfoot
+
+\hline%\nobreak
+\endlastfoot
+##1
+\end{longtable}
+\vglue-\LTpost
+\vskip-6pt
+\egroup
+\global\setbox4=\vtop\bgroup
+\ifdim\wd\longtablebox>\textwidth
+\hsize=\textwidth
+\else
+\hsize=\wd\longtablebox\fi
+\leftskip=6pt
+\parindent=-6pt
+\currtabletypesize
+\global\startlongtablefalse
+\global\movetableright=0pt
+}% end data, endlongtable
+}
+
+\def\endlongdeluxetable{
+%%
+\vrule depth 6pt width 0pt
+\vskip1sp
+\egroup
+\ifdim\dp4>6pt
+\vglue-6pt
+\vbox{\hbox to \columnwidth{\hfill
+\vtop{\hsize\wd\longtablebox
+\leftskip=6pt\parindent-6pt
+\copy4
+}\hfill}%%
+}
+\fi
+\vglue\ht4
+\global\colnumbersonfalse
+\global\deluxedecimalsfalse
+\global\rotateonfalse
+%%
+\relax\null%% \null is an empty hbox.
+%% This keeps final page(s) of startlongtable/deluxetable
+%% from begin thrown away when at end of article.
+% \global\advance\c@table-1\relax
+%%
+%
+%% march 2019
+\ifreturntotwocol\global\returntotwocolfalse
+\twocolumngrid\fi
+%% May 2020
+\ifappendixon
+\if@two@col@app
+\twocolumngrid
+\else
+\onecolumngrid\fi\fi
+\null
+}%%
+
+
+%% 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
+\null
+% added june 2020
+\gdef\colnumbers{\saveplaincolnumbers}
+\global\breaktabfalse
+\global\deluxefalse
+\global\colnumbersonfalse
+\global\deluxedecimalsfalse
+\global\rotateonfalse
+\startlongtablefalse
+\global\movetableright=0pt
+%\global\floatfalse
+%\global\advance\c@table by -1\relax
+%% check this!!
+}
+
+%%@@@ ???
+
+\newbox\splitbox
+\newif\ifdeluxe
+\def\splitdeluxetable{
+%% Mar 30, 2019, to make label outside of \caption work correctly
+{\advance\c@table by 1
+\xdef\@currentlabel{\thetable}}
+\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% this is for top level split
+\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{\vskip1pt{\small\vskip1sp\indent\vrule height 11pt depth 2pt
+width 0pt\currtabletypesize{\sc Note}---{#1}\vskip1pt}}
+
+\def\tablenotetext#1#2{\vskip1pt{\currtabletypesize\vskip1pt\indent\vrule
+height 11pt depth
+2pt width0pt\relax$^{\hbox to 5pt{$#1$}}$#2\vskip1pt}}
+
+\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{\vrule height 12pt width0pt\relax\tempcounter=0
+\expandafter\getDs\tabfullpreamble\relax
+\global\colcount=0
+\global\colheadcount=0}%
+\\
+\iftwelvepoint%
+ \ifpreprint%
+ \iflongrotateon\else\noalign{\vskip-6.5pt}\fi%
+ \else%
+ \ifpreprinttwo%
+ \iflongrotateon\else\noalign{\vskip-6.5pt}\fi%
+ \else%
+ \ifmanu%
+ \iflongrotateon\noalign{\vskip-8pt}\else\noalign{\vskip-17pt}\fi%
+ \else%
+ \ifmodern\iflongrotateon\else\noalign{\vskip-9pt}\fi%
+ \else%
+ \fi%% end ifmodern
+ \fi%% end ifmanu
+ \fi%% end ifpreprinttwo
+ \fi%% end ifpreprint
+\else%
+%% not twelvepoint
+ \iftwocolstyle%
+ \iflongrotateon\else\noalign{\vskip-5pt}\fi%
+ \else%
+ \ifonecolstyle% default
+ \iflongrotateon\noalign{\vskip2pt}\else\noalign{\vskip-4.5pt}\fi%
+ \fi% end ifonecol
+ \fi%endiftwocolstyle
+\fi%end iftwelvepoint
+#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{\vrule height12pt width0pt\relax\expandafter\getDs\tabfullpreamble\relax
+\global\tempcounter=0
+\global\colcount=0
+\global\colheadcount=0}\\
+\iftwelvepoint%
+ \ifpreprint%
+ \iflongrotateon\else\noalign{\vskip-6.5pt}\fi%
+ \else%
+ \ifpreprinttwo%
+ \iflongrotateon\else\noalign{\vskip-6.5pt}\fi%
+ \else%
+ \ifmanu%
+ \iflongrotateon\noalign{\vskip-8pt}\else\noalign{\vskip-17pt}\fi%
+ \else%
+ \ifmodern \iflongrotateon\else\noalign{\vskip-5pt}\fi%
+ \else%
+ \fi%% end ifmodern
+ \fi%% end ifmanu
+ \fi%% end ifpreprinttwo
+ \fi%% end ifpreprint
+\else%
+%% not twelvepoint
+ \iftwocolstyle%
+ \iflongrotateon\else\noalign{\vskip-5pt}\fi%
+ \else%
+ \ifonecolstyle% default
+ \iflongrotateon\noalign{\vskip2pt}\else\noalign{\vskip-4.5pt}\fi%
+ \fi% end ifonecol
+ \fi%endiftwocolstyle
+\fi%end iftwelvepoint
+#1\unskip%
+\ifcolnumberson\\[6pt]
+\savecolnumbers\vrule height 11pt depth 4pt width 0pt\relax%
+\\\ifmanu\noalign{\vskip-15pt}\fi%
+\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
+width0pt\relax#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
+%%
+
+
+%%% \movetabledown works
+\newbox\rotatetablebox
+\def\rotatetable{%
+\clearpage
+\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
+}
+
+%%% \movetabledown works
+\expandafter\def\csname rotatetable*\endcsname{%
+\clearpage
+\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
+}
+
+%
+%%% \movetabledown works
+\newif\iflongrotateon
+\def\longrotatetable{%
+\global\longrotateontrue
+ \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{\vskip\movetabledown\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\longrotateonfalse
+\global\movetabledown=0pt
+ \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<number>{text}, all
+%% \collaborationcomment<number>{text}, and all
+%% \authorcomment<number>{text} from producing any text.
+
+\newif\ifturnoffedit
+\def\turnoffedit{\global\turnoffedittrue}
+\def\turnoffedits{\global\turnoffedittrue}
+\let\turnoffediting\turnoffedits
+
+\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{black}% was magenta
+\expandafter\def\csname editcolor2\endcsname{black}% was blue
+\expandafter\def\csname editcolor3\endcsname{black}% was violet
+
+\let\newgo\relax
+\newcount\colorcount
+
+\newcount\editnum
+\def\edit#1#2{\ifcase#1\or\ifturnoffone%
+\unskip%
+\else%
+\texorpdfstring{{\bf#2}}{#2}\fi\or%
+\ifturnofftwo%
+\unskip%
+\else\texorpdfstring{{\bfseries\itshape#2}}{#2}\fi%
+\or%
+\ifturnoffthree\unskip\else%
+\texorpdfstring{{\bfseries\underline{#2}}}{#2}\fi\fi}
+
+\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 1: #2)\ \fi}\else
+\ifnum\colorcount=2{\ifturnofftwo\else\it (Author~note 2: #2)\ \fi}\else
+\ifnum\colorcount=3{\ifturnoffthree\else (Author~note 3: #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%
+}%
+
+
+% needed??
+\gdef\specialbibitem#1[#2]#3#4{
+{\tt\string\bibitem}[#2]{\tt\string{\string}}
+#4}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%% 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}{cmyk}{0,0,0,1}
+\providecolor{explain}{cmyk}{0,0,0,1}
+
+\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}\bf(Added: [#1] #2)}%%
+\ifabstract\label{\the\refchangenumber}%
+\expandafter\gdef\csname
+changenum\the\refchangenumber\endcsname{\bf Added: [#1]
+\textcolor{trackchange}\bf\relax{#2}\global\silenttrue}%
+\else\expandafter\gdef\csname
+changenum\the\refchangenumber\endcsname{\bf\relax Added: [#1]
+\textcolor{trackchange}\bf\relax{\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}\bf(Added: #1)}%%
+\ifabstract%
+\label{\the\refchangenumber}%
+\expandafter\gdef\csname
+changenum\the\refchangenumber\endcsname{\bf Added:
+\textcolor{trackchange}\bf\relax{#1},
+\global\silenttrue}\else
+\expandafter\gdef\csname
+changenum\the\refchangenumber\endcsname{\bf Added:
+\textcolor{trackchange}{\bf\relax\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}\bf%
+\ifbib\let\sout\relax\fi%
+(Deleted: [#1] \sout{#2})
+}%
+\ifabstract\label{\the\refchangenumber}%
+\expandafter\gdef\csname
+changenum\the\refchangenumber\endcsname{Deleted: [#1]
+{\color{trackchange}\bf%
+\sout{#2}}\global\silenttrue}%
+\else
+\expandafter\gdef\csname
+changenum\the\refchangenumber\endcsname{Deleted: [#1]
+{\color{trackchange}%
+\let\bibitem\specialbibitem%
+\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}\bf%
+\ifbib\let\sout\relax\fi%
+(Deleted: \sout{#1})}%
+\ifabstract\label{\the\refchangenumber}%
+\expandafter\gdef\csname changenum\the\refchangenumber\endcsname{Deleted:
+{\color{trackchange}\bf
+\sout{#1}}\global\silenttrue}%
+\else
+\expandafter\gdef\csname changenum\the\refchangenumber\endcsname{Deleted:
+{\color{trackchange}\bf%
+\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
+\color{trackchange}\bf(Replaced: [#1] \sout{#2}}%
+{\color{black}replaced with:} {
+\color{trackchange}\bf\relax #3)}%
+\ifabstract\label{\the\refchangenumber}%
+\expandafter\gdef\csname
+changenum\the\refchangenumber\endcsname{Replaced: [#1]
+{\color{trackchange}\bf\relax\sout{#2}} {\color{black} replaced with:}
+{\color{trackchange}\bf\relax#3}, \global\silenttrue}%
+\else
+\expandafter\gdef\csname
+changenum\the\refchangenumber\endcsname{Replaced: [#1]
+{\ifbib\let\sout\relax\fi
+\color{trackchange}\bf\relax\sout{#2}
+} {\color{black} replaced with:}
+{\color{trackchange}\bf\relax#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
+\color{trackchange}\bf\relax(Replaced:
+\sout{#1}
+}%
+{\color{black}replaced with:}
+{\color{trackchange}\bf\relax #2)}%
+\ifabstract\label{\the\refchangenumber}%
+\expandafter\gdef\csname changenum\the\refchangenumber\endcsname{Replaced:
+{\color{trackchange}\bf\relax
+\sout{#1}} {\color{black} replaced with:}
+{\color{trackchange}\bf\relax#2},\global\silenttrue}%
+\else
+\expandafter\gdef\csname
+changenum\the\refchangenumber\endcsname{Replaced:
+{\ifbib\let\sout\relax\fi
+\color{trackchange}\bf\relax\sout{#1}
+} {\color{black} replaced with:}
+{\let\bibitem\specialbibitem\color{trackchange}\bf\relax#2}, \global\silentfalse}\fi%
+\else#2\fi}
+
+\def\explain{\@ifnextchar[{\xexplain}{\yexplain}}
+
+\def\xexplain[#1]#2{\iftrack\ {\bfseries\itshape\color{explain} [Explanation of change:
+#2 (#1)]\ }\fi}
+
+\def\yexplain#1{\iftrack\ {\bfseries\itshape\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\xtable{table}
+\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}}
+
+%% changed, March 23, 2019, took out \\ at end of definition:
+\newcommand\tablebreak{\\[-11pt]\noalign{\break}}
+
+%% As suggested by Greg Schwarz, August Meunch, Feb 11
+
+\def\dataset{\def\doi##1{https://doi.org/##1}
+\@ifnextchar[{\ydataset}{\xdataset}}
+\def\xdataset#1{\ydataset[]{#1}\let\doi\savedoi}
+\def\ydataset[#1]#2{\def\one{#1}\ifx\one\empty
+\href{#2}{[DATASET]}\else
+\href{#2}{#1}\fi\let\doi\savedoi}
+
+%% 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}
+
+\newcount\entriesinthiscollab
+\newcount\allentries
+\newif\ifseesmessage
+\def\author{\global\advance\entriesinthiscollab by 1\relax%
+\global\advance\allentries by 1\relax\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%
+\openin1 Orcid-ID.png \ifeof1
+%% message for authors??
+%\typeout{^^J^^J ! Missing File: Orcid-ID.png; needed for Orcid Author icon !
+%^^J}
+\else%
+\hskip2pt\includegraphics[width=9pt]{Orcid-ID.png}\fi}}{}}%
+}%
+
+\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}}%% oct 7, this doesn't seem to work
+
+\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=10000
+\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
+}
+
+%\gdef\newcomma@space{\hskip-3pt\textsuperscript{,}}%
+\def\doEtAl{\rm et al.\gdef\doEtAl{\relax}}
+%% =====================
+\newif\iffirsttime
+\firsttimetrue
+\newcount\totalentries
+\newcount\docollabnum
+\newcount\tempauthornumber
+\newcount\countauthors
+\newif\ifdothis
+\def\doAnd{}
+\newcount\testnum
+
+\def\olddoauthor#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
+ \@if@empty{#2}{\endgroup{}{}}
+{\ifnum\countauthors>\AuthorCollaborationLimit\endgroup{}{}%% <<< bug fix, added \endgroup{}{}
+\else
+\endgroup{\comma@space}{}\frontmatter@footnote{#2}\fi}%
+\ifnum\countauthors>\AuthorCollaborationLimit\else \space
+\@listand\fi
+}%
+
+\newif\ifaddspace
+\def\doauthor#1#2#3{%
+\iflongauthor\vskip6pt\fi%%%
+\ifanonymous%
+ \iffirsttime%
+ \global\firsttimefalse%
+ Anonymous author(s)%
+ \fi%
+\else%% ends at end of this def
+%%%
+\ifnum\docollabnum< 1
+\global\AuthorCollaborationLimit\expandafter\csname
+currCollabLimit0\endcsname%
+%% this won't change until after collaboration name at end
+\fi %% end ifnum\docollabnum
+%%
+%%%%%%%%%%%%%%%%
+\global\advance\totalentries by 1\relax%
+\global\advance\countauthors by 1\relax%
+%%%
+\ifallauthors\global\AuthorCollaborationLimit=9999 \fi%
+%%%
+% for testing
+% [author number=\the\countauthors/ auth collab limit
+% =\the\AuthorCollaborationLimit]
+%
+\gdef\xone{#1}%
+\ifnum\countauthors < \AuthorCollaborationLimit
+\global\addspacetrue
+\gdef\docomma{,}\else\gdef\docomma{}\fi% ok
+%%%
+\ifnum\countauthors = \AuthorCollaborationLimit
+\ifnum\AuthorCollaborationLimit=1\else
+\gdef\doAnd{And }\fi%
+\ifnum\tempauthornumber= 1
+\gdef\doAnd{ } \fi\fi%
+%%
+{\tempauthorminusone=\AuthorCollaborationLimit
+\advance\tempauthorminusone by -1
+\ifnum\countauthors=\tempauthorminusone
+\gdef\doAnd{And }%
+\gdef\docomma{}\fi}%
+%%%
+\global\dothisfalse%
+%% if num countauthors is less than or equal to \AuthorCollaborationLimit, print name
+\ifnum\countauthors< \AuthorCollaborationLimit
+%%%
+\ifx\xone\empty\else%
+\global\dothistrue%
+%\expandafter\gdef\csname
+%dothisaffil-\the\countauthors\the\docollab\endcsname{dothisone}
+ \ignorespaces\leavevmode\hbox{#1\unskip\docomma}% nice, keeps name from breaking across lines
+\fi%
+\fi%
+%%
+\ifnum\countauthors= \AuthorCollaborationLimit
+%%%
+\ifx\xone\empty\else
+\global\dothistrue
+ \ignorespaces\leavevmode\hbox{\doAnd #1\unskip\docomma}%nice, keeps name from breaking across lines
+\fi%
+\fi%
+%% ++++
+%%
+\ifsuppressAffiliations\else%
+\ifx\xone\empty\else%
+\begingroup%
+\ifnum\countauthors>\AuthorCollaborationLimit\else
+ #3% all affil numbers
+\ifx\@affilID@temp\empty %% number following author
+\else%
+\setbox0=\hbox{\expandafter\lookfornumbers\@affilID@temp{}{}{}{}{}{}{}{}{}}%
+\fi\fi%
+%% #2= \altaffiliation{} or \email{} or
+%% possibly anything other than author, affiliation, or collaboration
+ \@if@empty{#2}{\endgroup{}{}}%
+{\ifnum\countauthors>\AuthorCollaborationLimit\endgroup{}{}%% <<< bug fix, added \endgroup{}{}
+\else
+\endgroup{\comma@space}{}\frontmatter@footnote{#2}\fi}%
+\fi%% end test of empty
+\fi%% end test of suppressAffiliations
+%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Collaboration name is always used if available:
+\expandafter\ifx\csname currCollabName\the\totalentries\endcsname\relax\else
+%%%
+%%%
+%%%
+%% changed locally:
+{\advance\docollabnum 1
+\advance\countauthors-1
+%%%
+%%% We need to test to see if more than one author in collaboration
+%%% and if the number of authors is greater than the \AuthorCollaborationLimit.
+%%% If both of these are true, than use `et al.' , otherwise do not:
+\expandafter\ifx\csname
+CollabTotalAuthors\the\docollabnum\endcsname\relax
+\else
+\expandafter\ifnum\csname
+CollabTotalAuthors\the\docollabnum\endcsname
+< 2 %%%%% Don't use et al if there is only one author
+\else
+\expandafter\ifnum\csname CollabTotalAuthors\the\docollabnum\endcsname
+>\AuthorCollaborationLimit\relax%
+\ifnum\AuthorCollaborationLimit=0\else
+\vskip3pt
+{\rm et al.} \vskip-3pt
+\fi\fi\fi\fi%
+}%% end local change to docollabnum
+%%%%
+\expandafter\ifx\csname
+currCollabName\the\totalentries\endcsname\empty
+\vskip-3pt
+\else
+\vskip6pt
+\expandafter\csname currCollabName\the\totalentries\endcsname\vskip8pt
+\affiliation{testing}
+\fi%
+%%%%%%%%
+\global\countauthors=0
+%%%
+%%%
+\global\advance\docollabnum by 1
+%% Set up counters for next time through this loop:
+{\advance\docollabnum by1
+ \expandafter\ifx\csname
+ specificCollabLimit\the\docollabnum\endcsname\relax
+ \else
+ \global\AuthorCollaborationLimit=\csname
+ specificCollabLimit\the\docollabnum\endcsname
+ \fi%
+\expandafter\ifx\csname
+CollabTotalAuthors\the\docollabnum\endcsname\relax
+\else
+\global\tempauthornumber=\csname
+CollabTotalAuthors\the\docollabnum\endcsname
+\fi}%
+\fi %% ends test to see if it is time to use collaboration name
+\fi %% ends ifanonymous
+\ifaddspace\ \fi\global\addspacefalse}% oct 7, 2020, allows multiple names to break over lines,
+ %but no extra space if \collaboration{1}
+
+
+%%%% ++++====
+\newcount\tempauthorminusone
+%% +++
+\def\doAllauthors#1#2#3{%
+\global\suppressAffiliationsfalse
+\iflongauthor\vskip6pt\fi
+%%%
+\ifanonymous
+ \iffirsttime
+ \global\firsttimefalse
+ Anonymous author(s)
+ \fi
+\else %% ends at end of this def
+%%%
+\ifnum\docollabnum< 1
+%% these won't change until after collaboration name at end
+\global\AuthorCollaborationLimit\expandafter\csname currCollabLimit0\endcsname
+\global\tempauthornumber=\csname CollabTotalAuthors1\endcsname
+\fi%% end ifnum\docollabnum
+%%
+%%%%%%%%%%%%%%%%
+\global\advance\totalentries by 1
+\global\advance\countauthors by 1
+%%%
+\ifallauthors\global\AuthorCollaborationLimit=9999 \fi
+%%%
+% for testing
+%[author number=\the\countauthors/ temp author
+%=\the\tempauthornumber]
+\def\one{#1}
+{\tempauthorminusone=\tempauthornumber
+\advance\tempauthorminusone by -1
+\ifnum\countauthors < \tempauthornumber
+\gdef\xdocomma{,}%
+\else\gdef\xdocomma{}\fi%
+%%%
+\ifnum\countauthors = \tempauthornumber
+\gdef\xdoAnd{And}\gdef\xdocomma{}%
+\else\gdef\xdoAnd{}\fi%
+\ifnum\tempauthornumber= 1
+\gdef\xdoAnd{}\gdef\xdocomma{}\fi%
+\ifnum\countauthors=\tempauthorminusone
+\gdef\xdocomma{}\fi%
+}
+%%%
+%% if num countauthors is less than or equal to \AuthorCollaborationLimit, print name
+\ifnum\countauthors< \AuthorCollaborationLimit
+%%%
+\ifx\one\empty\else
+ \ignorespaces\leavevmode\hbox{\unskip\xdoAnd\ #1\unskip\xdocomma}% nice, keeps name from breaking across lines
+\fi\fi%
+%%
+\ifnum\countauthors= \AuthorCollaborationLimit
+%%%
+\ifx\one\empty\else
+\ignorespaces\leavevmode\hbox{\unskip\xdoAnd\ #1\unskip\xdocomma}% nice, keeps name from breaking across lines
+\fi%
+\fi%
+%%
+\ifx\one\empty\else
+ \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
+ \@if@empty{#2}{\endgroup{}{}}
+{\ifnum\countauthors>\AuthorCollaborationLimit\endgroup{}{}%% <<< bug fix, added \endgroup{}{}
+\else
+\endgroup{\comma@space}{}\frontmatter@footnote{#2}\fi}%
+\fi%% end test of empty
+%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Collaboration name is always used if available:
+\expandafter\ifx\csname currCollabName\the\totalentries\endcsname\relax\else
+%%%
+%% No et al in allauthors, because all authors are listed!
+%%
+\expandafter\ifx\csname
+currCollabName\the\totalentries\endcsname\empty
+\else
+\vskip6pt
+\expandafter\csname currCollabName\the\totalentries\endcsname\vskip6pt
+\fi
+\global\countauthors=0
+%%%
+%%%
+\global\advance\docollabnum by 1
+%% Set up counters for next time through this loop:
+{\advance\docollabnum by1
+ \expandafter\ifx\csname
+ specificCollabLimit\the\docollabnum\endcsname\relax
+ \else
+ \global\AuthorCollaborationLimit=\csname
+ specificCollabLimit\the\docollabnum\endcsname
+ \fi
+%
+\expandafter\ifx\csname
+CollabTotalAuthors\the\docollabnum\endcsname\relax
+\else
+\global\tempauthornumber=\csname
+CollabTotalAuthors\the\docollabnum\endcsname
+\fi}
+\fi %% ends test to see if it is time to use collaboration name
+\fi %% ends ifanonymous
+}%
+
+%%%
+%% set \affil to match \affiliation found in revtex, since authors are accustomed to using \affil{}
+\let\affil\affiliation
+
+\newif\iffirstaffil
+\firstaffiltrue
+
+\newcount\affilnum
+%% +++!
+\def\@affil@script#1#2#3#4{%
+\ifsuppressAffiliations\else
+\iffirstaffil
+% Oct 2017
+\vskip2pt
+\global\firstaffilfalse\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
+ }%
+\ifnum\one<\largestAffilNum
+ \ignorespaces#3%
+\fi
+\ifnum\one=\largestAffilNum
+ \ignorespaces#3%
+\fi
+ \@if@empty{#4}{}{\frontmatter@footnote{#4}}%
+ \par
+ \endgroup
+ }%
+\fi}%
+
+
+
+\newif\ifnobreakafterkeywords
+\def\NoNewPageAfterKeywords{\global\nobreakafterkeywordstrue}
+\NoNewPageAfterKeywords
+\def\NewPageAfterKeywords{\global\nobreakafterkeywordsfalse}
+
+%%%+++!!!
+\def\frontmatter@maketitle{%
+%% \@author@finish needs to be here:
+\@author@finish
+\if@firstsection% not appendix, in other words
+ \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{%
+\ifnobreakafterkeywords
+\else
+\vfil
+\ifrnaas\else \clearpage\fi
+\fi
+ }{}%
+\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
+}%
+
+%% 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~\ifappletter\thesection\fi\thetable}}
+
+
+\def\tempfootmark#1{}
+
+\newcount\c@affilcount
+\renewcommand*\altaffiliation[2][]{%
+\@AF@join{\ifanonymous\else
+#1#2\ifmodern\baselineskip=14pt\fi
+\if@two@col\hsize=.5\textwidth
+\advance\hsize by -18pt
+\fi\fi}%
+}%
+
+
+\def\correspondingauthor#1{{\ifanonymous
+\else
+\renewcommand\thefootnote{\hskip-12pt}
+\footnote{Corresponding author: #1\ifmodern\vrule depth 5pt
+width 0pt\relax\fi}\fi}}
+
+\let\saveemail\email
+\def\email#1{\ifanonymous
+\else{\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}}\fi}
+
+\def\nocollaboration#1{%
+\collaboration{#1}{\vbox to
+0pt{\vss\centerline{---}\vskip2pt}}
+}
+
+%% May 19
+%% \AuthorsAndCollaboration changed to \FullCollaborationID
+%% June 6 \FullCollaborationID changed to \xcollaboration{}{}
+%% june 7 \collaboration changed to \xcollaboration; fullcollaborationid changed to \collaboration
+
+%% here just in case we need it in the future...
+\def\xcollaboration#1#2{
+\global\advance\allentries by 1
+\expandafter\def\csname
+currCollabLimit\the\allentries\endcsname{#1}
+\@author@def{\@booleantrue
+\collaboration@sw}{#2}
+}
+
+\let\savelistand\@listand
+\newcount\numauthors
+\newcount\collabnum
+\newbox\collabnamebox
+\newif\iffirstcollab
+\global\firstcollabtrue
+
+\newif\ifcollaborationon
+\def\collaboration#1#2{\global\collaborationontrue
+\global\advance\collabnum by 1
+\iffirstcollab\global\firstcollabfalse
+\expandafter\xdef\csname currCollabLimit0\endcsname{#1}
+\fi
+%% make this def so that we can use it when we want in doauthor:
+\expandafter\gdef\csname specificCollabLimit\the\collabnum\endcsname{#1}
+%% This allows us access the number of authors per collaboration:
+\expandafter\xdef\csname
+CollabTotalAuthors\the\collabnum\endcsname{\the\entriesinthiscollab}
+\global\entriesinthiscollab=0
+%%
+\global\advance\allentries by 1
+%%
+%% we should have only one of these with this number; this used to say when
+%% use specificCollabLimit:
+\expandafter\gdef\csname currCollabLimit\the\allentries\endcsname{#1}
+%% we should have only one of these with this number
+\expandafter\gdef\csname
+currCollabName\the\allentries\endcsname{%\ifnum#1>0
+%\sc And the\vskip4pt\fi
+#2}
+%%
+\let\doEtAl\relax
+%% not here
+\@author@def{\@booleanfalse
+\collaboration@sw}{}}
+
+
+\def\and{
+\centerline{\vbox {\vrule height 12pt width0pt and\vskip2pt}}
+}
+
+%\def\andthe{%
+%\collaboration{\vbox {\vrule height 12pt width0pt and
+%the\vskip2pt}}\vskip4pt
+%}
+
+%% gets rid of () around collaboration
+\def\@collaboration@present#1#2#3#4{%
+\par
+ \begingroup
+\vskip3pt
+\iflongauthor\vskip-4pt\ifmodern\vskip-6pt\fi\fi
+ \frontmatter@collaboration@above
+ \@affilID@def{}%
+ \@tempcnta\z@
+ \@author@present{}{\ignorespaces#3\unskip}{#4}%
+%% October 2017
+ \par
+\ifmodern%\vskip-4pt
+\else
+\iflongauthor\else\vskip-6pt\fi\fi
+ \endgroup
+\iflongauthor
+\else\vskip8pt\fi
+ \set@listcomma@list#1%
+\vskip1pt %% was \vskip9pt
+}%
+
+
+%%% These lines were commented out until a fix could be applied that
+%%% addresses the underlying issues. The problem 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{}
+
+%% This is the underlying issue:
+%% Redefining \@bibdataout@init will keep useless file, \jobnameNotes, from being written.
+\let\@bibdataout@init\relax
+
+%% redefining and simplifying RevTeX4-1 definition, so that bibliography is not looking for
+%% \jobnameNotes:
+
+\def\bibliography#1{\bibliography@latex{#1}}%
+
+
+%%%
+\newif\iffrontmatterfirsttime
+\global\frontmatterfirsttimetrue
+\let\savecentercr\@centercr
+\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
+%% below
+ \begingroup
+ \frontmatter@above@affiliation@script
+ \let\AFF@opr \@affil@script
+{\parskip=2pt
+\def\@centercr{\vrule depth 3pt width0pt\vskip1sp}
+ \@AFF@list}
+\let\@centercr\savecentercr
+%% sept 14, 2020
+\iffrontmatterfirsttime
+\frontmatter@footnote@produce
+\global\frontmatterfirsttimefalse
+\fi
+ \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}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%% October 2017
+
+\renewenvironment{widetext}{%
+\if@two@col
+ \par\ignorespaces
+ \setbox\widetext@top\vbox{%
+ \hb@xt@\hsize{%
+ \leaders\hrule\hfil
+ \vrule\@height6\p@
+ }%
+ }%
+ \setbox\widetext@bot\hb@xt@\hsize{%
+ \vrule\@depth6\p@
+ \leaders\hrule\hfil
+ }%
+ \onecolumngrid
+ \vskip10\p@
+ \dimen@\ht\widetext@top\advance\dimen@\dp\widetext@top
+ \cleaders\box\widetext@top\vskip\dimen@
+ \vskip6\p@
+ \prep@math@patch
+\fi}{%
+\if@two@col
+ \par
+ \vskip6\p@
+ \setbox\widetext@bot\vbox{%
+ \hb@xt@\hsize{\hfil\box\widetext@bot}%
+ }%
+ \dimen@\ht\widetext@bot\advance\dimen@\dp\widetext@bot
+ \cleaders\box\widetext@bot\vskip\dimen@
+ \vskip8.5\p@
+ \twocolumngrid\global\@ignoretrue
+ \@endpetrue
+\fi}%
+\newbox\widetext@top
+\newbox\widetext@bot
+
+\urlstyle{rm}
+
+\def\doi#1{\href{https://doi.org/#1}{https://doi.org/#1}}
+\let\savedoi\doi
+
+\def\mdash{---}
+
+\newif\ifcenterwidetable
+%% these two definitions are the same, but it might
+%% be convenient to have both
+\def\centerwidetable{\global\centerwidetabletrue}
+
+
+%% this doesn't seem to be documented, assume we don't need it:
+%\def\centernarrowtable{\global\centerwidetablefalse}
+
+%% default, center within width of text on both sides
+ \def\LT@LR@c{\LTleft=0pt plus1fill
+ \LTright\LTleft}%
+
+\def\widetable{\def\LT@LR@c{\LTleft=0pt minus1fill
+ \let\LTright\LTleft}}
+
+\newif\ifreturntotwocol
+
+
+%%%%%%%%%
+%% to help with graceful linebreaks in two column text:
+ \tolerance 9999%
+%% sloppy defines emergencystretch to be 3 em, this is a bit
+%% more conservative:
+ \emergencystretch 1em
+ \hfuzz .5\p@
+
+%%%%%%%%%
+%% Nominal Conversion Constants
+
+%% \boldmath inside the \hbox ??
+\def\nomSolarEffTemp{\leavevmode\hbox{\boldmath$\mathcal{T}^{\rm N}_{\mathrm{eff}\odot}$}}
+\def\nomTerrEqRadius{\leavevmode\hbox{\boldmath$\mathcal{R}^{\rm N}_{E\mathrm e}$}}
+\def\nomTerrPolarRadius{\leavevmode\hbox{\boldmath$\mathcal{R}^{\rm N}_{E\mathrm p}$}}
+\def\nomJovianEqRadius{\leavevmode\hbox{\boldmath$\mathcal{R}^{\rm
+N}_{J\mathrm e}$}}
+ \def\nomJovianPolarRadius{\leavevmode\hbox{\boldmath$\mathcal{R}^{\rm
+ N}_{J\mathrm p}$}}
+ \def\nomTerrMass{\leavevmode\hbox{\boldmath$(\mathcal{GM})^{\rm N}_{\mathrm E}$}}
+ \def\nomJovianMass{\leavevmode\hbox{\boldmath$(\mathcal{GM})^{\rm N}_{\mathrm J}$}}
+ \def\Qnom{\leavevmode\hbox{\boldmath$\mathcal{Q}^{\rm N}_{\odot}$}}
+\let\Qn\Qnom
+
+%% Generic commands that can be given an argument:
+\def\nom#1{\leavevmode\hbox{\boldmath$\mathcal{#1}^{\rm N}_{\odot}$}}
+\def\Eenom#1{\leavevmode\hbox{\boldmath$\mathcal{#1}^{\rm N}_{Ee}$}}
+\def\Epnom#1{\leavevmode\hbox{\boldmath$\mathcal{#1}^{\rm N}_{Ep}$}}
+\def\Jenom#1{\leavevmode\hbox{\boldmath$\mathcal{#1}^{\rm N}_{Je}$}}
+\def\Jpnom#1{\leavevmode\hbox{\boldmath$\mathcal{#1}^{\rm N}_{Jp}$}}
+
+%%%%%%%%%%%%%%%%
+%% Ability to have tables, equations, figures in appendix start from 1, and use appendix section letter.
+
+\newif\ifappletter
+\def\apptablenumbers{\global\applettertrue
+\setcounter{table}{0}
+\setcounter{figure}{0}
+\setcounter{equation}{0}
+\def\thetable{\thesection\the\c@table}%
+\def\fnum@table{{\bf\tablename~\thetable}}%
+\def\thefigure{\thesection\the\c@figure}%
+\def\fnum@figure{{\bf\figurename~\thefigure}}%
+}%
+
+%%% easier to remember than \apptablenumbers
+\let\restartappendixnumbering\apptablenumbers
+
+\def\resetapptablenumbers{\global\c@table=0
+\global\c@figure=0
+\global\c@equation=0
+\def\thetable{\thesection\the\c@table}
+\def\fnum@table{{\bf\tablename~\thetable}}%
+\def\thefigure{\thesection\the\c@figure}
+\def\fnum@figure{{\bf\figurename~\thefigure}}%
+}
+
+%% written for aastex63
+\newif\ifallauthors
+\def\allauthors{
+\global\allauthorstrue
+\let\doauthor\doAllauthors
+\ifanonymous
+\vskip6pt\vskip1sp\centerline{\large\bf All Authors and
+Affiliations\vrule depth 18pt width0pt}\nobreak
+\centerline{Anonymous author(s)}
+\else
+\ifnumlines\nolinenumbers\fi
+\onecolumngrid
+\clearpage
+{\vskip6pt\vskip1sp\centerline{\large\bf All Authors and
+Affiliations\vrule depth 18pt width0pt}\nobreak
+\global\docollabnum=0
+\global\totalentries=0
+\global\countauthors=0
+\maketitle
+}\fi}
+
+%% written for AASTeX62
+\def\oldallauthors{%% this conditional keeps \allauthors from turning on
+%% unless \AuthorCollaborationLimit is used:
+\ifnumlines\nolinenumbers\fi
+\onecolumngrid
+\clearpage
+\AuthorCollaborationLimit=10000
+%\largestAffilNum=10000 <<== not needed
+{\vskip6pt\vskip1sp\centerline{\large\bf All Authors and
+Affiliations\vrule depth 18pt width0pt}\nobreak
+\maketitle
+}}
+\let\AllAuthors\allauthors
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Highlight Figure
+\definecolor{ltblue}{cmyk}{.5,.1,.1,0}
+\newdimen\currwidth
+\long\def\highlightfigure#1{
+\bgroup
+\fboxrule=4pt
+\fboxsep=12pt
+\vskip6pt
+\global\currwidth=\hsize
+\global\advance\currwidth by -32pt
+\noindent\hbox to\currwidth{\fcolorbox{ltblue}{white}{%
+$\vcenter{\hbox to\currwidth{\hss#1\hss}}$}}
+\egroup}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% New interactive command:
+
+\def\xlc{lc}
+\def\xjs{js}
+\def\xanimation{animation}
+\newbox\interactbox
+\newif\ifcorrectentries
+
+
+\def\interactive#1#2{
+\global\correctentriesfalse\def\checkone{#1}
+\ifx\checkone\xlc\correctentriestrue\fi
+\ifx\checkone\xjs\correctentriestrue\fi
+\ifx\checkone\xanimation \correctentriestrue\fi
+\def\checktwo{#2}
+\ifx\checktwo\empty\global\correctentriesfalse\fi
+\ifcorrectentries
+\else\hrule height1pt\vskip12pt\bf ERROR:
+The command
+{\tt\string\begin\string{interactive\string}\string{\string}\string{\string}}
+needs two arguments. The
+first describes the interactive type and the only allowed choices are
+lc, js, or animation.\\
+The second argument is the movie file or package
+containing the interactive figure components. See\\
+\url{https://journals.aas.org/aastexguide/\hashmark interactivefig} for more
+details.
+\vskip12pt\hrule height1pt
+\fi \global\currwidth\hsize
+\global\advance\currwidth by -32pt
+%% we need to set \currwidth here because interactbox expands
+%% before highlightfigure
+\global\setbox\interactbox=\vbox\bgroup\hsize=\currwidth\relax\centering
+}
+
+\def\endinteractive{\egroup
+\ifcorrectentries\highlightfigure{\copy\interactbox}\fi
+}
+
+%%%% For cases in which footnotes are called in full width environment
+%% but are used in two cols. This keeps them from overwriting the
+%% second column:
+
+\let\savefootnote\footnote
+\def\onecolfootnote#1{\savefootnote{\hsize=.5\textwidth\advance\hsize
+by-18pt\relax#1}}
+
+\def\onecolumnfootnotes{\let\footnote\onecolfootnote}
+
+\newdimen\movetableright
+
+%% for anonymous option
+\newif\ifsuppressAffiliations
+\def\suppressAffiliations{\global\suppressAffiliationstrue}
+
+%% new definition to be used in trackchanges:
+\def\sout#1{\raise5pt\hbox{\underline{\vbox to
+0pt{\vskip-4pt\hbox{#1\vrule height 8.5pt depth 3.5pt width0pt}\vss}}}}
+
+%% changes for affiliations when anonymous option is used:
+\ifanonymous
+\suppressAffiliationstrue
+\gdef\affiliation#1{}%% may 20, 2020
+\def\xauthor[#1]#2{}
+\let\yauthor\@gobble
+\def\lookforbracket{\ifx\next[
+\let\go\xauthor\else\let\go\yauthor\fi\go}
+\def\author{\futurelet\next\lookforbracket}
+\fi
+
+
+%%%%%%%%%%%%%
+%% Line numbering
+
+
+\ifnumlines
+\usepackage[mathlines]{lineno}%% dec 20
+%%
+\linenumbers*[1]
+%%\linenumbersep default=10pt
+\if@two@col
+\advance\linenumbersep -6pt
+\else
+\advance\linenumbersep 12pt
+\fi
+\fi
+
+%% Use when line numbers are on, and after \usepackage{amsmath}.
+%% Will make line numbering work on math as it would without amsmath.
+\def\fixmathlinenumbering{
+\let\saveopensqbracket\[
+\def\[{\linenomath\saveopensqbracket}
+\let\saveequation\equation
+\let\saveendequation\endequation
+%%
+ \let\savealign\align
+ \let\saveendalign\endalign
+%%
+ \let\savealigned\aligned
+ \let\saveendaligned\endaligned
+%%
+\def\align{\linenomath\savealign}
+ \def\endalign{\saveendalign}
+ \def\aligned{\linenomath\savealigned}
+ \def\endaligned{\linenomath\saveendaligned}
+%%
+\def\equation{\linenomath\saveequation}
+\def\endequation{\linenomath\saveendequation}
+\usepackage[mathlines]{lineno}
+}
+
+\AtBeginDocument{\expandafter\ifx\csname
+@amsmath@err\endcsname\relax\else\fixmathlinenumbering\fi}
+
+\endinput
+%% Change Log
+============================
+Jan 29, 2021
+added \ifonecolstyle to see if reference numberlines need to
+be closer to text
+
+Dec 20, 2020
+Line numbering solutions:
+
+Line numbering equations and \[ \] works fine.
+
+$$math $$ does not work, and should be replaced with \[ math \]
+
+If author has \usepackage{amsmath} the equations will not number;
+amsmath and lineno are incompatible.
+
+
+June 28
+For using \edit{}{} in section heads; new command,
+\simpleedit that will prevent errors in section heads
+and in bookmarks. \edit is set to be equal to \simpleedit{}{}
+in \section definition, so nothing needs to be done by user.
+\protect used in section head, as \protect\edit{}{}, is not
+necessary.
+
+June 27
+\null added to \end{deluxetable} and \csname enddeluxetable*\endcsname
+to force final page of multipage table to print.
+
+June 26
+Acknowledgments: remember to use
+\begin{acknowledgments}...\end{acknowledgments} form
+OR
+\begin{acknowledgements}...\end{acknowledgements}
+
+Now have an error message built in if someone uses
+just \acknowledgments or \acknowledgements
+
+
+June 4, 2020
+ Added \nocollaboration{0} to first
+ section head, if anonymous was true. This
+ allowed correct titlepage for anonymous
+ if any style option was used.
+
+Acknowledgments: remember to use
+\begin{acknowledgments}...\end{acknowledgments} form
+
+
+
+
+%% Change Log
+============================
+May 19, 2020
+Changed definition of \sout (strike out) so that
+it works with a variety of citations in
+argument of \deleted and \replaced without complaint.
+
+Made anonymous work with \longauthor, and without
+\collaboration or \nocollaboration.
+
+Changed \acknowledgements to
+\begin{acknowledgements}...\end{acknowledgements}
+(More error proof, and standard mark up)
+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+June 8, 2019
+Changed \author and \collaboration macros.
+Collaboration now takes two arguments:
+#1= number of authors to be listed before the
+name of the collaboration; #2 = name of the collaboration
+
+\nocollaboration{} has one argument,
+#1= the number of authors above it that we want to print on the title page.
+
+June 6, 2019
+
+\acknowledgments does not use \begin{}...\end{} form,
+now just \acknowledgments command. Acknowledgments text
+ends with \par, so if author wants more than one paragraph
+in acknowledgment he/she should surround text with curly
+bracket:
+
+\acknowledgments
+text...
+
+or
+
+\acknowledgments
+{text...
+
+more text...}
+
+------
+
+
+============================
+June 3, 2019
+\let\footnote\onecolfootnote on page where references start, but
+before footnotes are entered,
+will allow footnotes to break in the right place (one column's width).
+
+============================
+May 15, 2019
+\centerwidetable is now \movetableover at Greg's suggestion.
+
+============================
+Nov 27, 2017
+
+1) Change to \begin{widetext}...\end{widetext} to
+return the horizontal lines before and after the
+environment.
+
+2) \NoNewPageAfterKeywords is now default;
+authors wanting a new page after keywords can
+use the \NewPageAfterKeywords command.
+
+3) Change in definition names, returning to earlier version:
+\turnoffediting will turn off colors for all levels
+of editing mark up made with \edit1{}, \edit2{}, or \edit3{}.
+You can turn off any level of editing with
+\turnoffeditone, \turnoffedittwo, and \turnoffeditthree.
+
+4) It is now possible to use \doi{} as an argument of \dataset.
+\dataset[]{\doi{10.5281/zenodo.831784}} and
+\dataset[\doi{10.5281/zenodo.831784}]{\doi{10.5281/zenodo.831784}}
+will work.
+
+============================
+October 15, 2017
+
+1) \movetabledown now works with longrotatetable as it does with
+rotatetable.
+\movetabledown=<dimen> before either
+\begin{rotatetable} or
+\begin{longrotatetable}
+
+Added \clearpage before \begin{rotatetable} and \begin{rotatetable*}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+2)
+
+\NoNewPageAfterKeywords, used after \documentclass{AASTeX62},
+will keep a new page from starting after keywords.
+Extra vertical space before first section in Modern option.
+
+Solution suggested by Alex Drlica-Wagner.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+3)\edit1{}, \edit2{} and \edit3{} will add color
+to the edited text.
+
+To get rid of the color, but not the text, authors should
+use \turnoffeditonecolor (for \edit1{})
+ \turnoffedittwocolor (for \edit2{})
+ \turnoffeditthreecolor (for \edit3{})
+These commands have the same results as
+\turnoffeditone, \turnoffedittwo, and \turnoffeditthree
+which are not disabled, but the new commands make the
+action to be produced more descriptive.
+
+Similarly, instead of \turnoffedit or \turnoffedits
+we now have \turnoffeditcolors. The original two
+commands still work, but the new command is more
+descriptive of the results.
+
+Authors should be instructed to put these commands before
+\begin{document}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+4)
+\begin{widetext}...\end{widetext}
+
+\begin{widetext}
+will go from twocolumngrid to onecolumngrid, centered.
+
+\end{widetext} will turn off centering and go back
+to twocolumngrid.
+
+Only needed in twocolumn styles; nothing will happen
+in single column styles.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+5) Sean Lake's problem with \mag was solved by Barbara Beeton online,
+
+``the latest edit identifies the problem unambiguously: \mag is a tex
+primitive, and shouldn't be redefined. why this didn't appear in the
+logs you posted is beyond me, but if you rename your command to (say)
+\Mag it should stop having a problem. � barbara beeton Feb 22''
+
+\mag is a tex primitive, and it is expecting to be followed by a
+number.
+
+This had nothing to do with AASTeX61.cls
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+6)
+\def\arraystretch{.9} as requested will make the space between
+lines in tables shrink to 90% of the original space.
+
+I think what is really wanted is \def\arraystretch{1.1} which will
+still give us 110% of the original space, a little extra vertical space, but not
+as much as we had before.
+
+Meanwhile, an author can change the definition of \arraystretch{}
+for a single table or all the tables in his paper, if he wants more
+or less space.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+7) Abstract is now the same width as in emulateapj
+in all styles, with the exception of the modern option
+which is unchanged. Abstracts in all styles will break over pages
+in this version.
+
+Thanks to suggestion by Patricio Cubillos.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+8) Center and tighten affiliations, changed and
+tested for all styles, including longauthor option.
+
+samples.zip show examples titlepage of each style with and
+without longauthor option.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+9) preprintnumbers activated.
+No need to use a documentclass option.
+
+Just enter \reportnum{<text>}, before \begin{document}
+and repeat as many times as needed. The entries will stack
+in the top right hand corner of the titlepage, for all styles.
+
+ie
+\reportnum{YOUR-INST-REP-789}
+\reportnum{MY-INST-REP-123}
+
+%% author can continue with as many entries as desired.
+% \reportnum{A number of other numbers}
+% \reportnum{More Numbers}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+10) Title is no longer uppercase by default. It is
+now title case, which means all important words are
+capitalized by author.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+11) \AuthorCollaborationLimit now
+set to default of 10,000. If smaller number of
+authors wanted, \AuthorCollaborationLimit can
+be set to the number wanted; \allauthors typed
+at end of article will make every author and
+affiliation print.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+12) \startlongtable\deluxetable now works in appendix, even
+when it is the last entry in the paper. Added \null
+to \endlongdeluxetable which has the effect of making
+last page print.
+
+This works in my test, but it
+may be useful to see the example from author, github #54
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+13) Deluxetable no longer crashes if author has neglected
+to put in \\ before \enddata. I added the non-redundant \\
+command, \crcr, and sample now works.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+14) \tablehead in deluxetable had too much space underneath
+double horizontal lines. Made custom negative skip based
+on each style, tested, and supplied tabsamples.zip showing
+tableheads in each style.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+15) \urlstyle{rm} is set so that url and href produce
+the same fonts.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+16) Fix to \dataset so that square brackets
+are not printed in the case of argument
+in square brackets.
+
+Now
+\dataset[]{http://www.texnology.com}
+produces
+[DATASET] linked to www.texnology.com
+
+\dataset[TeXnology]{http://www.texnology.com}
+produces
+TeXnology linked to www.texnology.com
+
+%% This will also work,
+% same results as \dataset[]{http://www.texnology.com}
+% but using the more common LaTeX syntax:
+
+\dataset{http://www.texnology.com}
+also produces
+[DATASET] linked to www.texnology.com
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+17) New version of DOI:
+
+\doi{10.5281/zenodo.831784}
+now produces hyperlinked
+
+https://doi.org/10.5281/zenodo.831784
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+18) Added to definition of \software,
+working with sample from August Muench, reduced
+the space between words, and got rid of
+extra space after punctuation with the
+\frenchspacing command.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+19) August Muench entered a bug report
+complaining that \clearpage doesn't always
+work, but he didn't have a sample, so I am
+not able to debug this one. It may be that
+the problem isn't with the code, but with
+the way the commands were entered, but
+without a sample I have no way of knowing.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+20)
+Tested \startlongtable in all styles
+and didn't find a problem with centering.
+I did add a skip at the beginning of
+\startlongtable in case someone didn't
+leave a blank line before using the
+command.
+
+============================
+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.
+
+================
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% New interactive command:
+
+\def\xlc{timeseries}
+\def\xjs{js}
+\def\xanimation{animation}
+\newbox\interactbox
+\newif\ifcorrectentries
+
+\def\interactive#1#2{
+\global\correctentriesfalse\def\checkone{#1}
+\ifx\checkone\xlc\correctentriestrue\fi
+\ifx\checkone\xjs\correctentriestrue\fi
+\ifx\checkone\xanimation \correctentriestrue\fi
+\ifcorrectentries
+\else\hrule height1pt\vskip12pt\bf ERROR: Your choices for the first argument for
+{\tt\string\interactive} are timeseries, js, or animation.\\[6pt] Please choose one
+of these terms.\vskip12pt \fi
+%%%
+\def\checktwo{#2}
+\ifx\checktwo\empty \vskip12pt \bf ERROR: The command {\tt\string\interactive} needs
+two arguments, with the second argument for the graphics file or files
+needed.\vskip12pt\hrule height1pt \else\global\correctentriestrue\fi
+\global\currwidth\hsize
+\global\advance\currwidth by -32pt
+%% we need to set \currwidth here because interactbox expands
+%% before highlightfigure
+\global\setbox\interactbox=\vbox\bgroup\hsize=\currwidth\centering}
+
+\def\xxinteractive#1#2{\global\correctentriesfalse\def\checkone{#1}
+\ifx\checkone\xlc\correctentriestrue\fi
+\ifx\checkone\xjs\correctentriestrue\fi
+\ifx\checkone\xanimation \correctentriestrue\fi
+\ifcorrectentries
+\else\hrule height1pt\vskip12pt\bf
+\noindent ERROR:\\[6pt] Your choices for the first argument for
+{\tt\string\begin\string{\string\interactive\string}} are timeseries, js, or animation.\\[6pt] Please choose one
+of these terms.\vskip12pt \fi
+%%%
+\def\checktwo{#2}
+\ifx\checktwo\empty \vskip12pt \bf
+\noindent ERROR:\\[6pt]
+The second argument of %{\tt\string\begin\string{interactive\string}} is the file containing the
+interactive component. Please check your LaTeX to be sure it conforms.
+See %\href{https://journals.aas.org/aastexguide/interactivefig}{stuff}
+%{https://journals.aas.org/aastexguide/\#interactivefig}
+for more details.
+\vskip12pt\hrule height1pt \else\global\correctentriestrue\fi
+\global\currwidth\hsize
+\global\advance\currwidth by -32pt
+%% we need to set \currwidth here because interactbox expands
+%% before highlightfigure
+\global\setbox\interactbox=\vbox\bgroup\hsize=\currwidth\centering}
+
+\def\endinteractive{\egroup
+\ifcorrectentries\highlightfigure{\copy\interactbox}\fi}
diff --git a/tex/src/delete-me-squared.tex b/tex/src/delete-me-squared.tex
deleted file mode 100644
index 968b4d7..0000000
--- a/tex/src/delete-me-squared.tex
+++ /dev/null
@@ -1,32 +0,0 @@
-%% PGFPlots code to plot a random set of numbers as demo
-%%
-%% Copyright (C) 2019-2023 Mohammad Akhlaghi <mohammad@akhlaghi.org>
-%
-%% This file is free software: you can redistribute it and/or modify it
-%% under the terms of the GNU General Public License as published by the
-%% Free Software Foundation, either version 3 of the License, or (at your
-%% option) any later version.
-%
-%% This file is distributed in the hope that it will be useful, but WITHOUT
-%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-%% for more details.
-%
-%% You should have received a copy of the GNU General Public License along
-%% with this file. If not, see <http://www.gnu.org/licenses/>.
-
-\begin{tikzpicture}
-
- %% Settings of the plotted axis
- \begin{axis}[
- width=\linewidth,
- xlabel=$X$,
- ylabel=$X^2$,
- ]
-
- %% A particular plot.
- \addplot+[scatter, only marks]
- table {tex/build/to-publish/squared.txt};
-
- \end{axis}
-\end{tikzpicture}
diff --git a/tex/src/preamble-biblatex.tex b/tex/src/preamble-biblatex.tex
deleted file mode 100644
index fd4bf9d..0000000
--- a/tex/src/preamble-biblatex.tex
+++ /dev/null
@@ -1,147 +0,0 @@
-%% Biblatex settings.
-%%
-%% Settings necessary to make the bibliography with Biblatex. Keeping all
-%% BibLaTeX settings in a separate preamble was done in the spirit of
-%% modularity to 1) easily managable, 2) If a similar BibLaTeX
-%% configuration is necessary in another LaTeX compilation, this file can
-%% just be copied there and used.
-%%
-%% USAGE:
-%% - 'tex/src/references.tex': the file containing Bibtex source of each
-%% reference. The file suffix doesn't have to be '.bib'. This naming
-%% helps in clearly identifying the files and avoiding places that
-%% complain about '.bib' files.
-%
-%% Copyright (C) 2018-2023 Mohammad Akhlaghi <mohammad@akhlaghi.org>
-%
-%% This file is free software: you can redistribute it and/or modify it
-%% under the terms of the GNU General Public License as published by the
-%% Free Software Foundation, either version 3 of the License, or (at your
-%% option) any later version.
-%
-%% This file is distributed in the hope that it will be useful, but WITHOUT
-%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-%% for more details.
-%
-%% You should have received a copy of the GNU General Public License along
-%% with this file. If not, see <http://www.gnu.org/licenses/>.
-
-
-
-
-%% To break up highlighted text (for example texttt when some it is on the
-%% line break) and also to no underline emphasized words (like journal
-%% titles in the references).
-\usepackage[normalem]{ulem}
-
-
-
-
-
-%% For quotation signs (sometimes used by BibLaTeX)
-\usepackage{csquotes}
-
-
-
-
-
-%% To define colors
-\usepackage{xcolor}
-
-
-
-
-
-% Basic BibLaTeX settings
-\usepackage[
- doi=false,
- url=false,
- dashed=false,
- eprint=false,
- maxbibnames=2,
- minbibnames=1,
- hyperref=true,
- maxcitenames=2,
- mincitenames=1,
- giveninits=true,
- style=authoryear,
- uniquelist=false,
- backend=biber,natbib]{biblatex}
-\DeclareFieldFormat[article]{pages}{#1}
-\DeclareFieldFormat{pages}{\mkfirstpage[{\mkpageprefix[bookpagination]}]{#1}}
-\addbibresource{tex/src/references.tex}
-\addbibresource{tex/build/macros/dependencies-bib.tex}
-\renewbibmacro{in:}{}
-\AtEveryBibitem{\clearfield{month}}
-\renewcommand*{\bibfont}{\footnotesize}
-\DefineBibliographyStrings{english}{references = {References}}
-
-%% Include the adsurl field key into those that are recognized:
-\DeclareSourcemap{
- \maps[datatype=bibtex]{
- \map{
- \step[fieldsource=adsurl,fieldtarget=iswc]
- \step[fieldsource=gbkurl,fieldtarget=iswc]
- }
- }
-}
-
-%% Set the color of the doi link to mymg (magenta) and the ads links
-%% to mypurp (or purple):
-\definecolor{mypurp}{cmyk}{0.75,1,0,0}
-\newcommand{\doihref}[2]{\href{#1}{\color{magenta}{#2}}}
-\newcommand{\adshref}[2]{\href{#1}{\color{mypurp}{#2}}}
-\newcommand{\blackhref}[2]{\href{#1}{\color{black}{#2}}}
-
-%% Define a format for the printtext commands in
-%% DeclareBibliographyDriver to make links for the doi, ads link and
-%% arxiv link:
-\DeclareFieldFormat{doilink}{
- \iffieldundef{doi}{#1}{\doihref{http://dx.doi.org/\thefield{doi}}{#1}}}
-\DeclareFieldFormat{adslink}{
- \iffieldundef{iswc}{#1}{\adshref{\thefield{iswc}}{#1}}}
-\DeclareFieldFormat{arxivlink}{
- \iffieldundef{eprint}{#1}{\href{http://arxiv.org/abs/\thefield{eprint}}{#1}}}
-
-\DeclareListFormat{doiforbook}{
- \iffieldundef{doi}{#1}{\doihref{http://dx.doi.org/\thefield{doi}}{#1}}}
-\DeclareFieldFormat{googlebookslink}{
- \iffieldundef{iswc}{#1}{\adshref{\thefield{iswc}}{#1}}}
-
-%% Set the formatting to make the last three values into the
-%% appropriate link. Note that the % signs are necessary. Without
-%% them, the items will be indented.
-\DeclareBibliographyDriver{article}{%
- \usebibmacro{bibindex}%
- \usebibmacro{begentry}%
- \usebibmacro{author/translator+others}%
- \newunit%
- \ifdefined\makethesis\printtext{\usebibmacro{title}}\fi%
- \newunit%
- \printtext[doilink]{\usebibmacro{journal}}%
- \addcomma%
- \printtext[adslink]{\printfield{volume}}%
- \addcomma%
- \printtext[arxivlink]{\printfield{pages}}%
- \addperiod%
-}
-
-\DeclareBibliographyDriver{book}{%
- \usebibmacro{bibindex}%
- \usebibmacro{begentry}%
- \usebibmacro{author/translator+others}%
- \newunit%
- \printtext{\usebibmacro{title}}%
- \addperiod%
- \addspace%
- \printlist[doiforbook]{publisher}%
- \addcomma%
- \addspace%
- \printfield[googlebookslink]{edition}%
- \printtext{ ed.}%
- \addperiod%
-}
-
-%% In order to have et al. instead of et al.,:
-\renewcommand*{\nameyeardelim}{\addspace}
diff --git a/tex/src/preamble-project.tex b/tex/src/preamble-project.tex
index 76603f2..d8e5771 100644
--- a/tex/src/preamble-project.tex
+++ b/tex/src/preamble-project.tex
@@ -33,35 +33,13 @@
%% For loading images into the output (with '\includegraphics').
\usepackage{graphicx}
-%% Ordering correction between 'figure' and 'figure*' ('figure*' is
-%% commonly used in two-column documents, where the figure should span both
-%% columns).
-\usepackage{fixltx2e}
-
%% Color management.
\usepackage{xcolor}
\color{black} % Color of main text.
\definecolor{DarkBlue}{RGB}{0,0,90}
-%% Caption management: The 'setspace' package defines the 'stretch'
-%% variable. 'abovecaptionskip' is the distance between the figure and the
-%% caption. You can use 'captionof{figure}{...}' to use these custom
-%% 'figure' caption that is defined here.
-\usepackage{setspace, caption}
-\captionsetup{font=footnotesize, labelfont={color=DarkBlue,bf}, skip=1pt}
-\captionsetup[figure]{font={stretch=1, small}}
-\setlength{\abovecaptionskip}{3pt plus 1pt minus 1pt}
-\setlength{\belowcaptionskip}{-1.25em}
-
%% Manage links in the produced paper (for example their colors), and
%% include document information in the "Properties" of the PDF.
-\usepackage[
- colorlinks,
- urlcolor=blue,
- citecolor=blue,
- linkcolor=blue,
- linktocpage]{hyperref}
-\renewcommand\UrlFont{\rmfamily}
\hypersetup{
pdftitle={\projecttitle},
pdfauthor={\projectcopyrightowner},
@@ -73,8 +51,8 @@
-%% BibLaTeX or PGFPlots templates
-%% ------------------------------
+%% PGFPlots templates
+%% ------------------
%
%% These are ready-made customizations of these two commonly used packages
%% that you can use as a template for your own project: BibLaTeX (advanced
@@ -82,18 +60,12 @@
%% directly from tables of data). If you don't use them, you can just
%% delete these two lines and also delete their files from your branch (to
%% keep the 'tex/src' directory on your branch clean).
-\input{tex/src/preamble-biblatex.tex}
\input{tex/src/preamble-pgfplots.tex}
-%% Style of default paper (DELETE IF USING JOURNAL STYLES)
-%% -------------------------------------------------------
-%
-%% This is primarily defined for the default Maneage paper style. So when
-%% you later import your journal's style, delete this line (and these
-%% comments). Also delete the file (to keep your project source branch
-%% clean from files you don't need/use).
-\input{tex/src/preamble-maneage-default-style.tex}
+%% AASTeX settings
+\shorttitle{\projecttitle}
+\shortauthors{Akhlaghi, M}
diff --git a/tex/src/references.tex b/tex/src/references.tex
index e4117ae..5c74813 100644
--- a/tex/src/references.tex
+++ b/tex/src/references.tex
@@ -27,65 +27,3 @@ archivePrefix = {arXiv},
adsurl = {https://ui.adsabs.harvard.edu/abs/2021CSE....23c..82A},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
-
-
-
-
-@ARTICLE{alliez19,
- author = {{Alliez}, Pierre and {Di Cosmo}, Roberto and {Guedj}, Benjamin and
- {Girault}, Alain and {Hacid}, Mohand-Said and {Legrand}, Arnaud and
- {Rougier}, Nicolas P.},
- title = "{Attributing and Referencing (Research) Software: Best Practices and Outlook from Inria}",
- journal = {CiSE},
- volume = {22},
- year = "2020",
- month = "Jan",
- pages = {39-52},
-archivePrefix = {arXiv},
- eprint = {1905.11123},
- primaryClass = {cs.DL},
- doi = {10.1109/MCSE.2019.2949413},
- adsurl = {https://ui.adsabs.harvard.edu/abs/2019arXiv190511123A},
- adsnote = {Provided by the SAO/NASA Astrophysics Data System}
-}
-
-
-
-
-
-@ARTICLE{infantesainz20,
- author = {{Infante-Sainz}, Ra{\'u}l and {Trujillo}, Ignacio and
- {Rom{\'a}n}, Javier},
- title = "{The Sloan Digital Sky Survey extended point spread functions}",
- journal = {MNRAS},
- year = 2020,
- month = feb,
- volume = {491},
- number = {4},
- pages = {5317-5329},
- doi = {10.1093/mnras/stz3111},
-archivePrefix = {arXiv},
- eprint = {1911.01430},
- primaryClass = {astro-ph.IM},
- adsurl = {https://ui.adsabs.harvard.edu/abs/2020MNRAS.491.5317I},
- adsnote = {Provided by the SAO/NASA Astrophysics Data System}
-}
-
-
-
-
-
-@ARTICLE{akhlaghi19,
- author = {{Akhlaghi}, Mohammad},
- title = "{Carving out the low surface brightness universe with NoiseChisel}",
- journal = {IAU Symposium 335},
- year = 2019,
- month = sep,
- eid = {arXiv:1909.11230},
- pages = {arXiv:1909.11230},
-archivePrefix = {arXiv},
- eprint = {1909.11230},
- primaryClass = {astro-ph.IM},
- adsurl = {https://ui.adsabs.harvard.edu/abs/2019arXiv190911230A},
- adsnote = {Provided by the SAO/NASA Astrophysics Data System}
-}