Skip to content

Let an author carry a note which is not an affiliation - #18

Merged
roytsmart merged 1 commit into
mainfrom
feature/altaffiliation
Aug 19, 2026
Merged

Let an author carry a note which is not an affiliation#18
roytsmart merged 1 commit into
mainfrom
feature/altaffiliation

Conversation

@roytsmart

Copy link
Copy Markdown
Contributor

aastex.Author could say where someone works and nothing else. AASTeX
reserves \altaffiliation for everything else that needs noting about an
author, and the v7.0 author guide
gives exactly two examples of it:

Authors often have additional information that needs to be noted
(e.g. Hubble Fellow, author is deceased, etc.) in addition to their
affiliation information.

Neither was expressible, so Author gains an altaffiliation field.

aastex.Author(
    name="John Roe",
    affiliation=aastex.Affiliation("Fancy University"),
    altaffiliation="Deceased",
)
\author{John Roe}
\altaffiliation{Deceased}
\email{}
\affiliation{Fancy University}

which typesets as John Roe1, with ∗Deceased
footnoted at the bottom of the column.

Ordering

The guide is emphatic that the command has to follow \author
immediately, since the footnote symbol attaches to whatever text precedes
it. That is why it is emitted before the \email rather than next to the
affiliations, and test_altaffiliation asserts the position rather than
just the presence of the string.

Testing

A deceased coauthor is added to the document behind
test_generate_archive_compiles, so this goes through a real latexmk
run and would catch the class silently dropping the command. I also
confirmed by hand that the rendered PDF contains the footnote.

The new field is inserted after affiliation rather than appended, which
shifts the positional order of email, orcid, and corresponding.
Every call site in our repos passes these by keyword.

AASTeX reserves `\altaffiliation` for what needs saying about an author
besides where they work, and the v7 guide gives "Hubble Fellow" and
"author is deceased" as its examples. There was no way to write either
one, so `Author` gains an `altaffiliation` field.

The footnote symbol attaches to whatever text precedes it, so the
command has to follow `\author` immediately, which is why it is emitted
before the email rather than beside the affiliations.

A deceased coauthor is added to the document behind
`test_generate_archive_compiles`, so the markup is exercised through a
real LaTeX run rather than only compared as a string.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BYjDL98znSud1yFh9chnkP
@codecov

codecov Bot commented Aug 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (a4b6eb6) to head (725fbe7).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #18   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            4         4           
  Lines          702       716   +14     
=========================================
+ Hits           702       716   +14     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@roytsmart
roytsmart merged commit ad59794 into main Aug 19, 2026
16 checks passed
@roytsmart
roytsmart deleted the feature/altaffiliation branch August 19, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant