tabular 或 tabularx:如何将第一列对齐到顶部?

tabular 或 tabularx:如何将第一列对齐到顶部?

在下面的例子中,我希望星星尽可能地对齐到最顶部。这可以吗?如果可以,该怎么做?

我正在寻找一个通用的解决方案,因为我可以用其他内容替换积分,并且可能具有更高的高度。

\documentclass{article}
\usepackage{amsmath}
\usepackage{tabularx}

\begin{document}
\begin{tabular}[t]{p{0mm}c}
$\star$ &
${\displaystyle \int_0^1 f(t) dt = 1}$
\end{tabular}
\end{document}

在此处输入图片描述

答案1

方法 1

\upstar宏在第一列创建一行,其中只有一个星号,然后进行人为移动,使其相对于第二行的顶部正确放置。但在您的输入中,它看起来像第一行的一部分。

\documentclass{article}
\usepackage{amsmath}
\usepackage{tabularx}
\newcommand\upstar{$\star$ \\[\dimexpr5pt-\normalbaselineskip]}
\begin{document}
\begin{tabular}[t]{p{0mm}c}
\upstar& ${\displaystyle \int_0^1 f(t) dt = 1}$
\end{tabular}
\end{document}

在此处输入图片描述

方法 #2

在这里,我给出了一个\shiftdown可能适用于非第一列的宏:

\documentclass{article}
\usepackage{amsmath}
\usepackage{tabularx}
\newcommand\shiftdown[1]{%
  \setbox0=\hbox{#1}%
  \raisebox{\dimexpr2pt-\ht0}{#1}
}
\begin{document}
\begin{tabular}[t]{p{0mm}c}
$\star$ &
\shiftdown{${\displaystyle \int_0^1 f(t) dt = 1}$}
\end{tabular}
\end{document}

在此处输入图片描述

答案2

\documentclass{article}
\usepackage{amsmath,tabularx}
\def\RB#1{\raisebox{\dimexpr(-\height-\depth)/2}{#1}}

\begin{document}
\begin{tabular}{ll}
$\star$  & \RB{$\displaystyle \int_0^1 f(t) dt = 1$}
\end{tabular}
\end{document}

在此处输入图片描述

如果要移动星星,则使用\vphantom积分高度。这样就不需要固定的偏移值了:

\documentclass{article}
\usepackage{amsmath}
\def\RBo#1{\raisebox{\dimexpr+\height+\depth}{#1}}

\begin{document}
\begin{tabular}{ll}
\RBo{$\star\vphantom{\int}$}  & $\displaystyle \int_0^1 f(t) dt = 1$
\end{tabular}
\end{document}

当然,使用包amsmath你可以简单地使用:

$\displaystyle\sideset{^\star}{_0^1}\int f(t) dt = 1$

答案3

您可以使用 hack(在第一列中用白色打印一个实数积分,用黑色星号作为上限)或使用以下命令prescript来做到这一点mathtools

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
 \usepackage{mathtools}
\usepackage{xcolor, tabularx}

\begin{document}

\begin{tabular}[t]{p{0mm}c}
$\color{white}\displaystyle\int^{\color{black}\star}$ &
$\displaystyle \int_0^1 f(t) dt = 1 $ \\[4ex]
 & $\displaystyle \prescript{\star\mkern-6mu}{}{\int_0^1} f(t) dt = 1$
\end{tabular}

\end{document} 

在此处输入图片描述

相关内容