tikz-cd と「math font」を使用すると等式が「壊れて」見える

tikz-cd と「math font」を使用すると等式が「壊れて」見える

可換図を作成するときは、矢印の先端がドキュメントのフォントと一致するように、オプションを使用することをお勧めします。これは、以下の MWE にありますtikz-cd。これは、うまく機能する場合もあれば、等号が「壊れている」ように見える以下の例のように、機能しない場合もあります。arrow style=math fontkpfonts画面と印刷の両方で

ここに画像の説明を入力してください

オプションを削除すると、math font次のようになります。これで等式は問題なくkpfonts表示されますが、矢印の先端が矢印と一致しなくなりました。たとえば、矢印にオプションを使用しmath font、等式には使用しないようにすることで、これを何らかの方法で修正できますか? これまでのところ、2 つのオプションをグローバルに切り替えることしかできませんでした。

ここに画像の説明を入力してください

\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

これは部分的にはレンダリングの問題 (灰色の線) であり、問​​題なく印刷されるのであれば心配する必要はないと言われるでしょう。文書を印刷する場合は問題ありません。ただし、文書を電子的に表示する場合には、問題が大きくなります。

矢印については、別のフォントを選択するか、別の矢印スタイルを使用するのが最善の解決策だと私は考えています。これを行う1つの方法は、矢印の先端を明らかに違います。もう 1 つは、KP の矢印の先端を一致させることです。

最初のものは簡単だと思います。2番目については、私が最初に考えたのは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}

関連情報