喫茶佐天

祈り2024

tikzcdで文字や可換図式の拡大、文字の改行などをする

マジの忘備録

 

 

 

問題

 

 

ChatGPTに可換図式書かせたらめちゃくちゃ重なってるやつが出てきた。しかも写像名が小さい。

こういうサイトも教えてもらった。

tikzcd.yichuanshen.de

 

こういうコードが出力されるが、それでも写像名とかは小さい。図も小さい。ついでに、真ん中2つの写像は左右に寄せたいですね。あと、改行したい。

 

 

 

うわ、コードが横に長すぎて崩壊しています。心の目で見てください。

 


\begin{tikzcd}
A \arrow[rrrdd, "g \circ f"] \arrow[rrr, "h \circ (g \circ f) = (h \circ g )\circ h"] \arrow[dd, "f \circ \mathrm{id}_A = f = \mathrm{id}_B \circ f"'] \arrow["\mathrm{id}_A"', loop, distance=2em, in=215, out=145] &  &  & D                  \\
                                                                                                                                                                                                                     &  &  &                    \\
B \arrow[rrruu, "h \circ g"] \arrow[rrr, "g"'] \arrow["\mathrm{id}_B"', loop, distance=2em, in=215, out=145]                                                                                                         &  &  & C \arrow[uu, "h"']
\end{tikzcd}
  

大体こんな感じ。文字が小さい。

解決策

まずdocumentの前にこれを置く。

 

\usepackage{tikz}
\usetikzlibrary{cd}
\usepackage{adjustbox}
\tikzcdset{every label/.append style = {font = \normalsize}}

 

こうすると、写像の名前が大きくなる。

次に、例えば改行については

 

\substack{h \circ (g \circ f)  \\= (h \circ g )\circ h}

 

みたいにすればOK。なぜかはてなブログではスラッシュが1個しか表示されません。心の目で見てください。

文字の位置は

 

\arrow[rrrdd,pos=0.7, "g \circ f"]

 

みたいにpos=...を付ければOK

 

スケールについては

\usepackage{adjustbox}
 
\adjustbox{scale=1.5,center}{
 
}

で囲めばOK

 

で、やってみると

 

なんかずれてね?

なんか若干ずれてるので(これは左の部分を改行してるのでわかりにくいけど、改行してないとかなり顕著)、最後にこうすればOK

 

{\hspace{-1cm} %お好みで変えてください
\adjustbox{scale=1.5,center}{
\begin{tikzcd}
...
\end{tikzcd}
}
}

 

そうするとこんな感じ

こんな感じ

追記 : 冷静に考えたら\centeringとかでいいです

 

最後に

もっといい方法あったら教えて

 

参考文献

tex.stackexchange.com

tex.stackexchange.com

tex.stackexchange.com

 

追記

Twitter、叡智

ありがとうございます