我想问类似的事情\sqcup 和 \sqcap 中的水平线
但是,我不希望按照该问题中的要求进行对齐,而是希望水平线垂直对齐到减号,并且新符号的间距等于常规的\sqcap
间距,如下所示
如果可能的话,我还想要求这个运算符的一个大版本,其尺寸与的尺寸相同\bigsqcup
。
答案1
您可以将\sqcap
和 减号与重叠\ooalign
。宽度不匹配的问题可以通过仅在水平方向上缩小减号来解决。对于“大”版本,使用相同的想法,但减号也会垂直拉伸以匹配厚度(不过,这可能需要 scriptstyle 中的不同因素)。
\documentclass{article}
\usepackage{amsmath,stmaryrd,graphicx}
\makeatletter
\newcommand{\semisqcap}{\mathbin{\mathpalette\semisqcap@\relax}}
\newcommand{\semisqcap@}[2]{%
\begingroup\m@th
\sbox\z@{$#1\sqcap$}%
\ooalign{\hidewidth\resizebox{\wd\z@}{\height}{$#1-$}\hidewidth\cr$#1\sqcap$\cr}%
\endgroup
}
\newcommand{\bigsemisqcap}{\DOTSB\mathop{\mathpalette\bigsemisqcap@\relax}\slimits@}
\newcommand{\bigsemisqcap@}[2]{%
\begingroup\m@th
\sbox\z@{$#1\bigsqcap$}%
\ooalign{\hidewidth\semisqbar@{#1}\hidewidth\cr$#1\bigsqcap$\cr}%
\vphantom{\box\z@}%
\endgroup
}
\newcommand{\semisqbar@}[1]{%
\raisebox{-0.25\height}{\resizebox{\wd\z@}{2\height}{$#1-$}}%
}
\makeatother
\begin{document}
\begin{gather*}
a\semisqcap b
\quad\scriptstyle a\semisqcap b
\\
a\sqcap b
\quad\scriptstyle a\sqcap b
\\
\bigsemisqcap_{i=1}^n a_i \bigsqcap_{i=1}^n a_i
\\
\bigsemisqcap_{i=1}^n a_i \bigsqcap_{i=1}^n a_i
\\
\textstyle\bigsemisqcap_{i=1}^n a_i \bigsqcap_{i=1}^n a_i
\\
\scriptstyle\bigsemisqcap_{i=1}^n a_i \bigsqcap_{i=1}^n a_i
\end{gather*}
\end{document}
答案2
你可以您链接到的答案,并改变一些值。
\documentclass{article}
\usepackage{amsmath}
\usepackage{scalerel}
\def\widen{\mathrel{\ThisStyle{\stretchrel*{\ooalign{%
\raise0.45\LMex\hbox{$\SavedStyle\sqcup$}\cr%
\raise-0.45\LMex\hbox{$\SavedStyle\sqcup$}}}{\sqcup}}}}
\def\narrow{\mathrel{\ThisStyle{\stretchrel*{\ooalign{%
\raise0.75\LMex\hbox{$\SavedStyle\sqcap$}\cr%
\raise-0.75\LMex\hbox{$\SavedStyle\sqcap$}}}{\sqcap}}}}
\def\Widen{\mathrel{\ThisStyle{\stretchrel*{\ooalign{%
\raise0.6\LMex\hbox{$\SavedStyle\sqcup$}\cr%
\raise-0.6\LMex\hbox{$\SavedStyle\sqcup$}}}{\bigsqcup}}}}
\begin{document}
$a -\widen b \quad\scriptstyle a -\widen b \quad\scriptscriptstyle a -\widen b$
$a -\narrow b \quad\scriptstyle a -\narrow b \quad\scriptscriptstyle a -\narrow b$
$a -\Widen b \quad\scriptstyle a -\Widen b \quad\scriptscriptstyle a -\Widen b$
\end{document}