什么破坏了这个 deluxetable.sty 文件?

什么破坏了这个 deluxetable.sty 文件?

天文学家利用美国阿斯特克斯对于那些希望在论文中使用不带 AASTeX 的 deluxetables 的人来说,AAS 链接到 deluxetable.sty文件来实现这一点。当我尝试将 deluxetable.sty 与 TeXLive(2015 和 2016)一起使用时,出现错误,提示它依赖于某个已弃用和删除的功能。错误内容如下:

This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./Article.tex
LaTeX2e <2016/03/31>
Babel <3.9r> and hyphenation patterns for 83 language(s) loaded.
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2016/texmf-dist/tex/latex/base/size12.clo))
(./deluxetable.sty) (./Article.aux)
./Article.tex:16: Undefined control sequence.
\@halignto ->\@to 
                  \pt@width 
l.16    \startdata

?

这可能引用的 deluxetable.sty 中的唯一几行是:

\let\typeout@deluxetable\typeout@deluxetable@mss 
\newcommand\startdata{% 
 \pt@calcnlines 
 \@ifdim{\pt@width>\z@}{% 
  \def\@halignto{\@to\pt@width}% 
 }{% 
  \def\@halignto{}% 
 }% 
 \let\fnum@table=\fnum@ptable 
 \let\@makecaption\@makecaption@plano 
 \global\pt@line\z@ 
 \start@pt@tabular 
 \after@startdata 
}

有人知道是什么破坏了这个文件,以及如何修复它吗?这是一篇简单的文章,应该可以工作,但给出了编译错误:

\documentclass[12pt]{article}
%\documentclass{aastex6}
\usepackage{deluxetable}

\begin{document}

\title{Make Slack Work for You}
\author{Bob Dobbs}
\date{\today}
\maketitle

\begin{deluxetable}{lcc}
    \tablewidth{0.72\textwidth}
    \tablecaption{Putting Things in Tables Makes Them True}
    \tablehead{ \colhead{A Column} & \colhead{Another Column}  & \colhead{The Third Column}  }
    \startdata
        a & b & c \\
        d & e & f
    \enddata
    \tablecomments{Believe the Table!}
    \label{mySpiffyTable}
\end{deluxetable}

\end{document}

答案1

未定义的命令是\@to,它可能是在aastex类的某些旧版本中定义的。

请注意,在和中,deluxetable定义的方式完全不同。deluxetable.styaastex6.cls

您可以通过两种方式解决该问题。

第一种方式

添加适当的定义\@to

\documentclass{article}
\usepackage{deluxetable}

\makeatletter
\def\@to{to}
\makeatother

\begin{document}

\title{Make Slack Work for You}
\author{Bob Dobbs}
\date{\today}
\maketitle

\begin{deluxetable}{lcc}
    \tablewidth{0.72\textwidth}
    \tablecaption{Putting Things in Tables Makes Them True}
    \tablehead{ \colhead{A Column} & \colhead{Another Column}  & \colhead{The Third Column}  }
    \startdata
        a & b & c \\
        d & e & f
    \enddata
    \tablecomments{Believe the Table!}
    \label{mySpiffyTable}
\end{deluxetable}

\end{document}

在此处输入图片描述

第二种方式(首选)

忘记 吧deluxetable,它并没有什么用处,也没有什么美观之处。对于表格注释,您可以使用threeparttable包。

相关内容