.png)
(Контекст: у меня есть случай, когда я использую 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
решение2
Ага, использование \rlap
and \llap
сработало у меня для контента, выровненного по левому и правому краю:
a+\phantom{x^2}\llap{0}+b
Я не знаю, как добиться центрирования контекста, но я могу смягчить это требование, если потребуется.
решение3
решение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}