推出和回拉

推出和回拉

我该如何排版那个表示交换正方形是外推正方形还是后拉正方形的小符号?我通常在 XY-pic 中绘制图表,所以我最感兴趣的是如何在那里进行绘制。

添加:期望的效果是这样的图表

拉回来

编辑:问题在于排版实际符号,XY-pic 用户指南说明了如何放置它。

答案1

把这些家伙放在你的序言中:

\newcommand{\po}{\ar@{}[dr]|{\text{\pigpenfont R}}}
\newcommand{\pb}{\ar@{}[dr]|{\text{\pigpenfont J}}}

这使用包pigpen来表示中间的符号。\ar@{}指定一个不可见的箭头,并|{-}在其中间添加一些文本。每当您想要推出(或拉回)时,您都可以将\po(或\pb) 放在方块的左上角。以下是一些示例代码:

\xymatrix{X\ar[r]\ar[d]_{i_0}\po &\ast\ar[d]\\
    X\times I\ar[r]&CX}

图片如下:

答案2

我发布更多内容是为了让人们知道 KJ Moi 在说什么!以下是在 TikZ 中执行的操作:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}

\begin{tikzpicture}[>=latex]
\node (w) at (0,0) {\(W\)};
\node (x) at (0,-2) {\(X\)};
\node (y) at (2,0) {\(Y\)};
\node (z) at (2,-2) {\(Z\)};
\draw[->] (w) -- (y);
\draw[->] (w) -- (x);
\draw[->] (x) -- (z);
\draw[->] (y) -- (z);
\begin{scope}[shift=($(w)!.5!(z)$)]
\draw +(-.5,0) -- +(0,0)  -- +(0,.5);
\fill +(-.25,.25) circle (.05);
\end{scope}
\end{tikzpicture}
\end{document}

输出如下:

拉回来

pdf,不要将其与这些混淆开门说明

所以严格来说,它本身不是一个符号,而是图表中的几条线。我不知道如何在 XY 中做到这一点,因为我是 TikZ 的忠实实践者,但希望看到这张图片可以帮助其他人为您解决这个问题!

(请注意,在 TikZ 中可能也有更巧妙的方法来实现这一点,我在这里追求速度,因为我猜没有每个人知道什么是回拉图!)

(编辑后添加了点,并将符号稍微向 Z 方向移动;我不确定它应该移动多远,但.5表达式中的控制着和符号点($(w)!.5!(z)$)之间的距离;数字越大,它就越靠近。)WZZ

答案3

以下解决方案来自 t​​ikzcd 文档,版本 0.9e 2014 年 10 月 30 日:

\begin{tikzcd}
    A \arrow[r] \arrow[d]
    \arrow[dr, phantom, "\ulcorner", very near start]
    & B \arrow[d] \\
    C \arrow[r]
    & D
\end{tikzcd}

该图显示了渲染的 LaTeX 输出,即左上角带有 \ulcorner 的交换正方形 A、B、C、D。

您可以将角改为\lrcorner

答案4

pic这是使用TikZ 的解决方案。

在此处输入图片描述

\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}[>=latex,bmrd/.pic={
\draw (2mm,0)--++(-90:2mm)--++(180:2mm);
\fill (1mm,-1mm) circle(1pt);
}]
\def\a{1.5}
\path
(0,0)        node (W) {$W$}
+(-45:.5*\a) pic[scale=1.2,red]{bmrd}
+(0:\a)      node (Y) {$Y$}
++(-90:\a)   node (X) {$X$}
+(0:\a)      node (Z) {$Z$};
\draw[->] (W)--(Y);
\draw[->] (W)--(X);
\draw[->] (X)--(Z);
\draw[->] (Y)--(Z);
\end{tikzpicture}
\end{document}

相关内容