为什么独立版会截断我的 tikzpicture?

为什么独立版会截断我的 tikzpicture?

当我在测试的时候一个答案我意识到我必须设置独立边框选项,border={2mm 2mm 14mm 2mm}因为border=2mm图像被截断了。

为什么?

\documentclass[tikz, border=2mm]{standalone}
%\documentclass[tikz, border={2mm 2mm 14mm 2mm}]{standalone}
\usetikzlibrary{cd}
\usepackage{amsmath, amssymb}
\begin{document}
    \begin{tikzcd}% 
        &[-30pt] \ker(f) \arrow[dl, phantom, sloped, "\supset"] \arrow[dr, phantom, sloped, "\subset"]&[-30pt] & &[-75pt] \\[-4pt]
        \ker(w) \arrow[rr, phantom, "\subset"]& & E \arrow[rr, "w"] \arrow[rd, end anchor={[xshift=.5em]north west}, "\pi_f"] \arrow[dd, swap, "f"] & & \mathbb{K}\\
        & & & E/\ker(f) \simeq Im(f) \arrow[ru, dashrightarrow, start anchor={[xshift=1.1em]north west}, swap, "w'"]& \\
        & & F & & 
    \end{tikzcd}%
\end{document}

在此处输入图片描述

答案1

以下是结合几种技巧的答案:

  • 为子集/超集定义新样式
  • 用于\mathrlap覆盖部分
    • 用于\mathord控制间距\mathrlap
    • Im应该\operatorname{Im}
  • 使用column sep=以避免图表太宽。
    • 添加其他内容&以在右侧创建空间。(这很脏!)

\documentclass[tikz, border=2mm]{standalone}
\usetikzlibrary{cd}
\usepackage{amssymb,mathtools}
\begin{document}
    \tikzcdset{
        subset/.code={\tikzcdset{double line}\pgfsetarrows{Arc Barb[length=0 .5].-}},
        supset/.code={\tikzcdset{double line}\pgfsetarrows{-.Arc Barb[length=0 .5]}}
    }
    \begin{tikzcd}[column sep=tiny]
        & \ker(f) \dlar[subset] \drar[subset] &&& \\
        \ker(w) \ar[rr,subset]& & E \ar[rr, "w"] \drar["\pi_f"] \arrow[dd,',"f"] && \mathbb{K} \\
        &&& E/\ker(f)\mathrlap{\mathord{}\simeq Im(f)} \urar[dashrightarrow,',"w'"]& \\
        && F &&&&
    \end{tikzcd}
\end{document}

相关内容