![如何在 ConTeXt 中排版絕對值和範數](https://rvso.com/image/390903/%E5%A6%82%E4%BD%95%E5%9C%A8%20ConTeXt%20%E4%B8%AD%E6%8E%92%E7%89%88%E7%B5%95%E5%B0%8D%E5%80%BC%E5%92%8C%E7%AF%84%E6%95%B8.png)
如何在 ConTeXt 中正確使用絕對值和範數?我目前使用:
\m{|x|\leq|y|}
但高度不適應內容(同樣的情況\mid
)。
答案1
你可以使用\fenced
命令。例如:
\starttext
\startformula
\fenced[doublebar]{\int \psi(r) dr} = 1
\stopformula
\stoptext
您可以在中找到已定義圍欄的列表math-fen.mkiv
。
如果不想使用宏,也可以直接使用帶有and前綴的\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