使用箭头标记装饰位置

使用箭头标记装饰位置

您好,乐于助人且知识渊博的社区。

我再次向你提出一个难题:

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{tikz}% dessin
\usetikzlibrary {decorations.markings,arrows.meta}
\usepackage[straightvoltages, siunitx]{circuitikz}

\begin{document}

\begin{circuitikz}[scale=1,line width=1 pt
,decoration={
markings,% switch on markings
mark=at position .6 with {\arrowreversed[]{Latex[length=0.3cm]}} } %\arrowreversed
]

\draw[postaction={decorate}] (0,0) -- (3,0) node[pos=0.6,above,scale=2] {i} ;
\end{circuitikz}

\end{document}

该 MWE 给出:在此处输入图片描述

正如您所见,箭头与 相比向右偏移i,理想情况下我希望它是这样的:(无需手动调整)

在此处输入图片描述

我也尝试了另一种方法:在我的代码中使用

mark=at position .6 with {\arrowreversed[]{Latex[length=0.3cm]},\node[anchor=south,scale=2] {i}; 
}

它仍然给出:

在此处输入图片描述

我想知道是否可以将箭头放置在中心位置(就像使用一样anchor=center),并且我愿意接受其他建议。

先感谢您。

答案1

箭头的绘制方式是,尖端在给定的坐标处结束。您可以使用sep来调整它们的位置。sep=-0.15cm -1表示将箭头移动 0.15 厘米(一半length)并增加一个线宽。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary {decorations.markings, arrows.meta}
\usepackage[straightvoltages, siunitx]{circuitikz}
\begin{document}
\begin{circuitikz}[
line width=1pt,
decoration={
markings,% switch on markings
mark=at position .6 with {\arrowreversed[]{Latex[length=0.3cm, sep=-0.15cm -1]}} } %\arrowreversed
]
\draw[postaction={decorate}] (0,0) -- (3,0) node[pos=0.6,above, scale=2] {i} ;
\end{circuitikz}
\end{document}

带箭头和字母“i”的线

相关内容