有没有办法在数学模式下创建括号,使其在命令\big
(太小) 和\Big
(太大) 之间有一个扩展名? amsmath 包文档以这种方式定义分隔符:
\renewcommand{\big}{\bBigg@\@ne}
\renewcommand{\Big}{\bBigg@{1.5}}
\renewcommand{\bigg}{\bBigg@\tw@}
\renewcommand{\Bigg}{\bBigg@{2.5}}
但如果我尝试类似
\makeatletter
\renewcommand{\Pbig}{\bBigg@{1.25}}
\makeatother
在序言中,然后我$\Pbig($
在代码中写入,它不起作用;它只产生与\big
或相同的结果\Big
。
答案1
这里我使用scalerel
包创建一个1.5pt
比 更大(总共 3 pt)的分隔符\big
。我称之为\pig
。我将整体宽度限制为5pt
虽然从技术上讲它可以与任何分隔符“配合使用”,但它实际上适用于 或(
。\{
使用会[
产生不理想的线条粗细。已编辑以尽量减少此问题并提供两种替代方案。
在此表现形式中(中间尺寸是放大的\big
),括号线粗细略微过粗:
\documentclass{article}
\usepackage{scalerel,stackengine}
\newcommand\pig[1]{\scalerel*[5pt]{\big#1}{%
\ensurestackMath{\addstackgap[1.5pt]{\big#1}}}}
\newcommand\pigl[1]{\mathopen{\pig{#1}}}
\newcommand\pigr[1]{\mathclose{\pig{#1}}}
\begin{document}
$ \bigl( \pigl( \Bigl($
$ \bigl\{ \pigl\{ \Bigl\{$
$ \bigl[ \pigl[ \Bigl[$ $<$---BAD!
\end{document}
在第二个表现形式中,定义中\big
的 被改为(因此中间尺寸缩小了),并且最大宽度增加到 5.5pt。现在,括号线的粗细略微太细了:\Big
\pig
\Big
\documentclass{article}
\usepackage{scalerel,stackengine}
\newcommand\pig[1]{\scalerel*[5.5pt]{\Big#1}{%
\ensurestackMath{\addstackgap[1.5pt]{\big#1}}}}
\newcommand\pigl[1]{\mathopen{\pig{#1}}}
\newcommand\pigr[1]{\mathclose{\pig{#1}}}
\begin{document}
$ \bigl( \pigl( \Bigl($
$ \bigl\{ \pigl\{ \Bigl\{$
$ \bigl[ \pigl[ \Bigl[$ $<$---BAD!
\end{document}
也许其中一个版本[几乎]合适。