有人能告诉我如何设置已声明的新命令的参数,类似于在包中设置的方式TikZ
吗?更具体地说,我想声明一个函数,该函数在所选表达式(环境+ )\condVert{}
的右侧设置一条垂直线,表示条件(或变量变化的限制)。此外,作为附加参数,我想设置在表达式周围设置括号/框架的能力。\left.
\right|
例子:
突出显示背景颜色可能会过于富有表现力,但也许增加功能性会更好。:)
答案1
以下是我自己的一个解决方案,略微非标准,语义。我擅自改变了一些参数和键的顺序和含义,以便于实现:
\documentclass{article}
\usepackage{semantex}
\NewVariableClass\condVert[
define keys[2]={
{limits}{
Other spar={.}{|}{auto},
lower={#1},
upper={#2},
},
},
define keys[1]={
{lim}{ limits={#1}{} },
},
define keys={
{angle bracs}{
Other spar={(}{)}{auto},
},
{rangle bracs}{
Other spar={[}{]}{auto},
},
{dash box}{
command=\dashboxcommand,
},
{dash circle box}{
command=\dashcircleboxcommand,
},
},
]
\newcommand\dashboxcommand[1]{%
#1% change to suit your needs
}
\newcommand\dashcircleboxcommand[1]{%
#1% change to suit your needs
}
\begin{document}
\begin{gather*}
\condVert{f(x)}[lim={x=0}]
\\
\condVert{f(x)}[limits={x=0}{a}]
\\
\condVert{\dfrac{x^2}{2} + x}[angle bracs,lim={x=a}]
\\
\condVert{\dfrac{x^2}{2} + x}[rangle bracs,lim={x=a}]
\\
\condVert{\dfrac{x^2}{2} + x}[dash box, lim={x=a}]
\\
\condVert{\dfrac{x^2}{2} + x}[dash circle box, lim={x=a}]
\end{gather*}
\end{document}