我的日志最近更新了它的官方类文件,aastex
emulateapj
,从 5.2 版升级到 6.0 版。显然这是一次重大改写,因为期刊放弃了自己的类,而基于期刊发布类文件之前制作的古老第三方版本开发了 6.0 版。
现在,我在新版本的开头看到了斜体“c” pmatrix
。以下是示例:
\documentclass{aastex}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\begin{pmatrix}
-1 & 0 \\
0 & 1
\end{pmatrix}
\end{equation*}
\end{document}
使用 5.2 我得到这个:
而在 6.0 中我得到了这个:
这是从哪里来的?我该如何摆脱它?
答案1
问题在于的内部使用array
环境。在某些时候amsmath
pmatrix
\array{*\c@MaxMatrixCols c}
执行后将准备一个包含MaxMatrixCols
列的表(默认为 10)。
(这样您就不必自己在表/矩阵中插入列数。可以做一些工作来确保括号的间距正确。)
如果定义\array{*{\c@MaxMatrixCols}c}
了,则代码片段可以工作。
我不知道有什么aastex6
变化,但它使用了很多\newcolumntype
……
代码
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\def\env@matrix{\hskip -\arraycolsep % taken from amsmath.sty lines 895ff
\let\@ifnextchar\new@ifnextchar
\array{*{\c@MaxMatrixCols}c}}
\makeatother
\begin{document}
\begin{equation*}
\begin{pmatrix}
-1 & 0 \\
0 & 1
\end{pmatrix}
\end{equation*}
\end{document}