我在数组环境中编写方程式,但是当某些行中有分数时,这些行之间的垂直空间太小。请参见此示例:
对于以下代码:
\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}