将数据文件中的名称和编号添加到每个图标

将数据文件中的名称和编号添加到每个图标

感谢 Jasper Habicht 提供的解决方案 - 相关主题: 简化重复相同图像的代码

如何在每个图像下添加编号和名称(来自我的 data.tex 文件)(也许使用该datatool包)?

当前代码:

\documentclass{article}
\usepackage{graphicx}
\usepackage{showframe}
 \usepackage{datatool}
 
\newcounter{repeatcount}
\newcommand{\repeatthis}[3][]{%
    \setcounter{repeatcount}{0}%
    \loop%
    {#3}%
    \stepcounter{repeatcount}%
    \ifnum\value{repeatcount}<#2%
    {#1}%
    \repeat%
}
%\DTLsetseparator{|}
%\DTLsetdelimiter{"}
%\DTLloaddb[autokeys=false]{data}{data.tex}

\begin{document}

\begin{center}
\repeatthis[\quad]{15}{\includegraphics[width=.3\linewidth]{example-image-a}}%
\end{center}

\end{document}

我的 TeX 文件 data.tex:

No|Name

1|AAA

2|BCA

3|DXY

在此处输入图片描述

答案1

我不确定我的其他答案的解决方案在这里是否有很大用处,因为您不想重复同样的事情,但您想迭代来自数据库的数据。

相反,您可能希望使用该datatool包附带的功能:

\documentclass{article}
\usepackage{graphicx}
\usepackage{showframe}
\usepackage{datatool}

\begin{filecontents}{data.tex}
No|Name
1|AAA
2|BCA
3|DXY
\end{filecontents}
 
\DTLsetseparator{|}
\DTLsetdelimiter{"}
\DTLloaddb[autokeys=false]{data}{data.tex}

\begin{document}

\begin{center}
\DTLforeach{data}{\dataNo=No,\dataName=Name}{%
\begin{minipage}{.3\linewidth}
    \centering
    \includegraphics[width=\textwidth]{example-image-a} \\
    \dataNo, \dataName
\end{minipage}\quad%
}
\end{center}

\end{document}

在此处输入图片描述

要获取更多带有编号和名称的图片,只需向文件添加更多行即可data.tex。对于此文件中的每一行,都会有另一张带有标题的图像添加到页面。


如果你想一遍又一遍地重复这三行,你实际上可以将此datatool方法与我的另一个答案的宏结合起来:

\documentclass{article}
\usepackage{graphicx}
\usepackage{showframe}
\usepackage{datatool}

\newcounter{repeatcount}
\newcommand{\repeatthis}[3][]{%
    \setcounter{repeatcount}{0}%
    \loop%
    {#3}%
    \stepcounter{repeatcount}%
    \ifnum\value{repeatcount}<#2%
    {#1}%
    \repeat%
}

\begin{filecontents}{data.tex}
No|Name
1|AAA
2|BCA
3|DXY
\end{filecontents}
 
\DTLsetseparator{|}
\DTLsetdelimiter{"}
\DTLloaddb[autokeys=false]{data}{data.tex}

\begin{document}

\begin{center}
\repeatthis{5}{%
\DTLforeach{data}{\dataNo=No,\dataName=Name}{%
\begin{minipage}{.3\linewidth}
    \centering
    \includegraphics[width=\textwidth]{example-image-a} \\
    \dataNo, \dataName
\end{minipage}\quad%
}%
}
\end{center}

\end{document}

在此处输入图片描述

相关内容