您好,乐于助人且知识渊博的社区。
我再次向你提出一个难题:
\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}
正如您所见,箭头与 相比向右偏移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}