diff --git a/.github/workflows/build-pull-request.yml b/.github/workflows/build-pull-request.yml new file mode 100644 index 0000000..15d317c --- /dev/null +++ b/.github/workflows/build-pull-request.yml @@ -0,0 +1,25 @@ +name: build pull request + +on: + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + name: Build the article PDF + concurrency: showyourwork-${{ github.ref }} + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Build the article PDF + id: build + uses: showyourwork/showyourwork-action@v1 + with: + showyourwork-spec: git+https://github.com/showyourwork/showyourwork.git@eeb83e196f9f7cd84083acb229bead21c9c19b3c#egg=showyourwork + env: + SANDBOX_TOKEN: ${{ secrets.SANDBOX_TOKEN }} + OVERLEAF_EMAIL: ${{ secrets.OVERLEAF_EMAIL }} + OVERLEAF_PASSWORD: ${{ secrets.OVERLEAF_PASSWORD }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..72b765d --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,25 @@ +name: build + +on: + push: + +jobs: + build: + runs-on: ubuntu-latest + name: Build the article PDF + concurrency: showyourwork-${{ github.ref }} + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Build the article PDF + id: build + uses: showyourwork/showyourwork-action@v1 + with: + showyourwork-spec: git+https://github.com/showyourwork/showyourwork.git@eeb83e196f9f7cd84083acb229bead21c9c19b3c#egg=showyourwork + env: + SANDBOX_TOKEN: ${{ secrets.SANDBOX_TOKEN }} + OVERLEAF_EMAIL: ${{ secrets.OVERLEAF_EMAIL }} + OVERLEAF_PASSWORD: ${{ secrets.OVERLEAF_PASSWORD }} diff --git a/.github/workflows/process-pull-request.yml b/.github/workflows/process-pull-request.yml new file mode 100644 index 0000000..9c677f7 --- /dev/null +++ b/.github/workflows/process-pull-request.yml @@ -0,0 +1,14 @@ +name: process pull request + +on: + workflow_run: + workflows: [build pull request] + types: [completed] + +jobs: + process-pr: + runs-on: ubuntu-latest + name: Process pull request + steps: + - name: Process pull request + uses: showyourwork/showyourwork-action/process-pull-request@v1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..566bf84 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +# Snakemake and showyourwork temporaries +**/.snakemake +**/.showyourwork* + +# Showyourwork output files +/*.pdf +report.html +arxiv.tar.gz + +# Figure output +src/tex/figures/* + +# Miscellaneous +__pycache__ +*.synctex.gz diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1d7f675 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 @showyourwork + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..d2e2b42 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +

+ +showyourwork + +
+
+ +Article status + + +Article tarball + + +Read the article + +

