调整大杯尺寸以适应阵列而不会发生扭曲

调整大杯尺寸以适应阵列而不会发生扭曲

我想要一个 cup 命令,它可以适应其左侧数组的大小(类似于括号中的leftand ),同时保持字母的字体和线条的粗细相同。我尝试使用 scalerel 包,但线条和下标变得太宽。我在这里报告一个最小的例子来展示结果:rightbigcup

\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类似。在放大整个杯子和下标的同时,您可以在另一个方向上单独缩放下标。为了使下标在内部缩放后恰好位于杯子下方,可以添加和:\scaleboxgraphicx\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}

输出:

输出

我认为所使用的值对于一系列不同的(大型)数组来说似乎是合理的;您可能希望对其进行调整。

相关内容