tikz-cd 中非正方形矩形图的回拉角的正确放置

tikz-cd 中非正方形矩形图的回拉角的正确放置

推荐的方式(参见第 4.2 节这里)在图中放置回拉角tikz-cd是使用对角虚线箭头,如

\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amssymb}
\begin{document}
\begin{tikzcd}
    A   \arrow[r] 
        \arrow[d] 
        \arrow[dr, phantom, "\lrcorner", very near start] 
&   B   \arrow[d] 
\\  C   \arrow[r] 
&   D  
\\
\end{tikzcd}
\end{document}

但是,当图表偏离正方形太远时,例如由于标签太长,这种情况就不太好:

\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amssymb}
\begin{document}
\begin{tikzcd}
    A   \arrow[r] 
        \arrow[d] 
        \arrow[dr, phantom, "\lrcorner", very near start] 
&   B   \arrow[d] 
\\  CCCC\arrow[r] 
&   DDDD  
\\
\end{tikzcd}
\end{document}

在此处输入图片描述

问题在于,距离\lrcorner左箭头比距离上箭头更远。

我可以使用 手动进行调整shift right,但我想知道是否有一种方法可以不将角放在矩形的不可见对角线上,而是放在距离左上角中心 45 度角的固定距离处?

这个答案似乎做了类似的事情,但是用tikzpicture而不是tikzcd,而且我不知道如何使其适应tikzcd

答案1

您可以将\lrcorner符号作为label节点放置。您可以设置角度和距离。

在此处输入图片描述

\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amssymb}
\begin{document}
\begin{tikzcd}
    |[label={[label distance=-2mm]-45:\lrcorner}]|A   \arrow[r] 
        \arrow[d]  
&   B   \arrow[d] 
\\  CCCC\arrow[r] 
&   DDDD
\end{tikzcd}
\end{document}

答案2

您可以tikz使用钩子添加任何您喜欢的代码execute at end picture

\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amssymb}
\begin{document}
\begin{tikzcd}[execute at end picture={\path (\tikzcdmatrixname-1-1) node[below right]{$\lrcorner$};}]
    A   \arrow[r] 
        \arrow[d] 
&   B   \arrow[d] 
\\  CCCC\arrow[r] 
&   DDDD  
\\
\end{tikzcd}
\end{document}

在此处输入图片描述

您还可以使用pic来自链接答案

相关内容