
Однажды я, кажется, работал над системой, где по какой-то причине латексный код, содержащий
$\array{a & b \\ c & d }$
Кажется, это сработало. (Обратите внимание, что, в частности, опции «выравнивания» типа {rrccr}, стандартные в обычной конструкции \begin{align} \end{align}, здесь отсутствуют. Теперь мне нужно скомпилировать это на более или менее стандартной установке Latex, а она не компилируется как есть. Конечно, одним из вариантов было бы отредактировать все в стандартной конструкции \begin{align} \end{align}.
Вопрос: можете ли вы порекомендовать альтернативу, чтобы можно было скомпилировать такой код с минимальными затратами на редактирование? Какой-то пакет или опция в преамбуле?
решение1
Если вы вообще не хотите менять синтаксис, просто [пере]определите \array
, но я бы этого не делал, так как array
это широко используемое начало среды array
LaTeX. Я бы переименовал его в \myarray
, что можно определить как выровненный TABstack.
\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}