Как правильно использовать абсолютные значения и нормы в ConTeXt? В настоящее время я использую:
\m{|x|\leq|y|}
Но высота не адаптируется к содержанию (то же самое и для \mid
).
решение1
Вы можете использовать \fenced
команду. Например:
\starttext
\startformula
\fenced[doublebar]{\int \psi(r) dr} = 1
\stopformula
\stoptext
Список определенных ограждений вы можете найти вmath-fen.mkiv
.
Если вы не хотите использовать макрос \fenced
, вы также можете использовать ограждения напрямую с префиксом \L
и \R
. Они также будут масштабироваться автоматически и должны быть сопоставлены, как \left
и и \right
.
\starttext
\startformula
\Ldoublebar \int \psi(r) dr \Rdoublebar = 1
\stopformula
\stoptext
Результат тот же.
решение2
В дополнение к существующим ответам я бы предложил добавить их как новые команды, с
\definemathfence[abs][left="007C,right="007C,define=yes]
\definemathfence[norm][left="2016,right="2016,define=yes]
Полный пример ниже:
\definemathfence[abs][left="007C,right="007C,define=yes]
\definemathfence[norm][left="2016,right="2016,define=yes]
\starttext
\startTEXpage[offset=4mm]
Now we can type
\startformula
\abs{x}\geq\abs{\frac{y}{z}},\quad \norm{x}\geq\norm{\frac{y}{z}}
\stopformula
And if you think the sizes get wrong, you can adjust them like this:
\startformula
\abs{x}\geq\abs[size=2]{\frac{y}{z}},\quad \norm{x}\geq\norm[size=2]{\frac{y}{z}}
\stopformula
\stopTEXpage
\stoptext