如何使通常的 Latex 安装编译以下非标准数组语法?

如何使通常的 Latex 安装编译以下非标准数组语法?

有一次我似乎在一个系统上工作,由于某种原因,乳胶代码包含

     $\array{a & b \\ c & d }$

似乎已经奏效。(请注意,特别是,通常的 \begin{align} \end{align} 构造中的标准 {rcrcr} 类型的“对齐”选项在这里缺失。现在我需要在或多或少标准的 latex 安装上编译它,但它不能按原样编译。当然,一种选择是将所有内容编辑成标准的 \begin{align} \end{align}。

问题:您能推荐一种替代方案,以便能够以尽可能少的编辑开销编译此类代码吗?序言中的一些包或选项?

答案1

如果您根本不想更改语法,只需重新定义\array,但我不会这样做,因为这是LaTeX 环境array中广泛使用的开始。我会将其重命名为,可以将其定义为对齐的 TABstack。array\myarray

\documentclass[12pt]{article}
\usepackage{tabstackengine}
\newcommand\myarray{\alignCenterstack}
\TABstackMath
\setstackgap{L}{1.2\normalbaselineskip}% inter-row baselineskip
\setstackaligngap{1em}% horizontal gap between align groups
\begin{document}
$\myarray{a =& b \\ c =& d }$\quad
$\myarray{y =& mx + b \\ E =& mc^2 }$ or this
$\myarray{a =& b & y =& mx + b\\ c =& d& E =& mc^2 }$
\end{document}

在此处输入图片描述

答案2

正如@egreg在评论中指出的那样,您可能正在考虑该\matrix命令。当然,以下设置了名为的宏的代码可以\myarray正确编译。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath} % for 'matrix' environment
\newcommand\myarray[1]{\begin{matrix}#1\end{matrix}}
\begin{document}
$\myarray{a & b \\ c & d }$
\end{document}

相关内容