
В примере ниже я хотел бы, чтобы звезда была выровнена по самому верху (насколько это возможно). Возможно ли это и если да, то как это сделать?
Я ищу универсальное решение, поскольку я мог бы заменить интеграл другим содержимым, возможно, с большей высотой.
\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
создает строку только со звездочкой в первом столбце, а затем выполняет искусственный сдвиг, чтобы разместить ее правильно относительно верхней части строки 2. Но в ваших входных данных она выглядит как часть строки 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}
ПОДХОД №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}
И, конечно же, с помощью package amsmath
вы можете просто использовать:
$\displaystyle\sideset{^\star}{_0^1}\int f(t) dt = 1$
решение3
Это можно сделать либо с помощью хака (действительный интеграл в первом столбце, напечатанный белым цветом, с черной звездочкой в качестве верхней границы), либо с помощью 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}