带有新符号的可扩展三括号分隔符

带有新符号的可扩展三括号分隔符

\DeclarePairedDelimiter允许定义可扩展的分隔符(例如使用选项\big)。下面提供了一个带有双括号的示例。我需要一个带有三括号的类似分隔符。由于我找不到,所以我从在中找到的双括号符号构建了它stmaryd。不幸的是,我不能将它与 一起使用\DeclarePairedDelimiter:( 所以,我的问题是:如何为可扩展的三括号分隔符定义宏?

\documentclass{article}

\usepackage{mathtools,stmaryrd}

\DeclarePairedDelimiter{\dbr}{\llbracket}{\rrbracket}

\newcommand{\tbr}[1]{\llbracket\mkern-5mu\llbracket #1 \rrbracket\mkern-5mu\rrbracket}


\begin{document}

Double brackets:
\[
  \dbr{x} \quad \dbr[\big]{T^T}
\]

Triple brackets:
\[
  \tbr{x} \quad \tbr{T^T}
\]

\end{document}

在此处输入图片描述

答案1

鼓励David Carlisle 的回复,我最终决定发布这个答案。我本来打算写一个全面的答案来解释解决方案的工作原理,但我很快意识到它将大大超出 30000 个字符的限制——事实上,仅代码就超过 26000 字节!也许我会把解释作为一个单独的答案发布,现在请参考:

基于虚拟字体的解决方案;它为您提供了两个新的可扩展符号,名为\lBbrack\rBbrack,您可以像使用任何其他分隔符一样使用它们(与\bigl& Co.、\left\right\genfrac\DeclarePairedDelimiter、 等一起使用)。例如,

\DeclarePairedDelimiter{\Bra}{[}{]}

你也可以说

\DeclarePairedDelimiter{\WonderBra}{\lBbrack}{\rBbrack}

测试解决方案的说明:

  1. 创建一个新的空目录并移动到该目录。
  2. 保存以下代码到tripledelimiters10.vpl
    (家庭三重分隔符)
    (编码方案字体特定)
    (设计尺寸 R 10.0)
    (评论设计尺寸以点为单位)
    (注释其他尺寸是设计尺寸的倍数)
    (MAPFONT D 0(字体名称 cmex10))
    (MAPFONT D 1(字体名称 cmsy10))
    (MAPFONT D 2(字体名称 cmr10))
    (丰迪门
      (倾斜 R 0.0)
      (空格 R 0.0)
      (拉伸 R 0.0)
      (缩小 R 0.0)
      (X高度 R 0.430555)
      (四 R 1.000003)
      (额外空间 R 0.0)
    (字符 O 0
      (CHARWD R 0.916672)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 放大 O 20)
      (地图
        (设置字符O 0)
        (向左移动 R 0.229168)
        (设置字符O 0)
        (向左移动 R 0.229168)
        (设置字符O 0)
    (字符 O 1
      (CHARWD R 0.916672)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 放大 O 21)
      (地图
        (设置字符 O 1)
        (向左移动 R 0.229168)
        (设置字符 O 1)
        (向左移动 R 0.229168)
        (设置字符 O 1)
    (字符 O 2
      (CHARWD R 0.833338)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 较大 O 150)
      (地图
        (设置字符 O 2)
        (向左移动 R 0.2083345)
        (设置字符 O 2)
        (向左移动 R 0.2083345)
        (设置字符 O 2)
    (字符 O 3
      (CHARWD R 0.833338)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 放大 O 151)
      (地图
        (设置字符 O 3)
        (向左移动 R 0.2083345)
        (设置字符 O 3)
        (向左移动 R 0.2083345)
        (设置字符 O 3)
    (字符 O 4
      (CHARWD R 0.944448)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 放大 O 152)
      (地图
        (设置字符 O 4)
        (向左移动 R 0.236112)
        (设置字符 O 4)
        (向左移动 R 0.236112)
        (设置字符 O 4)
    (字符 O 5
      (CHARWD R 0.944448)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 放大 O 153)
      (地图
        (设置字符 O 5)
        (向左移动 R 0.236112)
        (设置字符 O 5)
        (向左移动 R 0.236112)
        (设置字符 O 5)
    (字符 O 6
      (CHARWD R 0.944448)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 放大 O 154)
      (地图
        (设置字符 O 6)
        (向左移动 R 0.236112)
        (设置字符 O 6)
        (向左移动 R 0.236112)
        (设置字符 O 6)
    (字符 O 7
      (CHARWD R 0.944448)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 放大 O 155)
      (地图
        (设置字符 O 7)
        (向左移动 R 0.236112)
        (设置字符 O 7)
        (向左移动 R 0.236112)
        (设置字符 O 7)
    (字符 O 10
      (CHARWD R 1.166672)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 放大 O 156)
      (地图
        (设置字符 O 10)
        (向左移动 R 0.291668)
        (设置字符 O 10)
        (向左移动 R 0.291668)
        (设置字符 O 10)
    (字符 O 11
      (CHARWD R 1.166672)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 放大 O 157)
      (地图
        (设置字符 O 11)
        (向左移动 R 0.291668)
        (设置字符 O 11)
        (向左移动 R 0.291668)
        (设置字符 O 11)
    (字符 O 12
      (CHARWD R 0.944448)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 放大 O 104)
      (地图
        (设置字符 O 12)
        (向左移动 R 0.236112)
        (设置字符 O 12)
        (向左移动 R 0.236112)
        (设置字符 O 12)
    (字符 O 13
      (CHARWD R 0.944448)
      (CHARHT R 0.039999)
      (CHARDP R 1.160013)
      (下一张 放大 O 105)
      (地图
        (设置字符 O 13)
        (向左移动 R 0.236112)
        (设置字符 O 13)
        (向左移动 R 0.236112)
        (设置字符 O 13)
    (字符 O 14
      (CHARWD R 0.666668)
      (CHARDP R 0.600006)
      (VARCHAR)
        (第 14 号报告)
      (地图
        (设置字符 O 14)
        (向左移动 R 0.166667)
        (设置字符 O 14)
        (向左移动 R 0.166667)
        (设置字符 O 14)
    (字符 O 20
      (CHARWD R 1.194448)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 22)
      (地图
        (设置字符 O 20)
        (向左移动 R 0.298612)
        (设置字符 O 20)
        (向左移动 R 0.298612)
        (设置字符 O 20)
    (字符 O 21
      (CHARWD R 1.194448)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 23)
      (地图
        (设置字符 O 21)
        (向左移动 R 0.298612)
        (设置字符 O 21)
        (向左移动 R 0.298612)
        (设置字符 O 21)
    (字符 O 22
      (CHARWD R 1.472229)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 40)
      (地图
        (设置字符 O 22)
        (向左移动 R 0.36805725)
        (设置字符 O 22)
        (向左移动 R 0.36805725)
        (设置字符 O 22)
    (字符 O 23
      (CHARWD R 1.472229)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 41)
      (地图
        (设置字符 O 23)
        (向左移动 R 0.36805725)
        (设置字符 O 23)
        (向左移动 R 0.36805725)
        (设置字符 O 23)
    (字符 O 24
      (CHARWD R 1.055562)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 42)
      (地图
        (设置字符 O 24)
        (向左移动 R 0.2638905)
        (设置字符 O 24)
        (向左移动 R 0.2638905)
        (设置字符 O 24)
    (字符 O 25
      (CHARWD R 1.055562)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 43)
      (地图
        (设置字符 O 25)
        (向左移动 R 0.2638905)
        (设置字符 O 25)
        (向左移动 R 0.2638905)
        (设置字符 O 25)
    (字符 O 26
      (CHARWD R 1.166672)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 44)
      (地图
        (设置字符 O 26)
        (向左移动 R 0.291668)
        (设置字符 O 26)
        (向左移动 R 0.291668)
        (设置字符 O 26)
    (字符 O 27
      (CHARWD R 1.166672)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 45)
      (地图
        (设置字符 O 27)
        (向左移动 R 0.291668)
        (设置字符 O 27)
        (向左移动 R 0.291668)
        (设置字符 O 27)
    (字符 O 30
      (CHARWD R 1.166672)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 46)
      (地图
        (设置字符 O 30)
        (向左移动 R 0.291668)
        (设置字符 O 30)
        (向左移动 R 0.291668)
        (设置字符 O 30)
    (字符 O 31
      (CHARWD R 1.166672)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 47)
      (地图
        (设置字符 O 31)
        (向左移动 R 0.291668)
        (设置字符 O 31)
        (向左移动 R 0.291668)
        (设置字符 O 31)
    (字符 O 32
      (CHARWD R 1.500004)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 50)
      (地图
        (设置字符 O 32)
        (向左移动 R 0.375001)
        (设置字符 O 32)
        (向左移动 R 0.375001)
        (设置字符 O 32)
    (字符 O 33
      (CHARWD R 1.500004)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 51)
      (地图
        (设置字符 O 33)
        (向左移动 R 0.375001)
        (设置字符 O 33)
        (向左移动 R 0.375001)
        (设置字符 O 33)
    (字符 O 34
      (CHARWD R 1.500004)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 52)
      (地图
        (设置字符 O 34)
        (向左移动 R 0.375001)
        (设置字符 O 34)
        (向左移动 R 0.375001)
        (设置字符 O 34)
    (字符 O 35
      (CHARWD R 1.500004)
      (CHARHT R 0.039999)
      (CHARDP R 2.360025)
      (下一张 放大 O 53)
      (地图
        (设置字符 O 35)
        (向左移动 R 0.375001)
        (设置字符 O 35)
        (向左移动 R 0.375001)
        (设置字符 O 35)
    (字符 O 40
      (CHARWD R 1.58334)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (下一张 放大 O 60)
      (地图
        (设置字符 O 40)
        (向左移动 R 0.395835)
        (设置字符 O 40)
        (向左移动 R 0.395835)
        (设置字符 O 40)
    (字符 O 41
      (CHARWD R 1.58334)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (下一张 放大 O 61)
      (地图
        (设置字符 O 41)
        (向左移动 R 0.395835)
        (设置字符 O 41)
        (向左移动 R 0.395835)
        (设置字符 O 41)
    (字符 O 42
      (CHARWD R 1.166672)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (下一张 放大 O 62)
      (地图
        (设置字符 O 42)
        (向左移动 R 0.291668)
        (设置字符 O 42)
        (向左移动 R 0.291668)
        (设置字符 O 42)
    (字符 O 43
      (CHARWD R 1.166672)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (下一张 放大 O 63)
      (地图
        (设置字符 O 43)
        (向左移动 R 0.291668)
        (设置字符 O 43)
        (向左移动 R 0.291668)
        (设置字符 O 43)
    (字符 O 44
      (CHARWD R 1.277782)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (下一张 放大 O 64)
      (地图
        (设置字符 O 44)
        (向左移动 R 0.3194455)
        (设置字符 O 44)
        (向左移动 R 0.3194455)
        (设置字符 O 44)
    (字符 O 45
      (CHARWD R 1.277782)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (下一张 放大 O 65)
      (地图
        (设置字符 O 45)
        (向左移动 R 0.3194455)
        (设置字符 O 45)
        (向左移动 R 0.3194455)
        (设置字符 O 45)
    (字符 O 46
      (CHARWD R 1.277782)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (下一张 放大 O 66)
      (地图
        (设置字符 O 46)
        (向左移动 R 0.3194455)
        (设置字符 O 46)
        (向左移动 R 0.3194455)
        (设置字符 O 46)
    (字符 O 47
      (CHARWD R 1.277782)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (下一张 放大 O 67)
      (地图
        (设置字符 O 47)
        (向左移动 R 0.3194455)
        (设置字符 O 47)
        (向左移动 R 0.3194455)
        (设置字符 O 47)
    (字符 O 50
      (CHARWD R 1.61112)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (下一张 放大 O 70)
      (地图
        (设置字符 O 50)
        (向左移动 R 0.40278)
        (设置字符 O 50)
        (向左移动 R 0.40278)
        (设置字符 O 50)
    (字符 O 51
      (CHARWD R 1.61112)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (下一张 放大 O 71)
      (地图
        (设置字符 O 51)
        (向左移动 R 0.40278)
        (设置字符 O 51)
        (向左移动 R 0.40278)
        (设置字符 O 51)
    (字符 O 52
      (CHARWD R 1.61112)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (地图
        (设置字符 O 52)
        (向左移动 R 0.40278)
        (设置字符 O 52)
        (向左移动 R 0.40278)
        (设置字符 O 52)
    (字符 O 53
      (CHARWD R 1.61112)
      (CHARHT R 0.039999)
      (CHARDP R 2.9600315)
      (地图
        (设置字符 O 53)
        (向左移动 R 0.40278)
        (设置字符 O 53)
        (向左移动 R 0.40278)
        (设置字符 O 53)
    (字符 O 60
      (CHARWD R 1.750006)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (VARCHAR)
        (前 60 名)
        (BOT 100)
        (代表 O 102)
      (地图
        (设置字符 O 60)
        (向左移动 R 0.4375015)
        (设置字符 O 60)
        (向左移动 R 0.4375015)
        (设置字符 O 60)
    (字符 O 61
      (CHARWD R 1.750006)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (VARCHAR)
        (顶部 O 61)
        (BOT 101)
        (代表 O 103)
      (地图
        (设置字符 O 61)
        (向左移动 R 0.4375015)
        (设置字符 O 61)
        (向左移动 R 0.4375015)
        (设置字符 O 61)
    (字符 O 62
      (CHARWD R 1.333338)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (VARCHAR)
        (顶部 O 62)
        (BOT O 64)
        (第 66 号报告)
      (地图
        (设置字符 O 62)
        (向左移动 R 0.3333345)
        (设置字符 O 62)
        (向左移动 R 0.3333345)
        (设置字符 O 62)
    (字符 O 63
      (CHARWD R 1.333338)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (VARCHAR)
        (顶部 O 63)
        (BOT O 65)
        (第 67 号报告)
      (地图
        (设置字符 O 63)
        (向左移动 R 0.3333345)
        (设置字符 O 63)
        (向左移动 R 0.3333345)
        (设置字符 O 63)
    (字符 O 64
      (CHARWD R 1.333338)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (VARCHAR)
        (BOT O 64)
        (第 66 号报告)
      (地图
        (设置字符 O 64)
        (向左移动 R 0.3333345)
        (设置字符 O 64)
        (向左移动 R 0.3333345)
        (设置字符 O 64)
    (字符 O 65
      (CHARWD R 1.333338)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (VARCHAR)
        (BOT O 65)
        (第 67 号报告)
      (地图
        (设置字符 O 65)
        (向左移动 R 0.3333345)
        (设置字符 O 65)
        (向左移动 R 0.3333345)
        (设置字符 O 65)
    (字符 O 66
      (CHARWD R 1.333338)
      (CHARDP R 0.600006)
      (VARCHAR)
        (顶部 O 62)
        (第 66 号报告)
      (地图
        (设置字符 O 66)
        (向左移动 R 0.3333345)
        (设置字符 O 66)
        (向左移动 R 0.3333345)
        (设置字符 O 66)
    (字符 O 67
      (CHARWD R 1.333338)
      (CHARDP R 0.600006)
      (VARCHAR)
        (顶部 O 63)
        (第 67 号报告)
      (地图
        (设置字符 O 67)
        (向左移动 R 0.3333345)
        (设置字符 O 67)
        (向左移动 R 0.3333345)
        (设置字符 O 67)
    (字符 O 70
      (CHARWD R 1.777782)
      (CHARDP R 0.900009)
      (VARCHAR)
        (前 70 名)
        (中部 O 74)
        (BOT O 72)
        (第 76 号报告)
      (地图
        (设置字符 O 70)
        (向左移动 R 0.4444455)
        (设置字符 O 70)
        (向左移动 R 0.4444455)
        (设置字符 O 70)
    (字符 O 71
      (CHARWD R 1.777782)
      (CHARDP R 0.900009)
      (VARCHAR)
        (顶部 O 71)
        (中部 O 75)
        (BOT O 73)
        (第 76 号报告)
      (地图
        (设置字符 O 71)
        (向左移动 R 0.4444455)
        (设置字符 O 71)
        (向左移动 R 0.4444455)
        (设置字符 O 71)
    (字符 O 72
      (CHARWD R 1.777782)
      (CHARDP R 0.900009)
      (VARCHAR)
        (前 70 名)
        (BOT O 72)
        (第 76 号报告)
      (地图
        (设置字符 O 72)
        (向左移动 R 0.4444455)
        (设置字符 O 72)
        (向左移动 R 0.4444455)
        (设置字符 O 72)
    (字符 O 73
      (CHARWD R 1.777782)
      (CHARDP R 0.900009)
      (VARCHAR)
        (顶部 O 71)
        (BOT O 73)
        (第 76 号报告)
      (地图
        (设置字符 O 73)
        (向左移动 R 0.4444455)
        (设置字符 O 73)
        (向左移动 R 0.4444455)
        (设置字符 O 73)
    (字符 O 74
      (CHARWD R 1.777782)
      (CHARDP R 1.800018)
      (VARCHAR)
        (第 77 号报告)
      (地图
        (设置字符 O 74)
        (向左移动 R 0.4444455)
        (设置字符 O 74)
        (向左移动 R 0.4444455)
        (设置字符 O 74)
    (字符 O 75
      (CHARWD R 1.777782)
      (CHARDP R 1.800018)
      (地图
        (设置字符 O 75)
        (向左移动 R 0.4444455)
        (设置字符 O 75)
        (向左移动 R 0.4444455)
        (设置字符 O 75)
    (字符 O 76
      (CHARWD R 1.777782)
      (CHARDP R 0.300003)
      (VARCHAR)
        (第 76 号报告)
      (地图
        (设置字符 O 76)
        (向左移动 R 0.4444455)
        (设置字符 O 76)
        (向左移动 R 0.4444455)
        (设置字符 O 76)
    (字符 O 77
      (CHARWD R 1.333338)
      (CHARDP R 0.600006)
      (地图
        (设置字符 O 77)
        (向左移动 R 0.3333345)
        (设置字符 O 77)
        (向左移动 R 0.3333345)
        (设置字符 O 77)
    (字符 O 100
      (CHARWD R 1.750006)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (VARCHAR)
        (前 70 名)
        (BOT O 73)
        (第 76 号报告)
      (地图
        (设置字符 O 100)
        (向左移动 R 0.4375015)
        (设置字符 O 100)
        (向左移动 R 0.4375015)
        (设置字符 O 100)
    (字符 O 101
      (CHARWD R 1.750006)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (VARCHAR)
        (顶部 O 71)
        (BOT O 72)
        (第 76 号报告)
      (地图
        (设置字符 O 101)
        (向左移动 R 0.4375015)
        (设置字符 O 101)
        (向左移动 R 0.4375015)
        (设置字符 O 101)
    (字符 O 102
      (CHARWD R 1.750006)
      (CHARDP R 0.600006)
      (VARCHAR)
        (代表 O 102)
      (地图
        (设置字符 O 102)
        (向左移动 R 0.4375015)
        (设置字符 O 102)
        (向左移动 R 0.4375015)
        (设置字符 O 102)
    (字符 O 103
      (CHARWD R 1.750006)
      (CHARDP R 0.600006)
      (VARCHAR)
        (代表 O 103)
      (地图
        (设置字符 O 103)
        (向左移动 R 0.4375015)
        (设置字符 O 103)
        (向左移动 R 0.4375015)
        (设置字符 O 103)
    (字符 O 104
      (CHARWD R 1.222226)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 34)
      (地图
        (设置字符 O 104)
        (向左移动 R 0.3055565)
        (设置字符 O 104)
        (向左移动 R 0.3055565)
        (设置字符 O 104)
    (字符 O 105
      (CHARWD R 1.222226)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 35)
      (地图
        (设置字符 O 105)
        (向左移动 R 0.3055565)
        (设置字符 O 105)
        (向左移动 R 0.3055565)
        (设置字符 O 105)
    (字符 O 120
      (CHARWD R 0.77778)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 0)
      (地图
        (选择字体 D 2)
        (设置字符 O 50)
        (向左移动 R 0.194445)
        (设置字符 O 50)
        (向左移动 R 0.194445)
        (设置字符 O 50)
    (字符 O 121
      (CHARWD R 0.77778)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 1)
      (地图
        (选择字体 D 2)
        (设置字符 O 51)
        (向左移动 R 0.194445)
        (设置字符 O 51)
        (向左移动 R 0.194445)
        (设置字符 O 51)
    (字符 O 122
      (CHARWD R 0.555558)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 2)
      (地图
        (选择字体 D 2)
        (设置字符 O 133)
        (向左移动 R 0.1388895)
        (设置字符 O 133)
        (向左移动 R 0.1388895)
        (设置字符 O 133)
    (字符 O 123
      (CHARWD R 0.555558)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 3)
      (地图
        (选择字体 D 2)
        (设置字符 O 135)
        (向左移动 R 0.1388895)
        (设置字符 O 135)
        (向左移动 R 0.1388895)
        (设置字符 O 135)
    (字符 O 124
      (CHARWD R 0.888892)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 4)
      (地图
        (选择字体 D 1)
        (设置字符 O 142)
        (向左移动 R 0.222223)
        (设置字符 O 142)
        (向左移动 R 0.222223)
        (设置字符 O 142)
    (字符 O 125
      (CHARWD R 0.888892)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 5)
      (地图
        (选择字体 D 1)
        (设置字符 O 143)
        (向左移动 R 0.222223)
        (设置字符 O 143)
        (向左移动 R 0.222223)
        (设置字符 O 143)
    (字符 O 126
      (CHARWD R 0.888892)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 6)
      (地图
        (选择字体 D 1)
        (设置字符 O 144)
        (向左移动 R 0.222223)
        (设置字符 O 144)
        (向左移动 R 0.222223)
        (设置字符 O 144)
    (字符 O 127
      (CHARWD R 0.888892)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 7)
      (地图
        (选择字体 D 1)
        (设置字符 O 145)
        (向左移动 R 0.222223)
        (设置字符 O 145)
        (向左移动 R 0.222223)
        (设置字符 O 145)
    (字符 O 130
      (CHARWD R 1.000004)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 10)
      (地图
        (选择字体 D 1)
        (设置字符 O 146)
        (向左移动 R 0.250001)
        (设置字符 O 146)
        (向左移动 R 0.250001)
        (设置字符 O 146)
    (字符 O 131
      (CHARWD R 1.000004)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 11)
      (地图
        (选择字体 D 1)
        (设置字符 O 147)
        (向左移动 R 0.250001)
        (设置字符 O 147)
        (向左移动 R 0.250001)
        (设置字符 O 147)
    (字符 O 132
      (CHARWD R 0.77778)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 12)
      (地图
        (选择字体 D 1)
        (设置字符 O 150)
        (向左移动 R 0.194445)
        (设置字符 O 150)
        (向左移动 R 0.194445)
        (设置字符 O 150)
    (字符 O 133
      (CHARWD R 0.77778)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 13)
      (地图
        (选择字体 D 1)
        (设置字符 O 151)
        (向左移动 R 0.194445)
        (设置字符 O 151)
        (向左移动 R 0.194445)
        (设置字符 O 151)
    (字符 O 134
      (CHARWD R 0.555558)
      (费用 R 0.75)
      (CHARDP R 0.25)
      (下一张 放大 O 14)
      (地图
        (选择字体 D 1)
        (设置字符 O 152)
        (向左移动 R 0.1388895)
        (设置字符 O 152)
        (向左移动 R 0.1388895)
        (设置字符 O 152)
    (字符 O 150
      (CHARWD R 0.944448)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 24)
      (地图
        (设置字符 O 150)
        (向左移动 R 0.236112)
        (设置字符 O 150)
        (向左移动 R 0.236112)
        (设置字符 O 150)
    (字符 O 151
      (CHARWD R 0.944448)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 25)
      (地图
        (设置字符 O 151)
        (向左移动 R 0.236112)
        (设置字符 O 151)
        (向左移动 R 0.236112)
        (设置字符 O 151)
    (字符 O 152
      (CHARWD R 1.055562)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 26)
      (地图
        (设置字符 O 152)
        (向左移动 R 0.2638905)
        (设置字符 O 152)
        (向左移动 R 0.2638905)
        (设置字符 O 152)
    (字符 O 153
      (CHARWD R 1.055562)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 27)
      (地图
        (设置字符 O 153)
        (向左移动 R 0.2638905)
        (设置字符 O 153)
        (向左移动 R 0.2638905)
        (设置字符 O 153)
    (字符 O 154
      (CHARWD R 1.055562)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 30)
      (地图
        (设置字符 O 154)
        (向左移动 R 0.2638905)
        (设置字符 O 154)
        (向左移动 R 0.2638905)
        (设置字符 O 154)
    (字符 O 155
      (CHARWD R 1.055562)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 31)
      (地图
        (设置字符 O 155)
        (向左移动 R 0.2638905)
        (设置字符 O 155)
        (向左移动 R 0.2638905)
        (设置字符 O 155)
    (字符 O 156
      (CHARWD R 1.333338)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 32)
      (地图
        (设置字符 O 156)
        (向左移动 R 0.3333345)
        (设置字符 O 156)
        (向左移动 R 0.3333345)
        (设置字符 O 156)
    (字符 O 157
      (CHARWD R 1.333338)
      (CHARHT R 0.039999)
      (CHARDP R 1.760019)
      (下一张 放大 O 33)
      (地图
        (设置字符 O 157)
        (向左移动 R 0.3333345)
        (设置字符 O 157)
        (向左移动 R 0.3333345)
        (设置字符 O 157)
    
  3. 在 shell 提示符下输入以下内容:

    vptovf tripledelimiters10.vpl
    

    这将生成两个名为tripledelimiters10.tfm 和 的文件tripledelimiters10.vf,它们始终位于同一目录中。

  4. 保存以下代码到tridelim.sty
    \NeedsTeXFormat{LaTeX2e}\relax % 需要 LaTeX2e!
    \提供包{tridelim}
                    [2018/03/25 v0.01(开发)]

    \DeclareFontFamily{U}{tridelim}{\hyphenchar\font \m@ne} \DeclareFontShape{U}{tridelim}{m}{n}{<->tripledelimiters10}{}

    \DeclareSymbolFont{triplesymbols}{U}{tridelim}{m}{n} \DeclareMathDelimiter{\lPparen}{\mathopen} {triplesymbols}{"50}{triplesymbols}{"50} \DeclareMathDelimiter{\rPparen}{\mathclose} {triplesymbols}{"51}{triplesymbols}{"51} \DeclareMathDelimiter{\lBbrack}{\mathopen} {triplesymbols}{"52}{triplesymbols}{"52} \DeclareMathDelimiter{\rBbrack}{\mathclose} {triplesymbols}{"53}{triplesymbols}{"53} \DeclareMathDelimiter{\lFfloor}{\mathopen} {triplesymbols}{"54}{triplesymbols}{"54} \DeclareMathDelimiter{\rFfloor}{\mathclose} {triplesymbols}{"55}{triplesymbols}{"55} \DeclareMathDelimiter{\lCceil}{\mathopen} {triplesymbols}{"56}{triplesymbols}{"56} \DeclareMathDelimiter{\rCceil}{\mathclose} {triplesymbols}{"57}{triplesymbols}{"57} \DeclareMathDelimiter{\lBbrace}{\mathopen} {triplesymbols}{"58}{triplesymbols}{"58} \DeclareMathDelimiter{\rBbrace}{\mathclose} {triplesymbols}{"59}{triplesymbols}{"59} \DeclareMathDelimiter{\lAangle}{\mathopen} {triplesymbols}{"5A}{triplesymbols}{"5A} \DeclareMathDelimiter{\rAangle}{\mathclose} {triplesymbols}{"5B}{triplesymbols}{"5B} \DeclareMathDelimiter{\Vvert}{\mathord} {triplesymbols}{"5C}{triplesymbols}{"5C} \DeclareMathDelimiter{\lVvert}{\mathopen} {triplesymbols}{"5C}{triplesymbols}{"5C} \DeclareMathDelimiter{\rVvert}{\mathclose} {triplesymbols}{"5C}{triplesymbols}{"5C} \DeclareMathDelimiter{\Aarrowvert}{\mathord} {triplesymbols}{"3C}{triplesymbols}{"3C} \DeclareMathDelimiter{\Bbracevert}{\mathord} {triplesymbols}{"3E}{triplesymbols}{"3E} \DeclareMathDelimiter{\lGgroup}{\mathopen} {triplesymbols}{"3A}{triplesymbols}{"3A} \DeclareMathDelimiter{\rGgroup}{\mathclose} {triplesymbols}{"3B}{triplesymbols}{"3B}

  5. 将以下代码保存到test.tex
    % 我对于 TeX.SX 的标准标题回答:
    \documentclass[a4paper]{article} % 为避免混淆,我们明确
                                     % 声明论文格式。

    \usepackage[T1]{fontenc} % 并非总是必要的,但建议使用。 \usepackage[utf8]{inputenc} % 并非总是必要的,但建议使用。 % 标准头结束。以下内容与当前问题有关。

    \usepackage{mathtools} \usepackage{tridelim}

    \DeclarePairedDelimiter{\tripleparen}{\lPparen}{\rPparen} \DeclarePairedDelimiter{\triplebrack}{\lBbrack}{\rBbrack} \DeclarePairedDelimiter{\triplefloor}{\lFfloor}{\rFfloor} \DeclarePairedDelimiter{\tripleceil} {\lCceil} {\rCceil} \DeclarePairedDelimiter{\triplebrace}{\lBbrace}{\rBbrace} \DeclarePairedDelimiter{\tripleangle}{\lAangle}{\rAangle} \DeclarePairedDelimiter{\triplevert} {\lVvert} {\rVvert} \DeclarePairedDelimiter{\triplegroup}{\lGgroup}{\rGgroup} \DeclarePairedDelimiter{\triplearrowvert}{\Aarrowvert}{\Aarrowvert} \DeclarePairedDelimiter{\triplebracevert}{\Bbracevert}{\Bbracevert}

    \DeclarePairedDelimiterX\triplebracket[3]{\lAangle}{\rAangle} {#1\,\delimsize\Vvert\,\mathopen{}#2\,\delimsize\Vvert\,\mathopen{}#3}

    \newcommand*{\testfraction}{\frac{a}{b}} \newcommand*{\testbigfraction}{% \frac{\,\frac{d^{n}}{dt^{n}}\,}{n!}% } \newcommand*{\testmatrix}{% \开始{矩阵}% 1&0&0&0\\% 0&1&0&0\\% 0&0&1&0\\% 0&0&0&1% \结束{矩阵}% }

    \开始{文档}

    我们从一个简单的公式开始:\(P\lPparen x\rPparen \)。 在子\斜杠上标中也可以吗?让我们检查一下: \( Z^{P\lPparen x\rPparen} \)和 \( 2^{Z_{P\lPparen x\rPparen}} \)。 它有效,但不是最优的:事实上,与 \( Z^{P(x)} \)和 \( 2^{Z_{P(x)}} \)。

    以下是显示的正常尺寸: \开始{对齐*} & x \tripleparen{y} z & & x \triplebrack{y} z & & x \triplefloor{y} z & & x \tripleceil {y} z & & x \triplebrace{y} z \\ & x \tripleangle{y} z & & x \triplevert {y} z & & y \triplearrowvert*{x} z & % 需要 "\left" 和 "\right" & y \triplebracevert*{x} z % 需要 "\left" 和 "\right" \结束{对齐*}

    以下是显示的 \verb|\big| 尺寸: \开始{对齐*} & x \tripleparen[\big]{y} z & & x \triplebrack[\big]{y} z & & x \triplefloor[\big]{y} z & & x \tripleceil [\big]{y} z & & x \triplebrace[\big]{y} z \\ & x \tripleangle[\big]{y} z & & x \triplevert [\big]{y} z & & x \triplearrowvert[\big]{y} z & & x \triplebracevert[\big]{y} z \结束{对齐*}

    以下是 \verb|\Big| 尺寸的显示: \开始{对齐*} & x \tripleparen[\Big]{\testfraction} z & & x \triplebrack[\Big]{\testfraction} z & & x \triplefloor[\Big]{\testfraction} z & & x \tripleceil [\Big]{\testfraction} z & & x \triplebrace[\Big]{\testfraction} z \\ & x \tripleangle[\Big]{\testfraction} z & & x \triplegroup[\Big]{\testfraction} z & % 较小尺寸不可用 & x \triplevert [\Big]{\testfraction} z & & x \triplearrowvert[\Big]{\testfraction} z & & x \triplebracevert[\Big]{\testfraction} z \结束{对齐*}

    以下是显示的 \verb|\bigg| 尺寸: \开始{对齐*} & x \tripleparen[\bigg]{\testfraction} z & & x \triplebrack[\bigg]{\testfraction} z & & x \triplefloor[\bigg]{\testfraction} z & & x \tripleceil [\bigg]{\testfraction} z & & x \triplebrace[\bigg]{\testfraction} z \\ & x \tripleangle[\bigg]{\testfraction} z & & x \triplegroup[\bigg]{\testfraction} z & & x \triplevert [\bigg]{\testfraction} z & & x \triplearrowvert[\bigg]{\testfraction} z & & x \triplebracevert[\bigg]{\testfraction} z \结束{对齐*}

    显示的 \verb|\Bigg| 尺寸如下: \开始{对齐*} & x \tripleparen[\Bigg]{\testbigfraction} z & & x \triplebrack[\Bigg]{\testbigfraction} z & & x \triplefloor[\Bigg]{\testbigfraction} z & & x \tripleceil [\Bigg]{\testbigfraction} z \\ & x \triplebrace[\Bigg]{\testbigfraction} z & & x \tripleangle[\Bigg]{\testbigfraction} z & & x \triplegroup[\Bigg]{\testbigfraction} z \\ & x \triplevert [\Bigg]{\testbigfraction} z & & x \triplearrowvert[\Bigg]{\testbigfraction} z & & x \triplebracevert[\Bigg]{\testbigfraction} z \结束{对齐*}

    最后,出色的自动调整大小分隔符始终显示: \开始{对齐*} & x \tripleparen*{\testmatrix} z​​ & & x \triplebrack*{\testmatrix} z​​ & & x \triplefloor*{\testmatrix} z \\ & x \tripleceil* {\testmatrix} z​​ & & x \triplebrace*{\testmatrix} z​​ & & x \triplegroup*{\testmatrix} z \\ & x \triplevert* {\testmatrix} z​​ & & x \triplearrowvert*{\testmatrix} z​​ & & x \triplebracevert*{\testmatrix} z \结束{对齐*}

    对于以下示例,请参见 \textsf{mathtools} 手册的第 26 页 包裹: \( \triplebracket[\big]{B}{\sum_{k} f_k}{C} \)。

    \结束{文档}

  6. 编译test.tex应产生以下输出: 测试输出
有兴趣了解详情吗?

答案2

您可以使用\DeclarePairedDelimiterX{\tbr}[1]{\llbracket}{\rrbracket}{\mkern-5mu\delimsize\llbracket \mathopen{}#1 \mathclose{} \delimsize\rrbracket\mkern-5mu}

更多信息,请参阅第 26 页数学工具手册。基本上\DeclarePairedDelimiterX{〈cmd〉}[〈num args〉]{〈left_delim〉}{〈right_delim〉}{〈body〉}允许您另外指定一个由外括号包围的宏。\delimsize给出外括号的大小。\mathopen{}\mathclose{}修复可能出现的间距问题(参见此回答以及第 26 页的脚注数学工具手册)。

编辑:这是我目前所得到的。最小的括号有轻微的位移,带星号的版本不起作用。为了获得更好的结果,我认为必须重新定义\DeclarePairedDelimiter

\documentclass{article}

\usepackage{mathtools,stmaryrd}

\usepackage{xcolor}


\DeclarePairedDelimiter{\dbr}{\llbracket}{\rrbracket}

\DeclarePairedDelimiterX{\tbr}[1]{\llbracket}{\rrbracket}{\nhphantom{$\delimsize\llbracket$}\delimsize\llbracket \mathopen{} #1 \mathclose{} \delimsize\rrbracket \nhphantom{$\delimsize\rrbracket$}}

\newcommand{\nhphantom}[1]{\sbox0{#1}\hspace{-0.751\wd0}}


\begin{document}

Double brackets:
\[
  \dbr{x} \quad \dbr[\big]{T^T}
\]

Triple brackets:
\[
  \tbr{x} \quad \tbr[\big]{T^T}
\]

\[
  {\llbracket}\nhphantom{$\llbracket$}{\textcolor{red}{\llbracket}} \quad
  {\big\llbracket}\nhphantom{$\big\llbracket$}{\textcolor{red}{\big\llbracket}} \quad
  {\Big\llbracket}\nhphantom{$\Big\llbracket$}{\textcolor{red}{\Big\llbracket}} \quad
  {\bigg\llbracket}\nhphantom{$\bigg\llbracket$}{\textcolor{red}{\bigg\llbracket}} \quad
  {\Bigg\llbracket}\nhphantom{$\Bigg\llbracket$}{\textcolor{red}{\Bigg\llbracket}}
\]


\end{document}

结果: 结果

相关内容