使 bigcup 大小適應陣列而不失真

使 bigcup 大小適應陣列而不失真

我想要一個 cup 命令來適應其左側數組的大小(類似於括號中的leftright),同時保持字母的字體和線條的粗細相同。我嘗試bigcup與scalerel套件一起使用,但行和下標變得太寬。我在這裡報告一個最小的例子來展示結果:

\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類似。在放大整個杯子加下標的同時,您可以在另一個方向上單獨縮放下標。為了在內部縮放後使下標很好地位於杯子下方,可以添加a和:\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}

輸出:

輸出

使用的值正是我認為對於一系列不同(大)數組來說看起來合理的值;您可能希望調整這些。

相關內容