
Чтобы говорить о конкретном квадрате, находящемся внутри более крупной диаграммы, я пытаюсь добавить символ в его центр, чтобы я мог ссылаться на него, используя этот символ. Проблема в том, что я не знаю, как это сделать с помощью xymatrix.. Есть ли простое решение? Я думаю, что следующий код может выполнить эту работу, но мне кажется, что должен быть более умный способ..
\xymatrix{
A \ar[rr] \ar[dd] && B \ar[dd]\\
& 1\\
C \ar[rr] && D
}
решение1
этот вариант дает меньшую диаграмму, чем ваш пример, но принцип тот же.
Используя имя команды вместо жестко запрограммированного объекта, можно ссылаться на объект позже или изменять объект только в одном месте.
это может удовлетворить или не удовлетворить ваши требования, но это слишком долго, чтобы пытаться объяснить это в комментарии.
\documentclass{article}
\usepackage{amsmath}
\usepackage{xypic}
\newcommand{\refsymbol}{{\ensuremath\theta}}
\begin{document}
Here we have a diagram.
\begin{equation}
\xymatrix{
A \ar[r] \ar[d]
\ar@{}[dr] | {\refsymbol}
& B \ar[d] \\
C \ar[r] & D
}
\label{eq:diag}
\end{equation}
We want to refer to {\refsymbol} in the square shown in \eqref{eq:diag}.
\end{document}
решение2
Есть еще один вариант с использованием коммутативной диаграммы с tikz-cd
.
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,mathtools,tikz-cd}
\begin{document}
\begin{tikzcd}[arrows={-Stealth}]
A \arrow[dd] \arrow[rr] & & B \arrow[dd] \\
& \alpha & \\
C \arrow[rr] & & D
\end{tikzcd}
\end{document}