한 요소가 다른 요소와 동일한 너비를 갖도록 강제하는 방법은 무엇입니까? (환상?)

한 요소가 다른 요소와 동일한 너비를 갖도록 강제하는 방법은 무엇입니까? (환상?)

(컨텍스트: 정렬하고 싶은 다양한 표현의 셀이 있는 MathJax와 HTML 테이블을 사용하고 있어서 환경을 사용할 수 없는 경우가 있습니다 align.)

한 요소가 다른 요소와 동일한 너비를 갖도록 강제하는 방법이 있습니까? 나는 에 대해 알고 있습니다 \phantom. 예를 들어 다음 조각은 너비가 동일해야 합니다.

a+x^2+b 

a+\phantom{x^2}+b  

a+0+b하지만 대신 표시하고 싶고 와 같은 너비를 가진 hbox의 중앙에 배치하려면 a+x^2+b어떻게 해야 합니까 ?0x^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} 

여기에 이미지 설명을 입력하세요

관련 정보