我正在创建一些自定义形状定义TikZ
,并且希望形状的某些部分的线宽比其他部分更粗。但是,我仍然希望能够像正常一样缩放线条粗细。
0.4pt
考虑这样一个示例:我的自定义形状由( thin
) 条线和1.2pt
( ) 条线组成,very thick
图形具有默认(细)线宽。如果我将图形的线宽从 增加到thin
,very thick
则形状的线宽应为1.2pt
和3.6pt
。
我该如何实现?疯狂的尝试,但[line width=+0.8pt]
毫无效果。
\documentclass[11pt,border=2pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\def\mic(#1)(#2)(#3);{
\begin{scope}[shift={(#1)},rotate={#2},scale={#3}]
\draw (0,0) circle (0.22);
\draw % this is where I need help
(-0.22,-0.3) -- (-0.22,0.3);
\end{scope}
}
\begin{document}
\begin{tikzpicture} % [line width=thick] for instance
\mic(0,0)(0)(1);
\end{tikzpicture}
\end{document}
答案1
那这个呢?
\tikzset{
thicker/.style={line width=#1\pgflinewidth},
thicker/.default={2},
}
\def\mic(#1)(#2)(#3);{
\begin{scope}[shift={(#1)},rotate={#2},scale={#3}]
\draw (0,0) circle (0.22);
\draw[thicker=1.5] % this is where I need help
(-0.22,-0.3) -- (-0.22,0.3);
\end{scope}
}
\begin{tikzpicture} % [line width=thick] for instance
\mic(0,0)(0)(1);
\begin{scope}[xshift=1cm, very thick]
\mic(0,0)(0)(1);
\end{scope}
\end{tikzpicture}
该样式[thicker]
将当前线宽乘以您指定的因子(默认为 2)。