+ +An open source scientific article created using the [showyourwork](https://github.com/showyourwork/showyourwork) workflow. diff --git a/Snakefile b/Snakefile new file mode 100644 index 0000000..e69de29 diff --git a/environment.yml b/environment.yml new file mode 100644 index 0000000..2b273ac --- /dev/null +++ b/environment.yml @@ -0,0 +1,6 @@ +dependencies: + - conda-forge::numpy=1.19.2 + - conda-forge::pip=21.0.1 + - conda-forge::python=3.9 + - pip: + - matplotlib==3.4.3 diff --git a/showyourwork.yml b/showyourwork.yml new file mode 100644 index 0000000..2b95d59 --- /dev/null +++ b/showyourwork.yml @@ -0,0 +1,105 @@ +# Enable rule caching on Zenodo? +cache_on_zenodo: true + +# Workflow graph (DAG) generation +dag: + # Generate `dag.pdf` on each build? + render: false + # Graphviz layout engine + engine: sfdp + # Group files by type into plates? + group_by_type: false + # Custom graph attributes + graph_attr: + ranksep: "1" + nodesep: "0.65" + # Custom node attributes + node_attr: + shape: "box" + penwidth: "2" + width: "1" + # Files and glob patterns to ignore + # ignore_files: + # - src/tex/orcid-ID.png + + +# Externally-hosted datasets, e.g. on Zenodo +datasets: + # 10.5281/zenodo.6468327: + # contents: + # TOI640b.json: src/data/TOI640b.json + +# Custom file dependencies +dependencies: + # src/scripts/my_script.py: + # - src/data/dataset_for_my_script.dat + # src/tex/ms.tex: + # - src/tex/stylesheet.tex + +# Name of the `.tex` manuscript and corresponding `.pdf` article +ms_name: ms + +# Optimize DAG by removing unnecessary jobs upstream of cache hits? +optimize_caching: false + +# Overleaf sync settings +overleaf: + # Overleaf project ID (blank = disabled) + id: + # Perform sync on GitHub Actions? + gh_actions_sync: true + # List of files to push to Overleaf + push: + - src/tex/figures + - src/tex/output + # List of files to pull from Overleaf + pull: + - src/tex/ms.tex + - src/tex/bib.bib + +# Always require all input files to be present on disk for workflow to pass? +require_inputs: true + +# Allow cacheable rules to run on GitHub Actions? +run_cache_rules_on_ci: false + +# Mapping of script file extensions to instructions for executing them +scripts: + py: python {script} + +# Display of the `showyourwork` stamp on first page +stamp: + # Show the stamp? + enabled: true + # Stamp angle in degrees + angle: -20.0 + # Stamp size in inches + size: 0.75 + # Horizontal position in inches from right edge of paper + xpos: 0.50 + # Vertical position in inches from top edge of paper + ypos: 0.50 + # Display of the repo URL in the stamp + url: + # Show the URL? + enabled: true + # Maximum URL length to display + maxlen: 40 + +# Enable SyncTeX? +synctex: True + +# Command-line options to be passed to tectonic when building the manuscript +tectonic_args: [] + +# Preprocessing script for arXiv tarball +# (such as to switch `minted` from `finalizecache` to `frozencache`) +# The script will be passed a directory containing the manuscript source +# as input, and should modify the contents of that directory in-place. +# preprocess_arxiv_script: my_preprocess_script.sh + +# Enable verbose output? +verbose: false + +# Version of `showyourwork` used to create this workflow +version: 0.4.4.dev32+geeb83e1 diff --git a/src/data/.gitignore b/src/data/.gitignore new file mode 100644 index 0000000..453dec7 --- /dev/null +++ b/src/data/.gitignore @@ -0,0 +1,3 @@ +# Nothing in this folder should be tracked by git +* +!.gitignore diff --git a/src/scripts/.gitignore b/src/scripts/.gitignore new file mode 100644 index 0000000..93eaa1b --- /dev/null +++ b/src/scripts/.gitignore @@ -0,0 +1,9 @@ +# Don't track figure output +*.pdf +*.eps +*.png +*.jpeg +*.jpg +*.tiff +*.gif +*.svg diff --git a/src/scripts/matplotlibrc b/src/scripts/matplotlibrc new file mode 100644 index 0000000..63584e4 --- /dev/null +++ b/src/scripts/matplotlibrc @@ -0,0 +1,2 @@ +# Enforce a non-interactive backend +backend: agg diff --git a/src/scripts/paths.py b/src/scripts/paths.py new file mode 100644 index 0000000..1d07fc4 --- /dev/null +++ b/src/scripts/paths.py @@ -0,0 +1,29 @@ +""" +Exposes common paths useful for manipulating datasets and generating figures. + +""" +from pathlib import Path + +# Absolute path to the top level of the repository +root = Path(__file__).resolve().parents[2].absolute() + +# Absolute path to the `src` folder +src = root / "src" + +# Absolute path to the `src/data` folder (contains datasets) +data = src / "data" + +# Absolute path to the `src/static` folder (contains static images) +static = src / "static" + +# Absolute path to the `src/scripts` folder (contains figure/pipeline scripts) +scripts = src / "scripts" + +# Absolute path to the `src/tex` folder (contains the manuscript) +tex = src / "tex" + +# Absolute path to the `src/tex/figures` folder (contains figure output) +figures = tex / "figures" + +# Absolute path to the `src/tex/output` folder (contains other user-defined output) +output = tex / "output" diff --git a/src/static/.gitignore b/src/static/.gitignore new file mode 100644 index 0000000..e167a34 --- /dev/null +++ b/src/static/.gitignore @@ -0,0 +1,2 @@ +# Anything is game in this folder +!* diff --git a/src/tex/.gitignore b/src/tex/.gitignore new file mode 100644 index 0000000..a246ef0 --- /dev/null +++ b/src/tex/.gitignore @@ -0,0 +1,2 @@ +# Don't track TeX temporaries +*latexindent* diff --git a/src/tex/aasjournal.bst b/src/tex/aasjournal.bst new file mode 100644 index 0000000..c3882f9 --- /dev/null +++ b/src/tex/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 +%% 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 +%% +%% Revision 1.5 2009/03/19 13:15:11 alberto +%% Truncate \bibitem entries with more than 8 authors. +%% Fix courtesy of Craig Wiegert +%% and Andrew R. Marble +%% +%% Revision 1.4 2002/06/18 16:37:48 alberto +%% Add comma after first author in two-author reference +%% Fix courtesy of Tim Robishaw +%% +%% Revision 1.3 2000/04/20 22:17:50 jbaker +%% Fixed INBOOK bug, now works essentially like BOOK. +%% +%% Revision 1.2 1998/08/30 22:35:45 jbaker +%% Added RCS keywords. +%% +%% 1998/08/12 J Baker +%% Tweaked by hand to get correct results for ApJ. Added functions from +%% astrobib. + + +%% +%% This 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'. diff --git a/src/tex/aastex631.cls b/src/tex/aastex631.cls new file mode 100644 index 0000000..58efd36 --- /dev/null +++ b/src/tex/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 +%%% 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,12pt,aps,pra] + {\@revtex@cls} + \else + \LoadClass[nofootinbib,showkeys,twoside,floatfix,superscriptaddress,flushbottom,12pt,aps,pra] + {\@revtex@cls} + \fi + \else %not twelvepoint + \iflongauthor + \LoadClass[nofootinbib,showkeys,twoside,floatfix,unsortedaddress,flushbottom,10pt,aps,pra] + {\@revtex@cls} + \else + \LoadClass[nofootinbib,showkeys,twoside,floatfix,superscriptaddress,flushbottom,10pt,aps,pra] + {\@revtex@cls} + \fi + \fi + +%%%%%%%%%%%%%%%%%%%% + +\def\blankaffiliation{~}% + +%% needed? + \def\@eapj@cap@font{\bfseries} + \def\@eapj@figname{Figure} + \def\@eapj@tabname{Table} + +% Restore natbib package without sorting. +\def\NAT@sort{0} +\def\NAT@cmprs{0} + +% only redefine sort@cites for natbib versions < 2009 +\@ifundefined{NAT@sort@cites@}{\def\NAT@sort@cites#1{\edef\NAT@cite@list{#1}}}% + +\RequirePackage{latexsym}% +\RequirePackage{graphicx}% +\RequirePackage{amssymb}% + +\newcommand{\bibstyle@aas}{\bibpunct{(}{)}{;}{a}{}{,}}% +\@citestyle{aas}% + +\let\@startsection=\@startsection@from@latex +\def\baselinestretch{1.0} + +%% 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}{}...\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\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\endcsname +%% +\expandafter\tabcountcols\tabfullpreamble% +\global\totalcolumncount=\the\colcount\relax% +\global\colcount=0\relax% +\ifbreaktab\else\ifdbreaktab\else\global\colnumsused=0\relax\fi\fi% +%% +\\\ifcase\totalcolumncount% +\or% +\csname tab1\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&%% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname% +\or +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname% +\or%22 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname% +\or% 24 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname% +\or% 25 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname% +\or% 27 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname% +\or% 28 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname% +\or% 29 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname% +\or% 30 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname&\csname tab30\endcsname% +\else% +\typeout{^^J^^J +Sorry, more than 30 columns cannot be numbered with^^J +\string\colnumbers. Please number the columns manually.^^J +Thank you!^^J}\fi% +\\\hline% below, hline is wanted +\\\noalign{\vskip-30pt }%%%%% +%\vrule height 28pt width0pt %the \vrule is in the line below colnumbers; + % it causes all the vrules on that line to grow to 28pt. + % The -14pt will cause the lower line to overlap the upper line. + % Complication, needed to add this vrule to Z and z in order to + % have it also work for split tabular. +} + +\let\saveplaincolnumbers\plaincolnumbers + + +\def\splitplaincolnumbers{% +\omit\\\omit% +\xplain} + +\let\savesplitplaincolnumbers\splitplaincolnumbers + +\newif\iffirsttime +\firsttimetrue +\gdef\xplain{% +\global\let\plaincolnumbers\xplain% +\global\colnumbersontrue\let&\CheckNumberAndSwitch% +\global\colcount=0\relax% +\global\totalcolumncount=0\relax% +%% above here +\settabnumdefaults% +%% Now, change the columns that have `D' to be \multicolumn2c, by redefining +%% the \csname tab\endcsname +%% +\expandafter\tabcountcols\tabfullpreamble% +\global\totalcolumncount=\the\colcount\relax% +\global\colcount=0\relax% +\ifbreaktab\else\ifdbreaktab\else\global\colnumsused=0\relax\fi\fi% +%% +\iffirsttime +\\%\hline% above not wanted +\else +\\[-12pt]%\hline% above not wanted +\fi +\ifcase\totalcolumncount% +\or% +\csname tab1\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&%% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname% +\or +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname% +\or%22 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname% +\or% 24 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname% +\or% 25 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname% +\or% +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname% +\or% 27 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname% +\or% 28 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname% +\or% 29 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname% +\or% 30 +\csname tab1\endcsname&\csname tab2\endcsname&% +\csname tab3\endcsname&\csname tab4\endcsname&% +\csname tab5\endcsname&\csname tab6\endcsname&% +\csname tab7\endcsname&\csname tab8\endcsname&% +\csname tab9\endcsname&\csname tab10\endcsname&% +\csname tab11\endcsname&\csname tab12\endcsname&% +\csname tab13\endcsname&\csname tab14\endcsname&% +\csname tab15\endcsname&\csname tab16\endcsname&% +\csname tab17\endcsname&\csname tab18\endcsname&% +\csname tab19\endcsname&\csname tab20\endcsname&% +\csname tab21\endcsname&\csname tab22\endcsname&% +\csname tab23\endcsname&\csname tab24\endcsname&% +\csname tab25\endcsname&\csname tab26\endcsname&% +\csname tab27\endcsname&\csname tab28\endcsname&% +\csname tab29\endcsname&\csname tab30\endcsname% +\else% +\typeout{^^J^^J +Sorry, more than 30 columns cannot be numbered with^^J +\string\colnumbers. Please number the columns manually.^^J +Thank you!^^J}\fi% +\\\hline% below, hline is wanted +\iffirsttime +\\\noalign{\vskip-30pt}%% +%\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{text}, all +%% \collaborationcomment{text}, and all +%% \authorcomment{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{\ifnumlines\nolinenumbers\fi +\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 % 2022 Jan 14 Rodrigo Luger +%% 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}}{}}% 2022 Jan 14 Rodrigo Luger +}% + +\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= 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{}, 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/src/tex/bib.bib b/src/tex/bib.bib new file mode 100644 index 0000000..761e470 --- /dev/null +++ b/src/tex/bib.bib @@ -0,0 +1,15 @@ +@ARTICLE{Luger2021, + author = { {Luger}, Rodrigo and {Bedell}, Megan and {Foreman-Mackey}, Daniel and {Crossfield}, Ian J.~M. and {Zhao}, Lily L. and {Hogg}, David W.}, + title = "{Mapping stellar surfaces III: An Efficient, Scalable, and Open-Source Doppler Imaging Model}", + journal = {arXiv e-prints}, + keywords = {Astrophysics - Solar and Stellar Astrophysics, Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics}, + year = 2021, + month = oct, + eid = {arXiv:2110.06271}, + pages = {arXiv:2110.06271}, +archivePrefix = {arXiv}, + eprint = {2110.06271}, + primaryClass = {astro-ph.SR}, + adsurl = {https://ui.adsabs.harvard.edu/abs/2021arXiv211006271L}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} +} diff --git a/src/tex/figures/.gitignore b/src/tex/figures/.gitignore new file mode 100644 index 0000000..3646aa7 --- /dev/null +++ b/src/tex/figures/.gitignore @@ -0,0 +1,5 @@ +# Nothing should be tracked in this folder... +* + +# Except the gitignore file itself! +!.gitignore diff --git a/src/tex/ms.tex b/src/tex/ms.tex new file mode 100644 index 0000000..6ab8e9c --- /dev/null +++ b/src/tex/ms.tex @@ -0,0 +1,57 @@ +% Define document class +\documentclass[twocolumn]{aastex631} +\usepackage{showyourwork} + +% Begin! +\begin{document} + +% Title +\title{An open source scientific article} + +% Author list +\author{@showyourwork} + +% Abstract with filler text +\begin{abstract} + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. + Curabitur dictum gravida mauris, consectetuer id, vulputate a, magna. + Donec vehicula augue eu neque, morbi tristique senectus et netus et. + Mauris ut leo, cras viverra metus rhoncus sem, nulla et lectus vestibulum. + Phasellus eu tellus sit amet tortor gravida placerat. + Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. + Praesent eget sem vel leo ultrices bibendum. + Aenean faucibus, morbi dolor nulla, malesuada eu, pulvinar at, mollis ac. + Curabitur auctor semper nulla donec varius orci eget risus. + Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. + Duis eget orci sit amet orci dignissim rutrum. +\end{abstract} + +% Main body with filler text +\section{Introduction} +\label{sec:intro} + +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. +Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. +Curabitur dictum gravida mauris, consectetuer id, vulputate a, magna. +Donec vehicula augue eu neque, morbi tristique senectus et netus et. +Mauris ut leo, cras viverra metus rhoncus sem, nulla et lectus vestibulum. +Phasellus eu tellus sit amet tortor gravida placerat. +Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. +Praesent eget sem vel leo ultrices bibendum. +Aenean faucibus, morbi dolor nulla, malesuada eu, pulvinar at, mollis ac. +Curabitur auctor semper nulla donec varius orci eget risus. +Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. +Duis eget orci sit amet orci dignissim rutrum. + +Nam dui ligula, fringilla a, euismod sodales, sollici- tudin vel, wisi. +Morbi auctor lorem non justo, nam lacus libero, pretium at, lobortis vitae. +Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna. +Morbi ac orci et nisl hendrerit mollis, suspendisse ut massa, cras nec ante. +Pellentesque a nulla cum sociis natoque penatibus et magnis dis parturient. +Aliquam tincidunt urna, nulla ullamcorper vestibulum turpis. +Pellentesque cursus luctus mauris \citep{Luger2021}. + +\bibliography{bib} + +\end{document} diff --git a/src/tex/orcid-ID.png b/src/tex/orcid-ID.png new file mode 100644 index 0000000..996817c Binary files /dev/null and b/src/tex/orcid-ID.png differ diff --git a/src/tex/output/.gitignore b/src/tex/output/.gitignore new file mode 100644 index 0000000..3646aa7 --- /dev/null +++ b/src/tex/output/.gitignore @@ -0,0 +1,5 @@ +# Nothing should be tracked in this folder... +* + +# Except the gitignore file itself! +!.gitignore diff --git a/src/tex/showyourwork.sty b/src/tex/showyourwork.sty new file mode 100644 index 0000000..4712995 --- /dev/null +++ b/src/tex/showyourwork.sty @@ -0,0 +1,13 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{showyourwork}[2022/01/12 Open source science articles] + +\IfFileExists{./showyourwork.tex}{ + \input{showyourwork.tex} +}{ + \newcommand\GitHubURL{} + \newcommand\GitHubSHA{} + \newcommand\GitHubIcon{} + \newcommand\showyourwork{} + \newcommand\script[1]{} + \newcommand\variable[1]{\input{##1}} +} diff --git a/zenodo.yml b/zenodo.yml new file mode 100644 index 0000000..238e4ef --- /dev/null +++ b/zenodo.yml @@ -0,0 +1,3 @@ +cache: + main: + sandbox: