Moderncv 和 AAS 宏导致未定义的控制序列

Moderncv 和 AAS 宏导致未定义的控制序列

我正在尝试moderncvaas_macros.sty(在http://cdsads.u-strasbg.fr/abs_doc/aas_macros.sty)。但是,以下操作失败:

\documentclass[11pt,letterpaper,sans]{moderncv}
\usepackage{aas_macros}
\name{First}{Last}
\begin{document}
\nocite{*}
\bibliographystyle{plain}
\bibliography{test}
\end{document}

而以下

\documentclass[11pt,letterpaper,sans]{paper}
\usepackage{aas_macros}
%\name{First}{Last}
\begin{document}
\nocite{*}
\bibliographystyle{plain}
\bibliography{test}
\end{document}

运行正常。在这两种情况下,test.bib文件都包含

@ARTICLE{2015ApJ...806L..12O,
   author = {{Oishi}, J.~S. and {Mac Low}, M.-M. and {Collins}, D.~C. and {Tamura}, M.},
   title = "{Self-generated Turbulence in Magnetic Reconnection}",
   journal = {\apjl},
   archivePrefix = "arXiv",
   eprint = {1505.04653},
   primaryClass = "astro-ph.SR",
   keywords = {magnetic reconnection, turbulence},
   year = 2015,
   month = jun,
   volume = 806,
    eid = {L12},
   pages = {L12},
   doi = {10.1088/2041-8205/806/1/L12},
   adsurl = {http://adsabs.harvard.edu/abs/2015ApJ...806L..12O},
  adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

有人能提供指导,说明发生了什么吗?顺便说一句,这是moderncv 出现未定义的控制序列错误但失败的情况最少。

谢谢!

答案1

AAS 宏是文档类的一部分aastex。因此,如果您想使用这些宏,您应该使用此类而不是moderncv。类moderncv不知道\def\apjl{\ref@jnl{ApJ}}您命名的sty文件应该做什么。

因此在我看来,如果你坚持使用这些缩写命令,最好的办法是创建一个自己的缩写文件,例如,my-aas_macros.sty在其中添加重命名命令。

例如:

\renewcommand{\apjl}{The Astophysical Journal Letters}   

如果有缩写,请将其添加到新行中。或者复制第 37 行到第 101 行ass_macros.sty,然后按上图所示更改所有内容(\apjl您可以在第 41 行找到)。

现在将您的行更改\usepackage{aas_macros}\usepackage{my-aas_macros}使用期刊中的 bib 文件及其缩写。

相关内容