• 岚山区拨付595 万元补助农村危房改造 2019-10-11
  • 烈日下挥汗如雨 看武警丽水支队“魔鬼周” 2019-10-11
  • 党的十九大最重大的理论成就 2019-09-19
  • 外国领导人祝贺我新一届领导人 2019-09-19
  • 西安启动唐长安城明德门遗址保护工程 2019-09-16
  • 博物馆需要高水平策展人 2019-09-11
  • 凯迪拉克:在高速公路上释放双手很安全 2019-09-11
  • 苗山脱贫影像志——父母在 不远行 2019-09-04
  • 96次航拍峨眉 换个角度看巴蜀名山 中国国家地理网 2019-08-31
  • 张一山恋情遭曝光,女友竟是她… 2019-08-21
  • 人民日报评论员:在党的引领下汇聚圆梦力量 2019-08-05
  • 长治职业技术学院“学习新思想千万师生同上一堂课活动”首场授课开讲 2019-08-05
  • 清华美院“毕业拍”作品被一抢而光 2019-07-31
  • “互联网+”开启乌鲁木齐智能环保时代 2019-07-05
  • 重大疾病贫困患者报销补偿比超90% 2019-06-25
  • 香港马会生肖诗:LaTeX 技巧939:使用比逼格更逼格的定界符

    最老版特码诗 www.kdltu.tw 通常,我们建议在 LaTeX 中使用 LaTeX 提供的 \big, \Big, \bigg, \Bigg 一系列命令,代替 TeX 默认的 \left 和 \right来调整定界符的大小。然而,尽管最大提供了 \Bigg 的命令,但有时候仍然不够用。

    此篇介绍如何定义 \biggg, \Biggg, \bigggg 和 \Bigggg 系列命令。我们的口号是「比逼格更逼格」(bigger than bigger)!

    挖掘代码

    \big 系列命令

    要定义更大的定界符修饰,就必须搞清楚 \big 系列命令是如何定义的。首先,我们使用 kpsewhich amsmath.sty 找到 amsmath.sty 在系统中的路径。而后打开样式文件,搜寻 \big 的定义。

    \renewcommand{\big}{\[email protected]\@ne}
    \renewcommand{\Big}{\[email protected]{1.5}}
    \renewcommand{\bigg}{\[email protected]\[email protected]}
    \renewcommand{\Bigg}{\[email protected]{2.5}}

    \[email protected] 命令

    显而易见,核心是 \[email protected] 这个命令。它可以根据其后第一个 token 决定定界符的放大程度。注意,这里 \@ne 表示 {1},而 \[email protected] 表示 {2}——这是令人讨厌的 LaTeX 内核编程 trick。于是我们继续去寻找 \[email protected] 的定义。

    \def\[email protected]#1#2{%
      {\@mathmeasure\[email protected]{\nulldelimiterspace\[email protected]}%
         {\left#2\vcenter to#1\[email protected]{}\right.}%
       \box\[email protected]}}

    很显然,\[email protected] 命令内部也是通过 TeX 原始的 \left 和 \right 命令来调整定界符(#2)的大小的。不过,它还额外处理了左右的空距。这里我们知道就行了,不去深究。

    \bigl 和 \bigr 系列命令

    接下来我们继续挖掘 \bigl 和 \bigr 系列命令的定义。它们定义在 LaTeX2e 内核当中,因此我们通过执行 texdoc source2e 就能看到它们的定义了。

    \def\bigl{\mathopen\big}
    \def\bigm{\mathrel\big}
    \def\bigr{\mathclose\big}
    \def\Bigl{\mathopen\Big}
    \def\Bigm{\mathrel\Big}
    \def\Bigr{\mathclose\Big}
    \def\biggl{\mathopen\bigg}
    \def\biggm{\mathrel\bigg}
    \def\biggr{\mathclose\bigg}
    \def\Biggl{\mathopen\Bigg}
    \def\Biggm{\mathrel\Bigg}
    \def\Biggr{\mathclose\Bigg}

    很显然,它们就只是用 \mathopen, \mathrel 和 \mathclose 宏来修饰了一下对应的定界符修饰命令。

    改造

    据此,我们可以定义更有逼格的定界符修饰命令了。

    % \RequirePackage{amsmath}
    
    \newcommand{\biggg}{\[email protected]{3}}
    \def\bigggl{\mathopen\biggg}
    \def\bigggm{\mathrel\biggg}
    \def\bigggr{\mathclose\biggg}
    \newcommand{\Biggg}{\[email protected]{3.5}}
    \def\Bigggl{\mathopen\Biggg}
    \def\Bigggm{\mathrel\Biggg}
    \def\Bigggr{\mathclose\Biggg}
    \newcommand{\bigggg}{\[email protected]{4}}
    \def\biggggl{\mathopen\bigggg}
    \def\biggggm{\mathrel\bigggg}
    \def\biggggr{\mathclose\bigggg}
    \newcommand{\Bigggg}{\[email protected]{4.5}}
    \def\Biggggl{\mathopen\Bigggg}
    \def\Biggggm{\mathrel\Bigggg}
    \def\Biggggr{\mathclose\Bigggg}

    注意,这段代码在普通的 LaTeX 文档中,需要使用 \makeatletter 和 \makeatother 来改变 @ 字符的分类码,以便正确定义命令。

    接下来我们实际使用看看。

    \documentclass{article}
    
    \usepackage{amsmath}
    
    \makeatletter
    \newcommand{\biggg}{\[email protected]{3}}
    \def\bigggl{\mathopen\biggg}
    \def\bigggm{\mathrel\biggg}
    \def\bigggr{\mathclose\biggg}
    \newcommand{\Biggg}{\[email protected]{3.5}}
    \def\Bigggl{\mathopen\Biggg}
    \def\Bigggm{\mathrel\Biggg}
    \def\Bigggr{\mathclose\Biggg}
    \newcommand{\bigggg}{\[email protected]{4}}
    \def\biggggl{\mathopen\bigggg}
    \def\biggggm{\mathrel\bigggg}
    \def\biggggr{\mathclose\bigggg}
    \newcommand{\Bigggg}{\[email protected]{4.5}}
    \def\Biggggl{\mathopen\Bigggg}
    \def\Biggggm{\mathrel\Bigggg}
    \def\Biggggr{\mathclose\Bigggg}
    \makeatother
    
    \begin{document}
    
    \[
        \Biggggl[\biggggl[\Bigggl[\bigggl[\Biggl[\biggl[\Bigl[\bigl[[ x ]\bigr]\Bigr]\biggr]\Biggr]\bigggr]\Bigggr]\biggggr]\Biggggr]
    \]
    
    \end{document}

    aa_1_看图王.png

    选自:https://liam.page/2018/11/09/the-bigger-than-bigger-delimiter-in-LaTeX/ 

    分享到:
    未经允许不得转载:LaTeX 技巧939:使用比逼格更逼格的定界符
    已有 条意见

      最新文章

      加载中...
        本站提供专业LaTeX排版、咨询、定制服务,请点击下图咨询详情


        全国首个精品的LaTeX视频教程,大牛带着你入门,让LaTeX学习不再纠结,请点击下图咨询详情

        热门评论

          联系我们

          交流QQ群:91940767
          本站QQ号:343083553
          邮箱联系[email protected]
          淘宝店铺https://shop240512713.taobao.com/ 提供排版,模板定制,培训,图片处理,视频教程等LaTeX服务。

          关注我们微信公众号

          如果您投稿或者希望加入我们团队,请发送您的简历到[email protected]。
        • 岚山区拨付595 万元补助农村危房改造 2019-10-11
        • 烈日下挥汗如雨 看武警丽水支队“魔鬼周” 2019-10-11
        • 党的十九大最重大的理论成就 2019-09-19
        • 外国领导人祝贺我新一届领导人 2019-09-19
        • 西安启动唐长安城明德门遗址保护工程 2019-09-16
        • 博物馆需要高水平策展人 2019-09-11
        • 凯迪拉克:在高速公路上释放双手很安全 2019-09-11
        • 苗山脱贫影像志——父母在 不远行 2019-09-04
        • 96次航拍峨眉 换个角度看巴蜀名山 中国国家地理网 2019-08-31
        • 张一山恋情遭曝光,女友竟是她… 2019-08-21
        • 人民日报评论员:在党的引领下汇聚圆梦力量 2019-08-05
        • 长治职业技术学院“学习新思想千万师生同上一堂课活动”首场授课开讲 2019-08-05
        • 清华美院“毕业拍”作品被一抢而光 2019-07-31
        • “互联网+”开启乌鲁木齐智能环保时代 2019-07-05
        • 重大疾病贫困患者报销补偿比超90% 2019-06-25
        • 微信红包尾数09玩法 加拿大28技巧 双面盘玩法多少钱 腾讯分分彩计划下载 124不倒翁投注法例子 ag所有平台开牌都是一样的吗 双色球怎样兑奖 分分快三大小技巧 麻将游戏旧版本 赛车软件