仅在矩阵环境中更新 arraystretch

仅在矩阵环境中更新 arraystretch

\renewcommand{\arraystretch}{2.5}我在数组中使用它来生成漂亮的表格。但这也影响了矩阵环境。据说可以重新定义\arraystretch每个环境内部的本地,但当我尝试使矩阵再次看起来漂亮时,这不起作用。请帮忙。

这是一个 MWE(也说明了这个问题):

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz-cd}
\renewcommand{\arraystretch}{2.5}
\usepackage{amssymb, amsmath}
\begin{document}

 \[\begin{array}{|c|c|}
  \hline \omega^s_{~s}= 0 & \omega^s_{~\theta}= -\dfrac{f'}{f}\,\theta^\theta \\[.5em] \hline  \omega^\theta_{~s}=\dfrac{f'}{f}\,\theta^\theta & \omega^\theta_{~\theta}=0 \\[.5em] \hline
\end{array}\]

 \[  \begin{vmatrix} \renewcommand*{\arraystretch}{.5}
g(u_1,v_1) & g(u_1,v_2) \\ g(u_2,v_1) & g(u_2,v_2)    
  \end{vmatrix}\]

\end{document}

答案1

您可以使用\bgroup\egroup来实现这一点。

\documentclass{article}
\usepackage[utf8]{inputenc}
\renewcommand{\arraystretch}{2.5}
\usepackage{amssymb, amsmath}
\begin{document}
% your araystretch
 \[\begin{array}{|c|c|}
  \hline \omega^s_{~s}= 0 & \omega^s_{~\theta}= -\dfrac{f'}{f}\,\theta^\theta \\[.5em] \hline  \omega^\theta_{~s}=\dfrac{f'}{f}\,\theta^\theta & \omega^\theta_{~\theta}=0 \\[.5em] \hline
\end{array}\]
% araystretch locally redefined
 \[  \bgroup\renewcommand*{\arraystretch}{.5}\begin{vmatrix} 
g(u_1,v_1) & g(u_1,v_2) \\ g(u_2,v_1) & g(u_2,v_2)    
  \end{vmatrix}\egroup\]
% your araystretch again
 \[\begin{array}{|c|c|}
  \hline \omega^s_{~s}= 0 & \omega^s_{~\theta}= -\dfrac{f'}{f}\,\theta^\theta \\[.5em] \hline  \omega^\theta_{~s}=\dfrac{f'}{f}\,\theta^\theta & \omega^\theta_{~\theta}=0 \\[.5em] \hline
\end{array}\]
\end{document}

在此处输入图片描述

答案2

以下是如何在不让打字稿受困扰的情况下做到这一点\renewcommand{\arraystretch}{...}。中的每个Xmatrix环境amsmath都是根据定义的\env@matrix;由于环境形成组,因此的设置\arraystretch将是本地的。

\documentclass{article}
\usepackage{amssymb, amsmath, etoolbox}

\renewcommand{\arraystretch}{2.5}

\makeatletter
\preto\env@matrix{\renewcommand{\arraystretch}{1}}
\makeatother

\begin{document}

\begin{gather*}
\begin{array}{|c|c|}
\hline
\omega^s_{~s}= 0 & \omega^s_{~\theta}= -\dfrac{f'}{f}\,\theta^\theta \\[.5em]
\hline
\omega^\theta_{~s}=\dfrac{f'}{f}\,\theta^\theta & \omega^\theta_{~\theta}=0 \\[.5em]
\hline
\end{array}
\\
\begin{vmatrix}
g(u_1,v_1) & g(u_1,v_2) \\ 
g(u_2,v_1) & g(u_2,v_2)
\end{vmatrix}
\end{gather*}

\end{document}

在此处输入图片描述

相关内容