使用 tikz-cd 和“數學字體”,等式看起來“破碎”

使用 tikz-cd 和“數學字體”,等式看起來“破碎”

在製作交換圖時,我更喜歡使用tikz-cdwitharrow style=math font選項,以使箭頭提示與文檔字體匹配,如下kpfontsMWE 所示。有時工作正常,有時會崩潰,就像下面的例子一樣,等號看起來“壞了”,在螢幕上和列印上

在此輸入影像描述

刪除該選項math font會產生以下結果。現在等式看起來很好,但箭頭提示不再與kpfonts箭頭相符。是否可以以某種方式解決這個問題,例如讓箭頭使用選項math font,而不是等式?到目前為止,我只能在全球範圍內切換這兩個選項。

在此輸入影像描述

\documentclass{article}

\usepackage{amsmath,kpfonts,tikz-cd}

\tikzcdset{arrow style=math font}

\begin{document}

\begin{tikzcd}[row sep=small]
H_n(S^n)
\arrow[r,"i_*"]
\arrow[d,equal]
& H_n(X)
\arrow[r,"q_*"]
\arrow[d,equal]
&
H_n(X/S^n)
\arrow[d,equal]
\\
\mathbb{Z}
&
\mathbb{Z}/m
&
0
\end{tikzcd}

\end{document}

答案1

這在一定程度上是一個渲染問題(灰線),人們會告訴您不要擔心它是否列印正常。如果要列印您的文檔,這是可以的。但是,如果您的文件將以電子方式查看,那就更成問題了。

對於箭頭,我能想到的最佳解決方案是選擇不同的字體或使用替代的箭頭樣式。做到這一點的一種方法是提出提示明顯地不同的。另一種方法是嘗試匹配 KP 箭頭提示。

我認為第一個很簡單。對於第二個,我的第一個想法是Straight Barb

直倒刺

我認為這比預設的更好,但定制的Stealth可能更接近:

客製化隱形

\documentclass[tikz,multi,border=10pt]{standalone}
\usepackage{amsmath,kpfonts,tikz-cd}
\usetikzlibrary{arrows.meta}
\tikzcdset{arrow style=tikz}
\begin{document}
\tikzset{%
  >/.tip={Straight Barb[angle=90:2pt 1]}
}
\begin{tikzcd}[row sep=small]
  H_n(S^n)
  \arrow[r,"i_*"]
  \arrow[d,equal]
  & H_n(X)
  \arrow[r,"q_*"]
  \arrow[d,equal]
  &
  H_n(X/S^n)
  \arrow[d,equal]
  \\
  \mathbb{Z}
  &
  \mathbb{Z}/m
  &
  0
\end{tikzcd}
\tikzset{%
  >/.tip={Stealth[length=3pt, width=4pt, inset=1.8pt]}
}
\begin{tikzcd}[row sep=small]
  H_n(S^n)
  \arrow[r,"i_*"]
  \arrow[d,equal]
  & H_n(X)
  \arrow[r,"q_*"]
  \arrow[d,equal]
  &
  H_n(X/S^n)
  \arrow[d,equal]
  \\
  \mathbb{Z}
  &
  \mathbb{Z}/m
  &
  0
\end{tikzcd}
\end{document}

相關內容