我想要
2
并4
与右侧的红线对齐。- 垂直扩大中间列以便为其内容提供均衡的空间。
- 将内容垂直居中在第三列。
\documentclass[preview,varwidth,border=12pt]{standalone}
\usepackage[a5paper,margin=5mm]{geometry}
\usepackage{amsmath}
\usepackage{array}
\renewcommand{\arraystretch}{1.5}
\begin{document}
\begin{tabular}{|>{\centering}m{0.3\linewidth}|>{\centering}m{0.3\linewidth}|>{\centering}m{0.2\linewidth}|}\hline
A pair of points & Slope & Type \tabularnewline\hline\hline
$
\begin{array}{@{}c@{(}c@{}c@{,}c@{}c@{)}c@{}}
A&&2&&-3&\\
B&&-1&&4&
\end{array}$ &
$
\begin{aligned}
m &= \frac{y_B-y_A}{x_B-x_A}\\
&= \frac{4-(-3)}{-1-2}\\
&= -\frac{7}{3}
\end{aligned}
$ & Decreasing \tabularnewline\hline
\end{tabular}
\end{document}
注意:上面的代码可能存在语义错误。欢迎任何修改。
答案1
- 没有垂直规则,没有双重规则。
- 无
m
类型,可使用w{c}
。 - 使用本地宏以便于输入坐标。
- 在点之间添加一些垂直空间。
- 增加的值
\jot
以增加行之间的距离aligned
。 - 在中间规则下方和底部规则上方添加一些垂直空间。
\documentclass{article}
\usepackage{amsmath}
\usepackage{array,booktabs}
\begin{document}
\begin{center}
\begin{tabular}{
@{}
w{c}{0.33333\columnwidth}
@{}
w{c}{0.33333\columnwidth}
@{}
w{c}{0.33333\columnwidth}
@{}
}
\toprule
A pair of points & Slope & Type \\
\midrule
\addlinespace
$\setlength{\arraycolsep}{0pt}
\newcommand{\point}[3]{#1&(&,{}&)}
\begin{array}{ r r r l r r }
\point{A}{2}{-3} \\[2ex]
\point{B}{-1}{4}
\end{array}$
&
$\addtolength{\jot}{6pt}\begin{aligned}
m &= \frac{y_B-y_A}{x_B-x_A}\\
&= \frac{4-(-3)}{-1-2}\\
&= -\frac{7}{3}
\end{aligned}$
&
Decreasing \\
\addlinespace
\bottomrule
\end{tabular}
\end{center}
\end{document}
答案2
这种方法使用stackengine
左侧列,并消除m
列以实现垂直居中。还\addstackgap
用于在中间列上方/下方添加垂直缓冲区。
\documentclass[preview,varwidth,border=12pt]{standalone}
\usepackage[a5paper,margin=5mm]{geometry}
\usepackage{amsmath}
\usepackage{tabstackengine}
\TABstackMath
\setstackgap{L}{1.2\normalbaselineskip}
\renewcommand{\arraystretch}{1.5}
\begin{document}
\begingroup\tabcolsep=30pt
\begin{tabular}{|c|c|c|}\hline
A pair of points & Slope & Type \tabularnewline\hline\hline
\Matrixstack[r]{
A(&2,& -3)\\
B(&-1,& 4)
} &
\addstackgap[5pt]{$
\begin{aligned}
m &= \frac{y_B-y_A}{x_B-x_A}\\[4pt]
&= \frac{4-(-3)}{-1-2}\\[4pt]
&= -\frac{7}{3}
\end{aligned}$}
& Decreasing \tabularnewline\hline
\end{tabular}\endgroup
\end{document}
答案3
cellspace
以下是用代替\arraystretch
和的方法\multirow
:
\documentclass[preview,varwidth,border=12pt]{standalone}
\usepackage[a5paper, margin=5mm]{geometry}
\usepackage{mathtools}
\usepackage{array}
\usepackage{cellspace}
\setlength{\cellspacetoplimit}{4pt}
\setlength{\cellspacebottomlimit}{4pt}
\newcolumntype{M}[1]{S{m{#1}}}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|wc{0.3\linewidth}| >{\centering}M{0.3\linewidth}|wc{0.2\linewidth}|}\hline
A pair of points & Slope & Type \tabularnewline\hline\hline
\multirow{3.9}{=}{\centering$\begin{matrix}
A (\phantom{-}2,-3)\\
B(-1,\phantom{-}4)
\end{matrix}$} &
$ \begin{aligned}
m &= \frac{y_B-y_A}{x_B-x_A}\\
&= \frac{4-(-3)}{-1-2}\\
&= -\frac{7}{3}
\end{aligned} $ &
\multirow{4}{=}{\centering Decreasing} \tabularnewline\hline
\end{tabular}
\end{document}
答案4
这是一个非常基本的提案,主要基于empheq
和booktabs
。它只需进行少量调整即可达到预期结果。左列内容的对齐是使用\hphantom
s完成的
% arara: lwpdflatex
\documentclass[preview,varwidth,border=12pt]{standalone}
\usepackage[a5paper,margin=5mm]{geometry}
\usepackage{amsmath}
\usepackage{tabularx}
\usepackage{empheq}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{ccc}\toprule
A pair of points & Slope & Type\\\midrule
\parbox{0.2\paperwidth}{
\begin{empheq}{align*}
A(\hphantom{-}2,-3)\\
B(-1,\hphantom{-}4)
\end{empheq}
}
&
\parbox{0.2\paperwidth}{
\begin{empheq}{align*}
m &= \frac{y_B-y_A}{x_B-x_A}\\
&= \frac{4-(-3)}{-1-2}\\
&= -\frac{7}{3}
\end{empheq}
}
& Decreasing\\\bottomrule
\end{tabular}
\end{document}