tikz 样式中包含图形

tikz 样式中包含图形

我正在寻找一种解决方案来定义包含 png 图片的节点样式。

\documentclass[10pt]{article}
\usepackage{tikz}

\begin{tikzpicture}
   [
     PIC/.style n args = {1}
                         {align=center,
                          label={center:
                                 \includegraphics[scale=0.01,rotate=#1]{picture.png}
                                }
                         }
   ]

   \node[PIC={60}] (f) at (0,0) {};

\end{tikzpicture}
\end{document}

我尝试了一些带有 \node 的其他版本,但我并没有真正的想法......

希望您能帮忙-谢谢。


另外还有一个具有两个参数的示例:

[...
PT/.style n args = {2}{circle,draw,align=center,
                       inner sep=1pt,label={#1:#2}}]
...
\node[PT={below}{1}] (PT) at (0,0) {};

这将完全传递参数。如果我设置这些:

[...
PT/.style n args = {1}{circle,draw,align=center,
                       inner sep=1pt,label={#1:2}}]
...
\node[PT={below}] (PT) at (0,0) {};

它只会通过b而不是below


感谢 Jesse!我不知道还有什么更好的方法。定义一个token或做一些疯狂的事情,例如:

变量 1

[...
PT/.style n args = {1}{circle,draw,align=center,
                       inner sep=1pt,label={#1:2}}]
...
\node[PT={below}\ ] (PT) at (0,0) {};

变量 2

[...
PT/.style n args = {1}{circle,draw,align=center,
                       inner sep=1pt,label={#1:2}}]
...
\node[PT={below}{} ] (PT) at (0,0) {};

答案1

似乎将 改为rotate可以angle消除错误。请查看以下网站以获取includggraphics命令http://en.wikibooks.org/wiki/LaTeX/Importing_Graphics

在此处输入图片描述

\documentclass[10pt]{article}
\usepackage{tikz}
\usepackage{graphicx}
\def\ang{60}
\begin{document}
\begin{tikzpicture}
[PIC/.style n args ={1}{align=center,label={center:
\includegraphics[scale=0.25,angle=#1]{example-image-a}
}}
]
 \node[PIC={\ang}] (f) at (0,0) {};
\end{tikzpicture}
\end{document}

编辑:OP 发现只有第一个字符被传递给了参数(即只有 6 个字符,而不是 60 个字符被传递给了参数)。补救措施是定义一个名为\angvia的命令\def\ang{60},然后将其传递\ang给参数,如上面的代码所示。同样的想法也适用于 OP 的后续操作。图像是新编译的结果。

相关内容