为了在 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}