Anpassung der Bigcup-Größe an das Array ohne Verzerrungen

Anpassung der Bigcup-Größe an das Array ohne Verzerrungen

Ich möchte einen Cup-Befehl haben, der sich an die Größe eines Arrays auf der linken Seite anpasst (etwas wie leftund rightfür die Klammern), während die Schriftart für die Buchstaben und die Linienstärke gleich bleiben. Ich habe versucht, ihn bigcupmit dem Scalerel-Paket zu verwenden, aber die Linie und der Index werden zu breit. Ich berichte hier über ein Minimalbeispiel, um das Ergebnis zu zeigen:

\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} 

Die erzielte Größe stimmt zwar, jedoch x \in Xwird die Schrift zu groß und die Linie zu dick.

Wie kann ich ohne diese Verzerrungen ein ähnliches Ergebnis erzielen?

Antwort1

Ich denke, dass Sie beim Skalieren mit der Array-Größe immer mit der Tatsache konfrontiert werden, dass der gesamte Inhalt der scalerelBox, einschließlich des Index, skaliert wird, was zu inkonsistenten Skriptgrößen (und wahrscheinlich auch zu lächerlich großen Tassen) führt.

Ich würde stattdessen vorschlagen, den \scaleobjebenfalls vom scalerelPaket bereitgestellten Befehl zu verwenden, der ähnlich funktioniert wie der \scaleboxaus dem graphicxPaket. Während Sie die gesamte Tasse plus Index vergrößern, können Sie den Index allein in die andere Richtung skalieren. Damit der Index nach der inneren Skalierung schön unter der Tasse sitzt, kann ein \raiseboxund hinzugefügt werden:\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}

Ausgabe:

Ausgabe

Die verwendeten Werte sind genau das, was meiner Meinung nach für eine Reihe verschiedener (großer) Arrays sinnvoll erschien. Möglicherweise möchten Sie diese anpassen.

verwandte Informationen