我正在寻找一种解决方案来定义包含 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 个字符被传递给了参数)。补救措施是定义一个名为\ang
via的命令\def\ang{60}
,然后将其传递\ang
给参数,如上面的代码所示。同样的想法也适用于 OP 的后续操作。图像是新编译的结果。