使用 `DeclarePairedDelimiter` 的三条垂直线规范

使用 `DeclarePairedDelimiter` 的三条垂直线规范

我想声明一个“三重范式”的成对分隔符。这个问题的答案已经存在(参见 三条垂直线之间的间距),但是,由于我已经大量使用mathtools'DeclarePairedDelimiter*宏,因此我想保持一致并使用它们。

我试图“天真地”这样宣布我的常态:

\documentclass{article}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{etoolbox}

\DeclarePairedDelimiterX{\normi}[1]
  {|||}
  {|||}
  {\ifblank{#1}{\:\cdot\:}{#1}}

\begin{document}    
\(\normiii{x}\)

\(\normiii{}\)    
\[
    \normiii*{\sum_{k \geq 0} a_k}
\]    
\end{document}

但是,只有第一根杆被拉伸了。有没有办法将这 3 根杆分组,使它们全部拉伸?

PS:我不想使用自定义字体。

答案1

您可以使用\vvvertfrom获取它mathabx。以下是在不加载 mathabx 包的情况下使用它的代码:

笔记:在 中也有\vVert和分隔符。如果您碰巧使用,另一种可能性是它为相同的分隔符提供了命令。\rVvertfdsymbolfourier\VERT

\documentclass{article}
\usepackage{mathtools}
\usepackage{etoolbox}

\DeclareFontFamily{U}{matha}{\hyphenchar\font45}
\DeclareFontShape{U}{matha}{m}{n}{
<-6> matha5 <6-7> matha6 <7-8> matha7
<8-9> matha8 <9-10> matha9
<10-12> matha10 <12-> matha12
}{}
\DeclareSymbolFont{matha}{U}{matha}{m}{n}

\DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
\DeclareFontShape{U}{mathx}{m}{n}{
<-6> mathx5 <6-7> mathx6 <7-8> mathx7
<8-9> mathx8 <9-10> mathx9
<10-12> mathx10 <12-> mathx12
}{}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}

\DeclareMathDelimiter{\vvvert} {0}{matha}{"7E}{mathx}{"17}%

\DeclarePairedDelimiterX{\normiii}[1]
{\vvvert}
{\vvvert}
{\ifblank{#1}{\:\cdot\:}{#1}}

\begin{document}

\[ \normiii[\Big]{x^k } \qquad \normiii{} \]

\[ \normiii*{\sum_{k \geq 0}^\infty a_k} \]

\end{document} 

在此处输入代码

答案2

这可以通过你链接到的其中一个答案

\documentclass{article}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{etoolbox}
% Math symbol font matha
\DeclareFontFamily{U}{matha}{\hyphenchar\font45}
\DeclareFontShape{U}{matha}{m}{n}{
      <5> <6> <7> <8> <9> <10> gen * matha
      <10.95> matha10 <12> <14.4> <17.28> <20.74> <24.88> matha12
      }{}
\DeclareSymbolFont{matha}{U}{matha}{m}{n}
\DeclareFontSubstitution{U}{matha}{m}{n}

% Math symbol font mathb
\DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
\DeclareFontShape{U}{mathx}{m}{n}{
      <5> <6> <7> <8> <9> <10>
      <10.95> <12> <14.4> <17.28> <20.74> <24.88>
      mathx10
      }{}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}
\DeclareFontSubstitution{U}{mathx}{m}{n}

% Symbol definition
\DeclareMathDelimiter{\vvvert}{0}{matha}{"7E}{mathx}{"17}
\DeclarePairedDelimiterX{\normi}[1]
  {\vvvert}
  {\vvvert}
  {\ifblank{#1}{\:\cdot\:}{#1}}
\begin{document}
\(\normi{x}\)

\(\normi{}\)
\[
  \normi*{\sum_{k \geq 0} a_k}
\]
\end{document}

在此处输入图片描述

相关内容