定义新的括号样式

定义新的括号样式

为了在 LaTeX 中准备我的数学笔记,我需要将两个现有符号\langle(或\rangle)与垂直线结合起来。

暂时用我自己发明的命令:\newcommand{\disk}[2]{\mathrel{\langle\mkern-3.85mu\mid\mkern-4mu} {#1} \mathrel{\mkern-4mu\mid\mkern-3.85mu\rangle}_{#2}},但效果不满意,想当做一对括号用,可惜间距太小:\[\mu(\disk{a}{n}) = \sum_{k = 0}^{p-1} \mu (\disk{a + kp^n}{n+1})\]编译为

在此处输入图片描述

正如我所怀疑的,一定有一个 TeX 命令来定义自定义括号。我该如何实现这一点?

答案1

虽然我使用scalerel来缩放符号,但我只将它们缩放到[和的大小],而不是任意拉伸。在这里,我只使用\triangleleft\triangleright作为基础形状。

编辑以使用\mathopen\mathclose,而不是\mathinner

\documentclass[11pt]{article}
\usepackage{amsmath,scalerel}
\newcommand\langlebar{\mathopen{\scalerel*[.55ex]{\triangleleft\mkern3mu}{[}}}
\newcommand\ranglebar{\mathclose{\scalerel*[.55ex]{\mkern3mu\triangleright}{]}}}
\begin{document}
\[\mu(\langlebar a\ranglebar_n) = \sum_{k = 0}^{p-1} \mu (
  \langlebar a + kp^n\ranglebar_{n+1})\] 
\end{document}

在此处输入图片描述

答案2

MnSymbol包中有您想要的符号\langlebar\ranglebar。它们还可以与\left和 一起使用\right

\documentclass{article}
\usepackage{MnSymbol}
\begin{document}
\[\mu(\langlebar a \ranglebar_{n}) = \sum_{k = 0}^{p-1} \mu (\langlebar a + kp^n \ranglebar_{n+1})\]
\end{document}

在此处输入图片描述

如您所见,它还会更改其他符号。如果您不想使用整个MnSymbol包而只想使用这些括号,则必须在文档中包含相关部分。

\documentclass{article}
\DeclareFontFamily{OMX}{MnSymbolE}{}
\DeclareFontShape{OMX}{MnSymbolE}{m}{n}{
    <-6>  MnSymbolE5
   <6-7>  MnSymbolE6
   <7-8>  MnSymbolE7
   <8-9>  MnSymbolE8
   <9-10> MnSymbolE9
  <10-12> MnSymbolE10
  <12->   MnSymbolE12}{}
\DeclareFontShape{OMX}{MnSymbolE}{b}{n}{
    <-6>  MnSymbolE-Bold5
   <6-7>  MnSymbolE-Bold6
   <7-8>  MnSymbolE-Bold7
   <8-9>  MnSymbolE-Bold8
   <9-10> MnSymbolE-Bold9
  <10-12> MnSymbolE-Bold10
  <12->   MnSymbolE-Bold12}{}

\DeclareSymbolFont{MnSymbol}{OMX}{MnSymbolE}{m}{n}
\SetSymbolFont{MnSymbol}{bold}{OMX}{MnSymbolE}{b}{n}

\DeclareMathDelimiter{\langlebar}{\mathopen}{MnSymbol}{'152}{MnSymbol}{'152}
\DeclareMathDelimiter{\ranglebar}{\mathclose}{MnSymbol}{'157}{MnSymbol}{'157}
\begin{document}
\[\mu(\langlebar a \ranglebar_{n}) = \sum_{k = 0}^{p-1} \mu (\langlebar a + kp^n \ranglebar_{n+1})\]
\end{document}

在此处输入图片描述


此类unicode-math符号可用,但并非每种字体都有。我们必须使用选项加载它range,例如XITS Math

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
\setmathfont[range={\llangle,\rrangle}]{XITS Math}
\begin{document}
\[\mu(\llangle a \rrangle_{n}) = \sum_{k = 0}^{p-1} \mu (\llangle a + kp^n \rrangle_{n+1})\]
\end{document}

在此处输入图片描述

相关内容