我已经尝试过这样的事情:
\let\oldinterval\interval
\renewcommand{\interval}[2]{\oldinterval[scaled]{#1}{#2}}
问题是我不能\interval[open]
再使用了。
有没有什么办法解决这一问题?
我想\interval[whatever comes here]{a}{b}
扩大到\oldinterval[whatever comes here, scaled]{a}{b}
。
答案1
该宏\interval
有一个可选参数和两个强制参数。
使用这种宏的旧定义\let
,最好使用 Heiko Oberdiek 的letltxmacro
包,而\LetLtxMacro
不是\let
由于 OP 希望该scaled
选项始终有效,因此我将其明确添加到选项列表中作为最后一个选项#1
。
\documentclass{article}
\usepackage{interval}
\usepackage{letltxmacro}
\LetLtxMacro\oldint\interval
\renewcommand{\interval}[3][]{\oldint[#1,scaled]{#2}{#3}}
\begin{document}
$\interval{a}{b}$
$\interval[open]{a}{b}$
\end{document}
答案2
别这样。别这样。别这样。
如果您确实不想遵循该建议,请修补\interval
宏:
\documentclass{article}
\usepackage{amsmath}
\usepackage{interval}
\usepackage{xpatch}
\xpatchcmd{\interval}{interval,}{interval,scaled,}{}{}
\begin{document}
$\interval{\dfrac{1}{2}}{b}$
$\interval[open]{\dfrac{1}{2}}{b}$
\end{document}