Circuitkz 箭头缩放

Circuitkz 箭头缩放

我对箭头的缩放有问题(见下图)。我找到了一些例子,但不幸的是它不起作用:问题 1问题2问题 3。我想减少电流的箭头(以便与电压箭头形成更好的比例)。

在此处输入图片描述

  \documentclass{article}
  \usepackage{circuitikz}  
  \usepackage{tikz}
    \usetikzlibrary{decorations.markings}
  \usepackage{wrapfig}
  \usepackage{subfig} 

\begin{document}
  \begin{figure}[htp]
    \centering
    \subfloat[ ]   {
        \begin{circuitikz}[scale=1, every node/.style={scale=1}]
          \draw (0,0) node[ocirc] {} --+ (1,0) coordinate(A); 
          \coordinate (B) at ([yshift=-2.5cm]A);
          \draw (A) to[R] (B) --+ (-1,0) coordinate(D) node[ocirc] {}; 

          \begin{scope}[shorten >= 10pt,shorten <= 10pt]

            \draw[arrows={-open triangle 45}]
               ([xshift=.6cm,yshift=-0.5cm]A) -- node[right] {$i(t)$} ([xshift=.6cm,yshift=0.5cm]B); 
            \draw[->]  (0,0) -- node[left] {$u(t)$} (D);            
          \end{scope}         
        \end{circuitikz}    
    }
    \subfloat[ ]   {
        \begin{circuitikz}[scale=1, every node/.style={scale=1}]
          \draw (0,0) node[ocirc] {} --+ (1,0) coordinate(A); 
          \coordinate (B) at ([yshift=-2.5cm]A);
          \draw (A) to[L] (B) --+ (-1,0) coordinate(D) node[ocirc] {}; 

          \begin{scope}[shorten >= 10pt,shorten <= 10pt]
            \draw[arrows={-open triangle 45}]  ([xshift=.6cm,yshift=-0.5cm]A) -- node[right] {$i(t)$} ([xshift=.6cm,yshift=0.5cm]B); 
            \draw[->]  (0,0) -- node[left] {$u(t)$} (D);
          \end{scope}         
        \end{circuitikz}
    }   
  \end{figure} 
\end{document}

答案1

使用arrows.newtikz 库,-open triangle 45 new,arrow head=3pt你就可以得到你想要的(改为3pt所需的长度):

  \documentclass{article}
  \usepackage{circuitikz}  
  \usepackage{tikz}
    \usetikzlibrary{decorations.markings,arrows.new}
  \usepackage{wrapfig}
  \usepackage{subfig} 

\begin{document}
  \begin{figure}[htp]
    \centering
    \subfloat[ ]   {
        \begin{circuitikz}[scale=1, every node/.style={scale=1}]
          \draw (0,0) node[ocirc] {} --+ (1,0) coordinate(A); 
          \coordinate (B) at ([yshift=-2.5cm]A);
          \draw (A) to[R] (B) --+ (-1,0) coordinate(D) node[ocirc] {}; 

          \begin{scope}[shorten >= 10pt,shorten <= 10pt]

            \draw[-open triangle 45 new,arrow head=3pt]
               ([xshift=.6cm,yshift=-0.5cm]A) -- node[right] {$i(t)$} ([xshift=.6cm,yshift=0.5cm]B); 
            \draw[->]  (0,0) -- node[left] {$u(t)$} (D);            
          \end{scope}         
        \end{circuitikz}    
    }
    \subfloat[ ]   {
        \begin{circuitikz}[scale=1, every node/.style={scale=1}]
          \draw (0,0) node[ocirc] {} --+ (1,0) coordinate(A); 
          \coordinate (B) at ([yshift=-2.5cm]A);
          \draw (A) to[L] (B) --+ (-1,0) coordinate(D) node[ocirc] {}; 

          \begin{scope}[shorten >= 10pt,shorten <= 10pt]
            \draw[-open triangle 45 new,arrow head=3pt]  ([xshift=.6cm,yshift=-0.5cm]A) -- node[right] {$i(t)$} ([xshift=.6cm,yshift=0.5cm]B); 
            \draw[->]  (0,0) -- node[left] {$u(t)$} (D);
          \end{scope}         
        \end{circuitikz}
    }   
  \end{figure} 
\end{document}

在此处输入图片描述

下载文件tikzlibraryarrows.new.code.tex并将其保存在 TeX 可以找到的地方(当前工作目录,以便快速运行)。

答案2

在搜索缩放比例时,open triangle 45我发现了一个不同的选项,我认为它是在 TikZ 3.0 中引入的:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\usetikzlibrary{arrows.meta}
\begin{tikzpicture}
    % Define a new style for the arrow tip
    \tikzset{myArrowStyle/.style={arrows = {{Stealth[inset=0pt,scale=5,fill=white,angle'=45]}-}}}
    % Draw arrow
    \draw[myArrowStyle] (0,0) -- (5,0);
\end{tikzpicture}\\
Some text as reference regarding the size...
\end{document}

结果是:

在此处输入图片描述

相关内容