如何強制一個元素與另一個元素具有相同的寬度? (幻影?)

如何強制一個元素與另一個元素具有相同的寬度? (幻影?)

(上下文:我有一個例子,我正在使用 MathJax 和一個 HTML 表格,其中包含我想要對齊的各種表達式的單元格,因此我無法使用環境align。)

有沒有辦法強制一個元素與另一個元素具有相同的寬度?我知道\phantom,所以例如這些片段應該具有相同的寬度:

a+x^2+b 

a+\phantom{x^2}+b  

但是,如果我想顯示a+0+b而不是a+x^2+b,並且我想0在與 寬度相同的水平盒子中居中,該怎麼辦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:它定義了標記框命令,因此標記框具有共享相同標記的框中最寬內容的寬度(需要兩次編譯):

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

在此輸入影像描述

相關內容