如何创建一个命令,将图像插入为其内容的框架?

如何创建一个命令,将图像插入为其内容的框架?

我正在为《吸血鬼》写一本 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

您可以使用calloutstikz包。第一个允许您注释图形,而 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}

相关内容