这是我的代码:
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows.meta, positioning}
\usepackage{verbatim}
\usepackage[american,siunitx]{circuitikz}
\usepackage{changepage}
\begin{document}
\begin{center}
\begin{adjustwidth}{1.5em}{0em}
\begin{circuitikz}
\draw(0, 0) node[draw, minimum width = 1.25cm, minimum height = 5 cm] (buff1){};
\draw(10, 0) node[draw, minimum width = 1.25cm, minimum height = 5 cm] (buff2){};
\draw[very thick]($(buff1.north east)!1/3!(buff1.south east)$) coordinate(nearBuff1) to [multiwire = 4] (nearBuff1 -| buff2.west);
\draw($(buff1.north east)!2/3!(buff1.south east)$) coordinate(nearBuff2);
%\draw($(nearBuff2)!2/5!(nearBuff2 -| buff2.west)$) node[yshift = 0.15cm] {\footnotesize Hello};
%\draw(nearBuff2) -- (nearBuff2 -| buff2.west);
\end{circuitikz}
\end{adjustwidth}
\end{center}
\end{document}
但当我放大时:
有人能解释一下为什么 multiwire 中有一个间隙吗?该间隙位于斜线的右侧(可能很难看到,但确实存在)?我认为这是某种错误或拼写错误circuitikz
?
顺便说一下,这是另一个使用多线的文件的快照:
这是来自 gmail 上的 pdf 查看器。
答案1
有时您可能会看到这个问题 --- 绘制双极子circuitikz
是为了使外部线完全从相同的坐标开始(使用一些从一开始就存在的神奇代码,我不会触碰)。
无论如何,这些类型的伪影通常是由于查看器造成的(尤其是与细线和抗锯齿算法相关时)。您的代码片段okular
(顺便说一句,它并不是最好的抗锯齿执行者)在最大分辨率(1600%)下没有显示中断:
而在 200% 时,那里有一种伪影(抗锯齿:)
问题是,当渲染找到像素的实际坐标时,它最终会将数字四舍五入(欢迎使用有限精度)。因此,有时您会遇到微小的间隙,有时会遇到一点叠加,这会导致抗锯齿时的第二种错误。
Zarko 在做什么他们的明智评论是从左到右重新绘制线条,并将其与从左到右的线条叠加 --- 在这种情况下,这是一个非常好的解决方案。另一个可能的解决方案是使用线帽(但您应该使两个矩形填充并处于前景中)。