ある要素の幅を他の要素と同じに強制するにはどうすればよいでしょうか? (ファントム?)

ある要素の幅を他の要素と同じに強制するにはどうすればよいでしょうか? (ファントム?)

(コンテキスト: MathJax と、整列させたいさまざまな式のセルを含む HTML テーブルを使用しているため、環境を使用できませんalign。)

ある要素の幅を別の要素の幅と同じに強制する方法はありますか? については知っています\phantomが、たとえば、次のフラグメントの幅は同じである必要があります。

a+x^2+b 

a+\phantom{x^2}+b  

a+0+bしかし、の代わりにを表示しa+x^2+b、 と0同じ幅の hbox の中央に配置したい場合はどうすればよいでしょうかx^2

答え1

省略した式の大きさのボックスの中央に0を配置することができます

ここに画像の説明を入力してください

\documentclass{article}

\begin{document}

$a+x^2+b $

$a+\phantom{x^2}+b  $


\sbox0{$x^2$}

$a+\makebox[\wd0]{$0$}+b$

\end{document}

答え2

\rlapああ、との使用は\llap、左揃えと右揃えのコンテンツに効果がありました:

a+\phantom{x^2}\llap{0}+b

中央揃えのコンテキストを取得する方法はわかりませんが、必要に応じてその要件を緩和できます。

答え3

もちろん、これは MathJax では機能しません。

\documentclass{article}
\usepackage{mathtools,calc}

\begin{document}

$a+x^2+b $

$a+\phantom{x^2}+b  $

$a+\mathmakebox[\widthof{$\displaystyle x^2$}]{0}+b$

\end{document}

ここに画像の説明を入力してください

答え4

パッケージを使用したソリューションeqparbox: タグ付きボックス コマンドを定義して、タグ付きボックスの幅が同じタグを共有するボックス内の最も広いコンテンツの幅になるようにします (2 回のコンパイルが必要です)。

\documentclass{article}
\usepackage{mathtools,calc}
\usepackage{eqparbox}
\newcommand\eqmathbox[2][]{\eqmakebox[1]{$#2$}}

\begin{document}

$a+\eqmathbox[M]{x^2}+b $

 $ a+\eqmathbox[M]{0}+b $

\end{document} 

ここに画像の説明を入力してください

関連情報