我想要一个 cup 命令,它可以适应其左侧数组的大小(类似于括号中的left
and ),同时保持字母的字体和线条的粗细相同。我尝试使用 scalerel 包,但线条和下标变得太宽。我在这里报告一个最小的例子来展示结果:right
bigcup
\documentclass{article}
\usepackage{scalerel}
\begin{document}
\[
\scalerel{
\bigcup\limits_{x \in X}
}
{
\left\{
f(x)
\begin{array}{| l}
a \\ % first row
b \\ % second row
c \\ % third row
d \\ % fourth row
e \\ % fifth row
\dots \\ % etc.
z \\ % n-th row
\end{array}
\right\}
}
\]
\end{document}
获得的尺寸是正确的,但是字体x \in X
太大且线条太粗。
怎样才能得到类似的结果而不受这些扭曲呢?
答案1
我认为随着数组大小的缩放,您总是会面临这样一个事实:框的整个内容scalerel
(包括下标)都会被缩放,从而导致脚本大小不一致(并且杯子尺寸也可能大得可笑)。
我建议改用\scaleobj
该包提供的命令,该命令的功能与包中的命令scalerel
类似。在放大整个杯子和下标的同时,您可以在另一个方向上单独缩放下标。为了使下标在内部缩放后恰好位于杯子下方,可以添加和:\scalebox
graphicx
\raisebox
\smash
\documentclass{article}
\usepackage{scalerel}
\newcommand\hugecup{%
\scaleobj{2.5}{%
\bigcup\limits_{\smash{\raisebox{.25\baselineskip}{\(\scaleobj{0.425}{x\in X}\)}}}
}
}
\begin{document}
\[
\hugecup
\left\{
f(x)
\begin{array}{| l}
a \\ % first row
b \\ % second row
c \\ % third row
d \\ % fourth row
e \\ % fifth row
\dots \\ % etc.
z \\ % n-th row
\end{array}
\right\}
\]
\end{document}
输出:
我认为所使用的值对于一系列不同的(大型)数组来说似乎是合理的;您可能希望对其进行调整。