如何从一个 Latex 文档输出多个图像文件?

如何从一个 Latex 文档输出多个图像文件?

我有为游戏创建几张简单卡片的代码:

\documentclass[10pt]{article}
\usepackage[many]{tcolorbox}

\newcommand{\policy}[2]{ \vspace{1mm}
\tcboxfit[width=2.25in,height=2.8in,title={ {\Large #1 }\vspace{1mm} \\  \large Card Subtype }, colback=white,colframe= black,nobeforeafter]{             {  \raggedright \normalsize #2 }  }} 

\begin{document}
\policy{Name of Card}{Text on the card}
\policy{Name of another Card}{Text on the second card}
\policy{Name of a third Card}{Text on the third card}
\end{document} 

现在我想将每张卡片单独输出为 png 或其他图像文件。有什么办法吗?

答案1

以下代码将生成一个每页有一张卡片的 pdf 文件,并自动将每页转换为一个 .png 独立文件。

我没有使用 article,而是使用了带选项standalone的 class multi。此选项 ( multi=<environment-name>) 允许裁剪特定环境周围的每个页面。由于tcboxfit是命令而不是环境,我定义了一个空环境foo并插入policy定义。这样,每个foo环境都会显示在 pdf 结果中的独立页面中。

由于standalone允许对 pdf 结果应用自动转换,我曾经Image Magick将 pdf 转换为 png。生成的图像基于 .tex 名称。如果我们使用cards.tex结果将是,cards.pdf但也是cards-0.png,,cards-1.png...

%cards.tex
\documentclass[10pt, multi=foo, border=1mm,
convert={convertexe=convert, density=300, outext=.png}]{standalone}
\usepackage[many]{tcolorbox}

\newenvironment{foo}{}{}

\newcommand{\policy}[2]{\begin{foo}%
\tcboxfit[width=2.25in,height=2.8in,title={ {\Large #1 }\vspace{1mm} \\  \large Card Subtype }, colback=white,colframe= black,nobeforeafter]{             {  \raggedright \normalsize #2 }  }\end{foo}} 

\begin{document}
\policy{Name of Card}{Text on the card}
\policy{Name of another Card}{Text on the second card}
\policy{Name of a third Card}{Text on the third card}
\end{document}

PDF 文件将如下所示

在此处输入图片描述

cards-0、cards-1 和 cards-2.png 分别是:

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

相关内容