
我有一個巨集可以在 tikz 中繪製相當複雜的圖表,它使用 pgfkeys 以便在箭頭、標籤及其樣式上盡可能靈活。我允許庫的所有命令光碟。我需要的是一個參數/選項,Rrightarrow
例如艾姆斯包,我可以將其作為 pgfkey 傳遞,它可以繪製三個(甚至四個)箭頭,就像我可以傳遞參數leftarrow
, Rightarrow
, equal
, squiggly
, ...
以下主題tikz 中的三線和tikz 中的服裝箭桿包含一些朝著這個方向發展的漂亮程式碼,但我無法將它們壓縮到 tikz-cd 箭頭樣式選項中。我想我理解第二個連結(的第二個答案)的程式碼,其中為了提供 3 箭頭或 4 箭頭,兩個不同的箭頭重疊。由於我的巨集的箭頭是固定的,因此我無法使用此解決方案。我認為第一個連結的程式碼可以用來提供令人滿意的解決方案,但是:我還不知道很多 tikz (我一直使用 tikzcd),在評論中他們似乎暗示添加箭頭提示三線很難。我嘗試對程式碼進行一些修改,修改我認為應該有機會的內容,但我還沒有設法產生任何具體的東西。
答案1
您可以按照您顯示的連結中的建議進行操作。一個稍微微妙的一點是,箭頭不會自動受到尊重,因此您需要quadruple
稍微縮短箭頭中的雙線路徑。 (您當然可以進行微調double distance
等)可以使用諸如 之類的裝飾來獲得波浪形箭頭coil
,如果您希望我添加示例,請告訴我。
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\tikzset{Rightarrow/.style={double equal sign distance,>={Implies},->},
triple/.style={-,preaction={draw,Rightarrow}},
quadruple/.style={preaction={draw,Rightarrow,shorten >=0pt},shorten >=1pt,-,double,double
distance=0.2pt}}
\begin{tikzcd}
a \arrow[r,triple] & b \arrow[r,quadruple]
& c\\
\end{tikzcd}
\end{document}
答案2
現在有一個漂亮的包裝,tikz-nfold喬納森舒爾茨 (Jonathan Schulz) 為這個問題提供了一個簡單的解決方案。您可以指定 TikZ 箭頭樣式scaling nfold=3
(或nfold=3
如果您想要固定的箭頭寬度)來繪製三重箭頭,對於較高的箭頭也類似。
根據我的經驗,這比其他解決方案產生更美觀的箭頭,並且與交換圖中常見的各種其他 TikZ 樣式相容。
例子:
\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{nfold}
\begin{document}
\begin{tikzcd}
A \arrow[r, Rightarrow, scaling nfold=3] & B \\
C \arrow[r, Rightarrow, nfold=3] & D
\end{tikzcd}
\end{document}
生產: