文本之间的数组垂直空间

文本之间的数组垂直空间

我在数组环境中编写方程式,但是当某些行中有分数时,这些行之间的垂直空间太小。请参见此示例:

在此处输入图片描述

对于以下代码:

\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{array}
\usepackage{setspace}
\usepackage[left=2.50cm, right=2.50cm, top=2.50cm, bottom=2.50cm]{geometry}
\begin{document}
\[
\begin{array}{l}
    \dfrac{2-x}{x^2-16}=\dfrac{3}{x^2+4x}\\ 
    \dfrac{2-x}{(x+4)(x-4)}=\dfrac{3}{x(x+4)}\\
    \dfrac{x(2-x)}{x(x+4)(x-4)}=\dfrac{3(x-4)}{x(x+4)(x-4)}\\
    x(2-x)=3(x-4)\\
    2x-x^2=3x-12\\
    0=x^2+x-12\\
    0=(x+4)(x-3)\\
\end{array}
\]
\end{document}

我可以通过使用(例如)或行尾的任何垂直空格来调整每个行距\\[15pt],但这意味着我必须对包含分数的每一行都执行此操作,这有点无聊。

另一个选择是使用\def\arraystretch{2.7}(例如),但是虽然带有分数的行之间的垂直间距很好,但没有分数的行之间的垂直间距太大。请看此示例:

在此处输入图片描述

使用以下代码:

\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{array}
\usepackage{setspace}
\usepackage[left=2.50cm, right=2.50cm, top=2.50cm, bottom=2.50cm]{geometry}
\begin{document}
\[\def\arraystretch{2.7}
\begin{array}{l}
        \dfrac{2-x}{x^2-16}=\dfrac{3}{x^2+4x}\\ 
        \dfrac{2-x}{(x+4)(x-4)}=\dfrac{3}{x(x+4)}\\
        \dfrac{x(2-x)}{x(x+4)(x-4)}=\dfrac{3(x-4)}{x(x+4)(x-4)}\\
        x(2-x)=3(x-4)\\
        2x-x^2=3x-12\\
        0=x^2+x-12\\
        0=(x+4)(x-3)\\
\end{array}
\]
\end{document}

所以我的问题是:在数组环境中,有没有办法设置文本之间的间距,而不是行之间的间距?可以设置行顶部和文本顶部之间的间距,以及文本底部和行底部之间的间距。也许整个文档都可以?我希望我说得足够清楚……无论如何,感谢您的帮助和关注!

我愿意做的也应该适用于更复杂的方程式,像这样:

在此处输入图片描述

使用以下代码:

\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{array}
\usepackage{setspace}
\usepackage[left=2.50cm, right=2.50cm, top=2.50cm, bottom=2.50cm]{geometry}
\begin{document}
        \[
\begin{array}{lll|l}
    \multicolumn{2}{l}{\dfrac{2-x}{x^2-16}=\dfrac{3}{x^2+4x}}       &   &\\%[.4cm]
    \multicolumn{2}{l}{\dfrac{2-x}{(x+4)(x-4)}=\dfrac{3}{x(x+4)}}   &   &\\%[.4cm]
    \multicolumn{2}{l}{\dfrac{x(2-x)}{x(x+4)(x-4)}=\dfrac{3(x-4)}{x(x+4)(x-4)}} &   &\cdot x(x-4)(x+4)\quad (\neq 0\mbox{ car }x\in\mathcal{D}_x)\\[.4cm]
    \multicolumn{2}{l}{x(2-x)=3(x-4)} & &\\%[.4cm]
    \multicolumn{2}{l}{2x-x^2=3x-12}    &   &\\%[.4cm]
    \multicolumn{2}{l}{0=x^2+x-12}      &   &\\%[.4cm]
    \multicolumn{2}{l}{0=(x+4)(x-3)}    &   &\\%[.4cm]
    \mbox{Soit }    &x+4=0              &   &-4\\%[.4cm]
    &x=-4               &   &\notin\mathcal{D}_x\\%[.4cm]
    \mbox{Soit }    &x-3=0              &   &+3\\%[.4cm]
    &x=3                &   &\in\mathcal{D}_x\\%[.4cm]
\end{array}
\]
\end{document}

答案1

您可以定义一种新的列类型f,在基线下添加一些额外的垂直空间。我还会(局部)增加\arraystretch以提供更开放的外观。

看看修复方法:您只需要三列,而不是四列。

\documentclass[12pt,a4paper]{book}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{array}
\usepackage[left=2.50cm, right=2.50cm, top=2.50cm, bottom=2.50cm]{geometry}

\begin{document}
\[
\renewcommand{\arraystretch}{1.2}
\newcolumntype{f}{>{\rule[-3ex]{0pt}{3ex}}l}
\begin{array}{ll|l}
\multicolumn{2}{f|}{\dfrac{2-x}{x^2-16}=\dfrac{3}{x^2+4x}}     & \\
\multicolumn{2}{f|}{\dfrac{2-x}{(x+4)(x-4)}=\dfrac{3}{x(x+4)}} & \\
\multicolumn{2}{f|}{\dfrac{x(2-x)}{x(x+4)(x-4)}=\dfrac{3(x-4)}{x(x+4)(x-4)}} & 
  {}\cdot x(x-4)(x+4)\quad (\neq 0\mbox{ car }x\in\mathcal{D}_x) \\
\multicolumn{2}{l|}{x(2-x)=3(x-4)} & \\
\multicolumn{2}{l|}{2x-x^2=3x-12}  & \\
\multicolumn{2}{l|}{0=x^2+x-12}    & \\
\multicolumn{2}{l|}{0=(x+4)(x-3)}  & \\
\mbox{Soit} &x+4=0 & -4\\
            &x=-4  & \notin\mathcal{D}_x \\
\mbox{Soit} &x-3=0 & {}+3 \\
            &x=3   & \in\mathcal{D}_x \\
\end{array}
\]

\end{document}

在此处输入图片描述

相关内容