
以下の例では、星を(可能な限り)一番上に揃えたいのですが、それは可能ですか?また、できる場合、どのようにすればよいですか?
おそらく高さを高くして、積分を他のコンテンツに置き換えることができるため、一般的な解決策を探しています。
\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
は、列 1 に星だけを含む行を作成し、それを行 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}
もちろん、パッケージを使用すると、次のように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}