我将 PDF 图像包含到我的tikzpicture
环境中,所包含图像中的线宽与原始 PDF 中的线宽不同(有些很粗,有些很细)。
一个简单的例子是:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=2.7]
\node (A) at (0,0) {\includegraphics{example1}};
\end{tikzpicture}
\end{document}
如何使tikzpicture
example1(.pdf) 中的线宽保持不变?
答案1
正如我在评论中写的那样,pdf 的线宽设置有误。您可以通过明确设置线宽来修复它:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=2.7]
\node (A) at (0,0) {\pdfliteral{ 1 w}\includegraphics{example1}};
\end{tikzpicture}
\end{document}
输出结果为:
答案2
这不是一个完整的答案,但解决了这个问题:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=2.7]
\node (A) at (0,0) [line width=1pt]{\includegraphics{example1.pdf}};
\end{tikzpicture}
\includegraphics{example1}
\end{document}
tikz 似乎将画得不好的线条视为自己的线条,并对其应用默认的绘图选项。因此,它肯定属于 tikz 制度,但实际上不应该如此。我可以想象,您的 pdf 不太有效(可能缺少一些框,请记住 Mac 上的 pdf 创建器根本不完美)或者它只是一个错误。
答案3
最后,似乎很难正确使用 Adobe Illustrator(您需要固定线宽以避免使用当前线宽)。所以我建议只用 TikZ 绘制图片。
评论 :我故意在 tikzpicture 里面使用了一个 tikzpicture。如果你line width =1pt
在第一个 tikzpicture 中修复,那么line width
第二个 tikzpicture 中的当前图像就是0.4pt
。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\newcommand{\midarrow}{\tikz \draw[-stealth'] (0,0) -- +(.1,0);}
\newcommand{\revmidarrow}{\tikz \draw[-stealth' reversed] (0,0) -- +(.1,0);}
\begin{tikzpicture}
\node (A) at (0,0) {%
\begin{tikzpicture}
\draw circle[radius=2];
\begin{scope}[line width = 1pt]
\draw (-120:2) .. controls (-150:0.25) .. (-180:2) node[pos=.8,sloped,scale=2] {\revmidarrow};
\draw (0:2) .. controls (-30:0.25) .. (-60:2) node[pos=.8,sloped,scale=2] {\midarrow};
\draw (120:2) .. controls (160:.75) and (180:.5) .. (0:0)
.. controls (0:.5) and (20:.75) .. (60:2)
node [pos=.8,sloped,scale=2] {\midarrow};
\end{scope}
\end{tikzpicture}
};
\end{tikzpicture}
\end{document}
答案4
尝试这个:
首先转换图像文件
pdftoeps -level3 -eps example1.pdf example_1.eps
第二次重新转换图像文件
epstopdf example_1.eps
并尝试(并比较)
\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node (A) at (0,0) {\includegraphics[scale=1]{example_1.pdf}};
\end{tikzpicture}
\includegraphics[scale=1]{example1.pdf}
\includegraphics[scale=1]{example_1.pdf}
\end{document}
编辑:比较结果,对我而言 TexLive 2012/Fedora 17/Acroread 9.5.1 有效 EDIT2:现在可以使用了……