はじめに
The Astrophysical Journal(ApJ)をはじめとする AAS ジャーナルで広く使われている
AASTeX 7.0.1(aastex701) を、macOS 上の TeXShop 環境で XeLaTeX によりコンパイルした際に、
テンプレート付属の sample701.tex であっても コンパイルエラーが発生する事例に遭遇しました。
documentclass のオプション(twocolumn や preprint2 など)を変更した直後にエラーが顕在化するため、
一見するとレイアウト指定の問題に見えますが、原因は別の箇所にありました。
本記事では、その原因と対処法を ログとして簡潔にまとめます。
環境
- OS:macOS
- エディタ:TeXShop
- コンパイラ:XeLaTeX
-
クラス:AASTeX 7.0.1(
aastex701)
使用した公式テンプレート
本件で使用したのは、以下の AAS Journals 公式 Overleaf テンプレートです。
-
AASTeX template for submissions to AAS journals
(ApJ, AJ, ApJS, ApJL, PSJ, RNAAS)
https://www.overleaf.com/latex/templates/aastex-template-for-submissions-to-aas-journals-apj-aj-apjs-apjl-psj-rnaas/vwyggrqvhcgz
付属の sample701.tex を 一切改変しない状態でも、本記事で述べるエラーが再現しました。
エラー例
Package hyperref Warning: Ignoring empty anchor on input line 249.
./sample701.tex:249: Undefined control sequence.
<argument> ...gnorespaces \centering Amundsen\UTF{2013}Scott South Pole Sta...
l.249 \section{A short history of AASTeX}
twocolumn や preprint2 などの documentclass オプションを変更した直後に
このエラーが発生するため、レイアウト指定が原因だと誤認しやすい状況でした。
原因
原因は sample701.tex の author / affiliation 部分に含まれる以下の文字列でした。
\affiliation{Amundsen–-Scott South Pole Station}
この文字列には、
- en-dash(
–, U+2013) - ASCII の hyphen(
-)
が 混在しており、XeLaTeX 環境では \UTF{2013} として展開されます。
その結果、Undefined control sequence エラーが発生します。
なぜ気づきにくいか
- 既存の環境では、キャッシュ等の影響で問題なく通る場合があります
- 環境を変えた場合や、documentclass オプションを切り替えた際に初めて顕在化します
- そのため、自作原稿や
twocolumn指定が原因だと誤解しやすくなります
対処法
author / affiliation 内の該当箇所を修正します。
% 修正前
Amundsen–-Scott South Pole Station
% 修正後
Amundsen--Scott South Pole Station
もしくは、該当する affiliation を一度削除・書き換えることで、エラーは解消されました。
補足
本件は、自作原稿の問題ではなく、テンプレート側に起因する点に注意が必要です。
twocolumn などの documentclass オプション変更時に sample701.tex 自体がコンパイルエラーになる場合は、
レイアウト指定を疑う前に、author / affiliation に含まれる文字コードを確認するのが有効でした。
特に、en-dash などの Unicode 文字が混在している場合、
環境によっては一気にエラーが顕在化します。
余談(email 欄について)
AASTeX 7.0.1 では、author に対応する email 欄を必ず記述しないとコンパイルが通らない仕様になっています。
email の表示有無は制御できますが、未記述の場合はエラーになります。
これは AASTeX v6.31 では問題にならなかった挙動であり、
7.0.1 における仕様変更点の一つだと感じました。