tabular ou tabularx: como alinhar a primeira coluna ao topo?

tabular ou tabularx: como alinhar a primeira coluna ao topo?

No exemplo abaixo, gostaria que a estrela estivesse alinhada bem no topo (tanto quanto possível). É possível e se sim, como fazer?

Procuro uma solução genérica, pois poderia substituir a integral por outros conteúdos, possivelmente com altura maior.

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

insira a descrição da imagem aqui

Responder1

ABORDAGEM #1

A \upstarmacro cria uma linha com apenas uma estrela na coluna um e, em seguida, faz um deslocamento artificial para posicioná-la corretamente em relação ao topo da linha 2. Mas na sua entrada, parece parte da linha 1.

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

insira a descrição da imagem aqui

ABORDAGEM #2

Aqui, forneço uma \shiftdownmacro que pode ser suficiente para colunas que não são as primeiras:

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

insira a descrição da imagem aqui

Responder2

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

insira a descrição da imagem aqui

Se você quiser mover a estrela, use \vphantompara a altura da integral. Então você não precisa de valores fixos para a mudança:

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

E, claro, com package amsmathvocê pode simplesmente usar:

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

Responder3

Você pode fazer isso com um hack (uma integral real na primeira coluna impressa em branco, com uma estrela preta como limite superior) ou com o prescriptcomando de 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} 

insira a descrição da imagem aqui

informação relacionada