如何使用 \tikzset 設定程式碼區塊

如何使用 \tikzset 設定程式碼區塊

我總是發現自己使用固定的 TikZ 程式碼區塊進行了大量重複,我必須一遍又一遍地重寫這些程式碼區塊。我的問題是,是否可以在單一參數內建立 TikZ 可執行命令區塊(不僅僅是樣式)並將該參數稱為樣式?

考慮一下:

\usepackage{tikz}
\usetikzlibrary{calc}
\begin{tikzpicture}
\coordinate [label = below:A](A) at (0, 0);
\coordinate [label = above:B](B) at (3, 3);
\draw (A) -- (B);
\draw [|-|, thin] ($(A)! 8mm !90:(B)$)  -- node [sloped, midway, fill = white]{$3$cm}
($(B)! -8mm !90:(A)$);%This is too long and It would awesome to abstract it
\end{tikzpicture}

在此輸入影像描述

我想知道是否有類似的事情

\tikzset{
dimension line/.code arg={from#1to#2value#3}
    draw the dimension line between (A) and (B),
    add a node in the middle with blah style and blau value
}

這樣使用

\draw[dimension line=from A to B value 3cm] (A)--(B);

將產生相同的輸出。這將有助於以最少的努力完成工作並允許抽象,我發現這個範例足夠簡單,以便理解如何在 TikZ 中建立程式碼區塊。謝謝。

答案1

這是一個很長的評論,而不是一個真正的答案。

儘管所有tikz-dimline範例都使用笛卡爾座標,但可以使用命名座標:

\documentclass[border=2mm,tikz]{standalone}
\usepackage{tikz-dimline}

\begin{document}
\begin{tikzpicture}

\draw[red] (0,0) coordinate (A) -- (45:3) coordinate (B);
\dimline[color=blue]{([shift={(-3mm,3mm)}]A)}{([shift={(-3mm,3mm)}]B)}{3cm};
\end{tikzpicture}
\end{document}

在此輸入影像描述

無論如何,我終於找到了我一直在尋找的問題:

在 TikZ 中繪製線條的尺寸作為裝飾

相關內容