\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}