Gestrichelte Linie wird nicht gedruckt (TikZ)

Gestrichelte Linie wird nicht gedruckt (TikZ)

Ich habe mehrere Grafiken, die gestrichelte Linien enthalten. Im PDF sieht alles genauso aus wie es soll. Beim Drucken verschwindet die gestrichelte Linie jedoch vollständig. Was kann ich tun, um dies zu verhindern?

\begin{tikzpicture}
\node (a) at (0,1) [vertex] {};
\node (b) at (0.7,1.7) [vertex] {};
\node (c) at (1.7,1.7) [vertex] {};
\node (d) at (2.4,1) [vertex] {};
\node (e) at (1.7,0.3) [vertex] {};
\node (f) at (0.7,0.3) [vertex] {};
\draw (a) -- (b);
\draw (b) -- (c);
\draw (c) -- (d);
\draw (d) -- (e);
\draw (e) -- (f);
\draw [dashed] (f) -- (a);
\end{tikzpicture}

Antwort1

Da ich beruflich viele PDF-Dateien per E-Mail an andere Personen zum Ausdrucken versende, hilft mir die Lösung „Druckertreiber aktualisieren“ nicht wirklich weiter.

Aber was ich gefunden habe, ist, dass, während gepunktete oder gestrichelteLinienDruckverweigerung, gepunktet oder gestricheltSinuswellenwird einwandfrei angezeigt, auch wenn die Amplitude Null ist. Daher habe ich Folgendes oben in mein Dokument eingefügt:

\usetikzlibrary{snakes}
\tikzstyle{printersafe}=[snake=snake,segment amplitude=0 pt]

Fügen Sie dann [printersafe] als Stil zu jeder gepunkteten Zeile im Code hinzu, zB:

\draw [densely dotted,printersafe] (0,-6) -- (10,-6);

Diese Zeilen werden einwandfrei angezeigt, auch wenn sie von TAs gedruckt werden, bei denen das ursprüngliche Problem auftritt.

Antwort2

Ich bin vor Kurzem auf dieses Problem gestoßen und habe die Lösung von @Jonah gefunden. Die Sache ist, dass es mit dem aktuellen Verhalten von Tikz nicht wirklich funktioniert, also habe ich die folgenden Änderungen vorgenommen, die diesen Code aktueller machen sollten:

\usetikzlibrary{decorations.pathmorphing}
\tikzstyle{printersafe}=[decoration={snake,amplitude=0pt}]

Damit können Sie Printersafe auch in Tikz-CD-Umgebungen verwenden. Ich hoffe, das hilft!

Antwort3

Das Problem wurde durch die Verwendung eines neuen Druckers behoben. Es handelte sich also offenbar um ein Treiberproblem, wie Paul vermutet hatte.

Antwort4

Eine andere Lösung: Zeichnen Sie Ihre eigenen gestrichelten Linien

Es scheint, dass Tikz nicht immer das tut, was wir erwarten. Insbesondere in Kombination mit Dingen wie edge[transform canvas={xshift=4}]oder benutzerdefinierten Funktionen wie abgerundeten Pfeilen, wie sie in zu finden sinddieser Beitrag. In diesen Fällen druckt der Drucker manchmal einfach keine normalen gestrichelten Linien. Aus diesem Grund müssen wir einen Workaround verwenden.

Die andere Antwort mitDruckersicherhat bei mir nicht funktioniert. Außerdem möchte ich das PDF an andere Personen senden, sodass ich deren Drucker nicht aktualisieren kann. Ich brauchte eine Lösung, die immer funktioniert.

Ich habe einen Workaround gefunden, der eine gestrichelte Linie mithilfe einer foreachSchleife mit normalen Linien imitiert:

\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
\begin{figure}[h!]
\begin{tikzpicture}[every path/.style={>=latex}]

% Normal dashed line
\draw[->,thick,black,dashed] (0,1) -- (4,1) node[anchor=west] {Normal dashed line};

% Specify dashed line starting coordinate and length
\def\x{0}; \def\y{0}; \def\length{4} \def\N{19}; 
% Draw dashed line using normal lines
\pgfmathsetmacro{\step}{(0.5+1/(4*\N))*\length/\N}; \pgfmathparse{\N-1};
\foreach \i in {0,...,\pgfmathresult} {\draw[thick,black] (\x+2*\i*\step,\y) -- (\x+2*\i*\step+\step,\y);}; 
\draw[->,thick,black] (\x+\length,\y) -- (\x+\length+0.01,\y) node[anchor=west] {Custom dashed line};

\end{tikzpicture}
\end{figure}
\end{document}

Dies imitiert einfach eine normale gestrichelte Linie, indem mehrere Linien hintereinander gezeichnet werden. Parameter sind \xdie Start-X-Koordinate, \ydie Y-Ebene der Linie, \lengthdie Länge der Linie in Koordinaten und \Ndie Anzahl der Streifen.

Das bereitgestellte Beispiel zeichnet nur horizontale Linien von links nach rechts, aber der Code kann leicht angepasst werden, um andere gestrichelte Linien zu zeichnen (z. B. vertikale Linien, von rechts nach links usw.).

Mit dieser Lösung können Sie weiterhin gestrichelte Linien drucken, wenn Ihr Druckertutdruckt die normalen Zeilen, aber die gestrichelten Linien werden (aus irgendeinem Grund) nicht angezeigt.

Ausgabe als PDF:

PDF-Pfeile

verwandte Informationen