점선을 포함하는 여러 그래픽이 있습니다. PDF에서는 모든 것이 예상대로 정확하게 표시됩니다. 그런데 인쇄를 하면 점선이 완전히 사라집니다. 이를 방지하려면 어떻게 해야 합니까?
\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}
답변1
내 직업은 인쇄할 PDF를 사람들에게 이메일로 많이 보내는 일이므로 "프린터 드라이버 업데이트" 솔루션이 실제로 도움이 되지 않습니다.
하지만 제가 기초로 삼은 것은 점선이나 점선으로 이루어진 것입니다.윤곽인쇄를 거부하거나 점선 또는 점선으로 표시사인파진폭이 0이더라도 괜찮게 표시됩니다. 그래서 문서 상단에 다음을 넣었습니다.
\usetikzlibrary{snakes}
\tikzstyle{printersafe}=[snake=snake,segment amplitude=0 pt]
그런 다음 코드의 모든 점선에 [printersafe]를 스타일로 추가합니다. 예:
\draw [densely dotted,printersafe] (0,-6) -- (10,-6);
이러한 줄은 원래 문제를 경험한 조교가 인쇄한 경우에도 정상적으로 표시됩니다.
답변2
그래서 최근에 이 문제가 발생하여 @Jonah의 솔루션을 찾았습니다. 문제는 tikz가 현재 작동하는 방식과는 실제로 작동하지 않기 때문에 이 코드를 더욱 최신 상태로 만들기 위해 다음과 같이 변경했습니다.
\usetikzlibrary{decorations.pathmorphing}
\tikzstyle{printersafe}=[decoration={snake,amplitude=0pt}]
이를 통해 tikz-cd 환경 내에서 프린터 안전을 사용할 수도 있습니다. 도움이 되었기를 바랍니다!
답변3
새 프린터를 사용하면 문제가 해결되었으므로 Paul이 제안한 것처럼 드라이버 문제인 것 같습니다.
답변4
또 다른 해결책: 나만의 점선 그리기
Tikz는 항상 우리가 기대하는 대로 작동하지 않는 것 같습니다. 특히 edge[transform canvas={xshift=4}]
다음에서 볼 수 있는 둥근 화살표와 같은 사용자 정의 기능 과 같은 것들과 결합하여 사용할 수 있습니다.이 게시물. 이러한 경우 프린터는 때때로 일반 점선을 인쇄하지 않습니다. 그렇기 때문에 해결 방법을 사용해야 합니다.
다른 대답은프린터 안전나에게는 효과가 없었습니다. 또한 다른 사람의 프린터를 업데이트할 수 없도록 PDF를 다른 사람에게 보내고 싶습니다. 저는 항상 작동하는 솔루션이 필요했습니다.
foreach
일반 선이 있는 루프를 사용하여 점선을 모방하는 해결 방법을 찾았습니다 .
\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}
이는 단순히 여러 선을 차례로 그려 일반 점선을 모방한 것입니다. 매개변수는 \x
시작 x 좌표, \y
선의 y 레벨, \length
선 좌표의 길이 및 \N
줄무늬 양에 대한 것입니다.
제공된 예제에서는 왼쪽에서 오른쪽으로 수평선만 그립니다. 그러나 다른 점선(예: 수직선, 오른쪽에서 왼쪽 등)을 그리도록 코드를 쉽게 조정할 수 있습니다.
이 솔루션을 사용하면 프린터가 다음과 같은 경우 점선을 인쇄할 수 있습니다.하다일반 선을 인쇄하지만 점선이 표시되지 않습니다(어떤 이유로든).