根据预定义的线宽制作自定义线宽比例

根据预定义的线宽制作自定义线宽比例

我正在创建一些自定义形状定义TikZ,并且希望形状的某些部分的线宽比其他部分更粗。但是,我仍然希望能够像正常一样缩放线条粗细。

0.4pt考虑这样一个示例:我的自定义形状由( thin) 条线和1.2pt( ) 条线组成,very thick图形具有默认(细)线宽。如果我将图形的线宽从 增加到thinvery thick则形状的线宽应为1.2pt3.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)。

相关内容