有时我会使用 Inkscape 为图片添加一些图形元素和文本。Inkscape 允许将其导出为 pdf+LaTeX,其中 pdf 包含图片和所有图形元素,而 LaTeX 文件包含文本。
然后就可以\input{latex-file-from-inkscape}
在文档字体中看到图片和叠加的文本。
内部使用一个picture
-environment。
我现在尝试将图片放入 tikz 节点并添加阴影。结果不正确,因为图片似乎以某种方式缩进。我发现如果\fbox
添加简单节点也会发生这种情况。
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{shadows}
\begin{document}
\def\svgwidth{.5\textwidth}
\input{drawing.pdf_tex}
\def\svgwidth{.5\textwidth}
\setlength{\fboxsep}{0pt}
\fbox{\input{drawing.pdf_tex}}
\begin{tikzpicture}
\def\svgwidth{.5\textwidth}
\node[drop shadow={shadow xshift=.8ex,shadow yshift=-.8ex,opacity=0.5},
inner sep=0,
] at (0,0) {\input{drawing.pdf_tex}};
\end{tikzpicture}
\end{document}
下图显示结果 1)只需输入文件 2)使用\fbox
3)使用 tikz 阴影
答案1
我不确定你想要什么效果,但生成的 tex 文件%
在行尾缺少几处,在某些情况下会导致输出中出现空格。
这
\noindent\begin{tikzpicture}
\def\svgwidth{.5\textwidth}
\node[drop shadow={shadow xshift=.8ex,shadow yshift=-.8ex,opacity=0.5},
inner sep=0,
] at (0,0) {{\let\zzz\begin\def\begin{\unskip\let\begin\zzz\begin}\input{drawing.pdf_tex}}};
\end{tikzpicture}
肯定会在阴影内移动图片,希望它更接近您想要的效果。
实际上,您可能需要更多额外的空白\unskip
,但与其让文本更加模糊,不如修复包含的文件,这似乎更简单。如果我将您的 MWE 恢复到原来的状态,但修复文件,_tex
我会得到如图所示的图像,右侧和底部有一个阴影。
所有更改都涉及%
在行尾放置<
原始>
行和更正版本,如该差异行所示。
$ diff drawing.pdf_tex1 drawing.pdf_tex2
30c30
< \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}
---
> \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
32c32
< }
---
> }%
34c34
< \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}
---
> \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
36,37c36,37
< }
< \providecommand\rotatebox[2]{#2}
---
> }%
> \providecommand\rotatebox[2]{#2}%
39c39
< \setlength{\unitlength}{360pt}
---
> \setlength{\unitlength}{360pt}%
41c41
< \setlength{\unitlength}{\svgwidth}
---
> \setlength{\unitlength}{\svgwidth}%