文字のフォントと線の太さを同じにしたまま、左側の配列のサイズに適応する 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}
出力:
使用された値は、さまざまな (大きな) 配列の範囲に対して適切だと思われる値です。これらを微調整することもできます。