我怎样才能在里面放置符号\bigsqcup
?
我尝试过的是这样的:
\newcommand{\concn}{\bigsqcup_{i=1}^n\hspace{-1.07em}\text{\footnotesize $h$\normalsize\hspace{0.6em}}}
问题是,这只在方程环境中看起来不错。当我在文本中使用它时,我的hspaces
不再正确:
有没有一种方法可以将其放置h
在\bigsqcup
任何环境中都可以工作?
答案1
\documentclass{article}
\makeatletter % \moverlay by D. Arsenau
\def\moverlay{\mathpalette\mov@rlay}
\def\mov@rlay#1#2{\leavevmode\vtop{%
\baselineskip\z@skip \lineskiplimit-\maxdimen
\ialign{\hfil$\m@th#1##$\hfil\cr#2\crcr}}}
\newcommand{\charfusion}[3][\mathord]{
#1{\ifx#1\mathop\vphantom{#2}\fi
\mathpalette\mov@rlay{#2\cr#3}
}
\ifx#1\mathop\expandafter\displaylimits\fi}
\makeatother
\newcommand{\bighsqcup}{\charfusion[\mathop]{\bigsqcup}{\innerh}}
\newcommand{\innerh}{\mathchoice
{h}
{\scriptstyle h}
{\scriptscriptstyle h}
{\scriptscriptstyle h}
}
\begin{document}
$\bighsqcup_{i=1}^n$
\[
\bighsqcup_{i=1}^n
\bigsqcup_{i=1}^n % for comparison
\]
\end{document}
答案2
这是一个使用的选项ooalign
;我想知道 egreg 没有使用它的原因是什么——如果他告诉我删除这个答案,我会的:)
该网站上的事实参考ooalign
是 egreg 对\subseteq + \circ 作为单个符号(“开子集”)但你会看到它被用在各种各样的答案中。
% arara: pdflatex
% !arara: indent: {overwrite: yes}
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator*{\bighsqcup}{%
\mathchoice%
{% displaystyle
\ooalign{$\displaystyle\bigsqcup_{i=1}^n$\cr
\hidewidth{\footnotesize $h\mkern2mu$}
}}
{% textstyle
\ooalign{$\textstyle\bigsqcup_{i=1}^n$\cr%
\hidewidth{\footnotesize $h\mkern25mu$}
}}
{% scriptstyle
\ooalign{$\scriptstyle\bigsqcup_{i=1}^n$\cr%
\hidewidth{\tiny $h\mkern24mu$}
}}
{% scriptscriptstyle
\ooalign{$\scriptstyle\bigsqcup_{i=1}^n$\cr%
\hidewidth{\tiny $h\mkern24mu$}
}}
}
\begin{document}
$\bighsqcup_{\bighsqcup}$
\[
\bighsqcup
\]
\end{document}
答案3
当然,您可以调整s\hspace
中的值\mathchoice
以更好地匹配居中。
\documentclass{article}
\usepackage{amsmath}
\usepackage{stackengine}
\def\stacktype{L}
\newlength\cupsize
\DeclareMathOperator*{\foo}{\bigsqcup}
\newcommand\filledcup[3]{%
\mathchoice%
{%
\stackengine{0pt}{$\displaystyle\foo_{#2}^{#3}$}%
{$\displaystyle #1$}{O}{c}{F}{T}{L}%
}{%
\setlength\cupsize{\widthof{$\textstyle\bigsqcup$}}
\stackengine{0pt}{$\textstyle\foo_{#2}^{#3}$}%
{$\textstyle\hspace{.13\cupsize}#1$}{O}{l}{F}{T}{L}%
}{%
\setlength\cupsize{\widthof{$\scriptstyle\bigsqcup$}}
\stackengine{0pt}{$\scriptstyle\foo_{#2}^{#3}$}%
{$\scriptstyle\hspace{.13\cupsize}#1$}{O}{l}{F}{T}{L}%
}{%
\setlength\cupsize{\widthof{$\scriptscriptstyle\bigsqcup$}}
\stackengine{0pt}{$\scriptscriptstyle\foo_{#2}^{#3}$}%
{$\scriptscriptstyle\hspace{.08\cupsize}#1$}{O}{l}{F}{T}{L}%
}%
}
\begin{document}
\centering
This is inline: \( \filledcup{h}{i=1}{n} U_i \)
\[ \filledcup{h}{i=9991}{n} U_i \]
\[ A_{\filledcup{h}{i=1}{n} U_i} \]
\[ \scriptscriptstyle \filledcup{h}{i=1}{n} U_i \]
\end{document}