У меня есть матрица, элементы которой являются пределами, и я хотел бы получить рендеринг, \displaystyle
не помещая его перед каждым элементом.
Есть ли какой-то эквивалент необязательного enumerate
аргумента [before={\everymath{\displaystyle}}]
?
Принятый ответ на этот вопрос(в котором объясняется необязательный аргумент enumerate), похоже, предполагает, что я мог бы просто написать:
\begin{matrix*}
\everymath{\displaystyle}
% entries of matrix, all of which to be rendered in \displaystyle fashion.
\end{matrix*}
Но у меня это не сработало. Можно ли это сделать?
решение1
Если вам нужно displaystyle
глобально, добавьте \everymath{\displaystyle}
в преамбулу:
\documentclass[12pt,a4paper]{article}
\usepackage{mathtools}
\everymath{\displaystyle}
\begin{document}
\begin{equation}
\begin{matrix*}
%
1\int & 2\sum \\
%
3 & 4
\end{matrix*}
\end{equation}
\end{document}
Или вы можете использовать его локально как:
\documentclass[12pt,a4paper]{article}
\usepackage{mathtools}
\begin{document}
{
\everymath{\displaystyle}
\begin{equation}
\begin{matrix*}
%
1\int & 2\sum \\
%
3 & 4
\end{matrix*}
\end{equation}
}
\end{document}
решение2
Не уверен, для чего это нужно; в любом случае, вот реализация:
\documentclass{article}
\usepackage{amsmath,array}
\makeatletter
\def\env@dmatrix{\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\def\arraystretch{2}%
\array{*{\c@MaxMatrixCols}{>{\displaystyle}c}}%
}
\newenvironment{dmatrix}{\env@dmatrix}{\endmatrix}
\newenvironment{pdmatrix}{\left(\env@dmatrix}{\endmatrix\right)}
\newenvironment{bdmatrix}{\left[\env@dmatrix}{\endmatrix\right]}
\newenvironment{Bdmatrix}{\left\{\env@dmatrix}{\endmatrix\right\}}
\newenvironment{vdmatrix}{\left|\env@dmatrix}{\endmatrix\right|}
\newenvironment{Vdmatrix}{\left\|\env@dmatrix}{\endmatrix\right\|}
\makeatother
\begin{document}
\[
\begin{bdmatrix}
\lim_{x\to0}\frac{\sin x}{x} & 1 \\
\int_{0}^{\infty}e^{-x^2}\,dx & \frac{\sqrt{\pi}}{2}
\end{bdmatrix}
\]
\end{document}