答案1
这是我的建议:
\documentclass{article}
\usepackage{amsmath}
\usepackage{pict2e,xfp}
\makeatletter
\newcommand{\dvee}{\mathbin{\mathpalette\d@vee\relax}}
\newcommand{\d@vee}[2]{%
\begingroup
\sbox\z@{$\m@th#1\vee$}%
\setlength{\unitlength}{\ht\z@}%
\kern0.1\wd\z@
\begin{picture}(\fpeval{0.4\wd0/\unitlength},1)
\roundcap\d@vee@thickness{#1}
\Line(0,1.03)(\fpeval{0.4\wd0/\unitlength},0)
\end{picture}%
\kern-0.3\wd\z@\box\z@
\endgroup
}
\newcommand{\d@vee@thickness}[1]{% see https://tex.stackexchange.com/a/477200/
\linethickness{%
1\fontdimen8
\ifx#1\displaystyle\textfont\else
\ifx#1\textstyle\textfont\else
\ifx#1\scriptstyle\scriptfont\else
\scriptscriptfont\fi\fi\fi 3
}%
}
\makeatother
\begin{document}
$a \vee a \dvee a$\quad $\scriptstyle a \vee a \dvee a$
\fboxsep=0pt\fboxrule=0.1pt
\fbox{$\vee$}
\fbox{$\dvee$}
\end{document}
对于模拟\bigvee
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{pict2e,xfp}
\makeatletter
\newcommand{\bigdvee}{\mathop{\mathpalette\bigd@vee\relax}}
\newcommand{\bigd@vee}[2]{%
\ifx#1\displaystyle
\displaystylebigd@vee
\else
\begingroup
\sbox\z@{$\m@th#1\bigvee$}%
\setlength{\unitlength}{\dimexpr\ht\z@+\dp\z@}%
\kern0.07\wd\z@
\raisebox{-\dp\z@}{%
\begin{picture}(\fpeval{0.45\wd0/\unitlength},1)
\roundcap\bigd@vee@thickness{#1}%
\Line(0.03,0.97)(\fpeval{0.45\wd0/\unitlength},0.03)
\end{picture}%
}%
\kern-0.3\wd\z@\box\z@
\endgroup
\fi
}
\newcommand{\bigd@vee@thickness}[1]{% see https://tex.stackexchange.com/a/477200/
\linethickness{%
1.75\fontdimen8
\ifx#1\textstyle\textfont\else
\ifx#1\scriptstyle\scriptfont\else
\scriptscriptfont\fi\fi 3
}%
}
\def\displaystylebigd@vee{%
\begingroup
\sbox\z@{$\m@th\displaystyle\bigvee$}%
\setlength{\unitlength}{0.825\dimexpr\ht\z@+\dp\z@}%
\kern0.07\wd\z@
\raisebox{-0.75\dp\z@}{%
\begin{picture}(\fpeval{0.45\wd0/\unitlength},1)
\roundcap\linethickness{2\fontdimen8\textfont3}
\Line(0,1)(\fpeval{0.45\wd0/\unitlength},0)
\end{picture}%
}%
\kern-0.3\wd\z@\box\z@
\endgroup
}
\makeatother
\begin{document}
$\displaystyle \bigvee a + \bigdvee a$\quad
$\textstyle \bigvee a + \bigdvee a$\quad
$\scriptstyle a \bigvee a \bigdvee a$
\fboxsep=0pt\fboxrule=0.1pt
\fbox{$\bigvee$}
\fbox{$\bigdvee$}
\fbox{$\displaystyle\bigvee$}\fbox{$\displaystyle\bigdvee$}
\end{document}
答案2
根据leqslant
和的版本amssymb
,我提出了两种解决方案mathabx
(不加载后者的字体):
\documentclass{article}
\usepackage{amssymb}
\usepackage{graphicx}
\newcommand{\dbvee}{\mathbin{\rotatebox[origin=c]{-90}{$ \geqslant $}}}
\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}
\DeclareMathSymbol{\abxgeqslant}{\mathord}{matha}{"A5}
\newcommand{\abxdbvee}{\mathbin{\rotatebox[origin=c]{-90}{$ \abxgeqslant $}}}
\begin{document}
\[ A\dbvee B \qquad A\abxdbvee B\]%
\end{document}
编辑:
要使用与 相同的符号\bigvee
,您可以将其添加到您的序言中:
\usepackage{stackengine, mathtools}
\newcommand{\bigeqvee}{\stackMath\mathop{\stackinset{l}{-2pt}{c}{-0.5pt}{\scalebox{1.35}{$ \setminus $}}{\displaystyle\bigvee}}}
并在文档正文中输入
\[ A = \bigeqvee_{\mathclap{i\in I}} A_i \]%
(当然这只适用于display style
。对于更普遍的用途,人们必须使用\mathpalette
,以便使代码适应textstyle,脚本样式ans=d scriptscriptcstyle –)但你需要它们吗?