天文学家利用美国阿斯特克斯对于那些希望在论文中使用不带 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.sty
aastex6.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
包。