三条垂直线之间的间距

三条垂直线之间的间距

我想创建一个类似标准的运算符,其中有 3 个垂直条,而不是 2 个。它必须看起来像$|||\cdot|||$。我想知道如何减小垂直条之间的间距,使其具有与命令相同的间距$\lVert .. \rVert$

包中有一个stmaryrd名为的可用命令\biginterleave,但此命令的垂直条之间间距太大,尤其是在显示数学模式下。

是否有一些解决方法来调整垂直条之间的间距?

答案1

这是一个不需要使用额外软件包的解决方案。新命令\vertiii接受一个参数;三条垂直线会根据参数的大小自动调整大小。对于下面的 MWE,我实际上将垂直线之间的间距设置为略小较少的比生成的\[l,r]Vert——您可以通过改变四个命令的参数值来调整间距以适合您的喜好\kern

附录\vertiii:我修改了代码——在整个命令周围插入花括号——以便允许在下标和上标中使用该命令。

\documentclass{article}
\usepackage{amsmath,amssymb}
\newcommand{\vertiii}[1]{{\left\vert\kern-0.25ex\left\vert\kern-0.25ex\left\vert #1 
    \right\vert\kern-0.25ex\right\vert\kern-0.25ex\right\vert}}
\begin{document}
$\vertiii{a}$, 
$\vertiii{\int_0^1 a(x)\,\mathrm{d}x}$,
$\displaystyle \vertiii{\int_0^1 a(x)\,\mathrm{d}x}_\vertiii{b}$

$\lVert a \rVert$ (for comparison)

$c_\vertiii{d}$, $f^\vertiii{g}$
\end{document}

在此处输入图片描述

答案2

以 Mico 为模型的解决方案,但也允许在下标和上标中使用。使用\mkern-1.5mu似乎更好;如果使用其他基本字体,则应与生成的结果进行比较,对此进行调整\|

mathtools语法与“隔离”符号使用的语法类似:

\opnorm{a}        % normal size
\opnorm[\big]{a}  % slightly larger
\opnorm[\Bigg]{a} % largest
\opnorm*{a}       % \left and \right

这是示例。

\documentclass{article}
\usepackage{amsmath,amssymb}
\makeatletter
\newcommand{\opnorm}{\@ifstar\@opnorms\@opnorm}
\newcommand{\@opnorms}[1]{%
  \left|\mkern-1.5mu\left|\mkern-1.5mu\left|
   #1
  \right|\mkern-1.5mu\right|\mkern-1.5mu\right|
}
\newcommand{\@opnorm}[2][]{%
  \mathopen{#1|\mkern-1.5mu#1|\mkern-1.5mu#1|}
  #2
  \mathclose{#1|\mkern-1.5mu#1|\mkern-1.5mu#1|}
}
\makeatother

\begin{document}

$\opnorm{a}$,
$\opnorm[\Big]{\int_0^1 a(x)\,\mathrm{d}x}$,
$\displaystyle \opnorm*{\int_0^1 a(x)\,\mathrm{d}x}_{\opnorm{a}}$

$\lVert a \rVert$ (for comparison)

\end{document}

在此处输入图片描述

答案3

傅立叶包提供了这样的符号,称为\VERT。但是,\usepackage{fourier}这将改变整个文档的字体。您可以通过添加其定义(取自傅氏) 到你的序言中。

在此处输入图片描述

\documentclass{article}
\DeclareFontEncoding{FMS}{}{}
\DeclareFontSubstitution{FMS}{futm}{m}{n}
\DeclareFontEncoding{FMX}{}{}
\DeclareFontSubstitution{FMX}{futm}{m}{n}
\DeclareSymbolFont{fouriersymbols}{FMS}{futm}{m}{n}
\DeclareSymbolFont{fourierlargesymbols}{FMX}{futm}{m}{n}
\DeclareMathDelimiter{\VERT}{\mathord}{fouriersymbols}{152}{fourierlargesymbols}{147}
\begin{document}
The quick brown fox jumps over the lazy dog.
\[ 
\VERT x \VERT \quad \left\VERT\frac{1}{2}\right\VERT 
\]
\end{document}

答案4

\vvvert使用包 的解决方案mathabx。符号也可以与 和 一起使用\left\right由于包更改了许多数学符号,以下示例仅定义\vvvert和 所需的符号字体,而不更改其他数学符号:

\documentclass{article}
%\usepackage{mathabx}

% 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}

\begin{document}
\[
  \left\vvvert \frac{A}{B}\right\vvvert
\]
\end{document}

结果

相关内容