![如何创建一个命令,将图像插入为其内容的框架?](https://linux22.com/image/466507/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%B0%86%E5%9B%BE%E5%83%8F%E6%8F%92%E5%85%A5%E4%B8%BA%E5%85%B6%E5%86%85%E5%AE%B9%E7%9A%84%E6%A1%86%E6%9E%B6%EF%BC%9F.png)
我正在为《吸血鬼》写一本 RPG 书,我的目的是添加一个命令,根据输入参数创建书中的一些 NPC 的角色表。
我测试了一些针对该行为的修复方法,但没有得到积极的结果。
\newcommand{\MortalCSheet}[1]{
\begin{tikzpicture}
\includegraphics[scale=0.7]{art/page/3Ed/charsheet-transp}
\end{tikzpicture}
\begin{tabular}{|l|l|l|}
Strength & Charisma & Perception \\
\end{tabular}
}
我的目的是将图像和内容(力量、魅力和感知)放置在图像中,并将其打印在插入命令的位置。我如何才能获得该结果?
答案1
您可以使用callouts
和tikz
包。第一个允许您注释图形,而 tikz 允许您在注释的图像上绘制任何内容。因此,您所要做的就是找到要放置它的位置,{3, 2.75}
即内容{text}
。
编辑:添加命令定义和参数处理。
我使用了带参数的 a 命令[2]
。使用1
可获取第一个的值。
当您想要实例化一张卡时,您将使用正确的参数调用该命令。您可以添加更多参数[3]
或更多。
\documentclass{standalone}
\usepackage{tikz}
\usepackage{callouts}
\usepackage{graphicx}
\newcommand{\MortalCSheet}[2]{%
\begin{annotate}
{\includegraphics[width=\linewidth]{#1}}{1}
\helpgrid[gray] % <----- this is a helper grid
%%%%%%%%%%%%%%%%%%%%
\draw [thick, purple] (-6 ,-3) rectangle (-3,-4);
\draw [thick, purple] (-2,-3) rectangle (1,-4);
\draw [thick, purple] (2 ,-3) rectangle (5,-4);
\node at (-4.5,-3.5) {Strength};
\node at (-.5,-3.5) {Chrisma};
\node at (3.5,-3.5) {Perception};
\node at (0,3){#2};
\end{annotate}%
}
\begin{document}
\MortalCSheet{example-image-a}{name of this card}
\end{document}