当我加载array
或siunitx
或(可能是其他我还没有尝试过的包)时,出现以下错误:
! 程序包数组错误:使用了非法前缀标记 (\specifier):`c'。
\documentclass[preview,border=12pt,12pt]{standalone}
\usepackage{mathtools,booktabs}
\newcommand\specifier{%
r@{}r@{}l
@{\quad}c@{\quad}
r@{}r@{}l
@{}c}
\newcommand\act[1]{\xrightarrow{\quad\mathclap{\times #1}\quad}}
\newcommand\ope[1]{~\smash{\raisebox{.8\normalbaselineskip}{$#1$}}}
\newcommand\equ[3]{{}#1 & {}#2 & {}=#3}
\begin{document}
$
\begin{array}{\specifier}
\equ{3x}{+3y}{7} & \act{1} & \equ{3x}{+3y}{7} \\[\jot]
\equ{3x}{}{22} & \act{3} & \equ{3x}{}{66} & \ope{-} \\\cmidrule{5-7}
&& & & \equ{}{{{-3y}}}{59} \\[\jot]
&& & & \equ{}{y}{-59/3} \\
\end{array}
$
\end{document}
如何消除加载时出现的错误array
?siunitx
答案1
您不能直接将命令用作array
前言。但您可以按如下方式tabular
使用。\newcolumntype
\documentclass[preview,border=12pt,12pt]{standalone}
\usepackage{mathtools,booktabs}
\usepackage{array}
\newcolumntype\specifier{%
r@{}r@{}l
@{\quad}c@{\quad}
r@{}r@{}l
@{}c}
\newcommand\act[1]{\xrightarrow{\quad\mathclap{\times #1}\quad}}
\newcommand\ope[1]{~\smash{\raisebox{.8\normalbaselineskip}{$#1$}}}
\newcommand\equ[3]{{}#1 & {}#2 & {}=#3}
\begin{document}
$
\begin{array}{\specifier}
\equ{3x}{+3y}{7} & \act{1} & \equ{3x}{+3y}{7} \\[\jot]
\equ{3x}{}{22} & \act{3} & \equ{3x}{}{66} & \ope{-} \\\cmidrule{5-7}
&& & & \equ{}{{{-3y}}}{59} \\[\jot]
&& & & \equ{}{y}{-59/3} \\
\end{array}
$
\end{document}