我想创建一个类似标准的运算符,其中有 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}