Если X, Y
множества снабжены картами X \to Z
, Y \to Z
, то обычная нотация для волокнистого произведения X
и Y
над Z
. X \times_Z Y
У меня есть целая куча множеств, X_\alpha
снабженных картами X_\alpha \to Z
. Есть ли у кого-нибудь предложение, как обозначить (в TeX) волокнистое произведение всех этих множеств над Z
? Я бы хотел использовать \prod
, но нижний индекс, указывающий индексы, по которым мы берем произведение, и нижний индекс, указывающий, что мы берем волокнистое произведение над , Z
мешают друг другу.
Вот моя супер-уродливая попытка с использованием \prod
:
На данный момент моим решением является то, что 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*
команды.
Наконец, если вы планируете изменить Z
, было бы неплохо иметь \fprod
take Z
в качестве аргумента. К сожалению, \DeclareMathOperator
не принимает аргументы. Одним из обходных путей было бы использование
\newcommand{\fprod}[1]{\mathop{\sideset{}{_{#1}}\prod}}
а потом
\fprod{Z}_{\alpha\in A}X_{\alpha}
производит желаемый результат. Я подозреваю, однако, что эксперты предостерегут от использования \mathop
.