X, Y
がマップX \to Z
、を備えたセットである場合、および上のY \to Z
ファイバー積の通常の表記は です。マップ を備えたセットがたくさんあります。これらすべてのセットの 上のファイバー積を (TeX で) 表記する方法について提案はありますか? を使用したいと思いますが、積を取るインデックスを示す下付き文字と、 上でファイバー積を取ることを示す下付き文字がお互いに邪魔になっています。X
Y
Z
X \times_Z Y
X_\alpha
X_\alpha \to Z
Z
\prod
Z
現在、私の解決策は、Sigur がコメントで提案しているものです。
答え1
私にとっては、\prod
は に比べてより自然な記号です\bigotimes
。これは、集合の直積 (\times
二項演算子の場合は 、\prod
インデックス付きバージョンの場合は ) に類似しています。インデックス付けは演算子の下で行われ、下付き文字はZ
右側に残ります。これをインラインで行う良い方法はないと思います。
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator*{\fprod}{\sideset{}{_Z}\prod}
\begin{document}
\[
\fprod_{\alpha\in A}X_{\alpha}
\]
\end{document}
\prod
インデックスを の下ではなく、添え字と一緒に の下に中央揃えするという選択に注意してください\prod
。これは、添え字が実際には演算子の一部であるためです。インデックスを の下に中央揃えにしたい場合は、コマンドなしで、\prod
より単純なコード を使用できます。\sideset{}{_Z}\prod_{\alpha\in A}X_{\alpha}
\DeclareMathOperator*
最後に、 を変更する予定がある場合、引数としてtake がZ
あると便利です。残念ながら、は引数を取りません。回避策の1つは、\fprod
Z
\DeclareMathOperator
\newcommand{\fprod}[1]{\mathop{\sideset{}{_{#1}}\prod}}
その後
\fprod{Z}_{\alpha\in A}X_{\alpha}
は、望ましい出力を生成します。ただし、専門家は の使用に対して警告するのではないかと思います\mathop
。