首页 > 解决方案 > 从文件夹中自动在表格中插入多个图像

问题描述

我需要将图像输入到我在乳胶中创建的表中,问题是我有数百个这样的表和各种表要制作,因此我正在寻找一种方法,让我不要在命令。我将所有图像放在一个背页文件夹中,它们都有类似的名称,例如: fake_image_MPI_rank_0_Epoch_92_Batch_400_N_image_16.png

我的桌子看起来像这样:

\begin{table}[H]
\centering
\begin{tabular}{|c|c|c|c|c|c|}}
      \hline
      \includegraphics[width=20mm]{} &
      \includegraphics[width=20mm]{} &
      \includegraphics[width=20mm]{} &
      \includegraphics[width=20mm]{} &
      \includegraphics[width=20mm]{} &
      \includegraphics[width=20mm]{} \\
      \hline
      \includegraphics[width=20mm]{} &
      \includegraphics[width=20mm]{} &
      \includegraphics[width=20mm]{} &
      ...  
      ...   
\end{tabular}
\end{table} 

通过在线查看,我意识到这可以通过 for 循环或类似的东西来完成。但是,并没有真正找到很多示例或文档可以让我编写那一堆乳胶代码。有人知道该怎么做吗?

文件名背后的逻辑

纪元:从 0 到 1000 以上,但我只对其中一些感兴趣(比如从 998 到 1000)

批次:从 0 到 400 并以 100 递增(因此 0、100、200、...)

图像:从 1 到 10,增量为 1

MPI_rank:不变(始终为 0)

迭代几个时期(比如从 998 到 1100)并插入所有批次的所有图像将产生足够的内容来创建这些表之一。

链接到背页示例 https://www.overleaf.com/3116518543qnnrwdhsbdbg

标签: latexlatex-environment

解决方案


所有这些图片可能不会放在一个页面上,所以我建议放弃桌子,将它们并排放置。这将是允许分页符的最简单方法。\captionof您可以使用包中的宏添加标题caption

\foreach如果没有桌子,可以从pgffor包装中轻松完成循环。如果您需要线条,您可以将图像放入\fboxes 中,但是在表格中使用这么多线条无论如何都是不好的风格,所以最好将它们删除。

其他一些评论:

  • 不要多次加载同一个包

  • hyperref最后加载


\documentclass{article}
\usepackage[utf8]{inputenc}
%\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{xcolor}
%\usepackage{url}
\usepackage[margin=1.0in]{geometry}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\usepackage{comment}
\usepackage{ifthen}
\usepackage{placeins}
\usepackage{authblk}
\usepackage{afterpage}
\usepackage{amsthm}
\usepackage{soul}
\usepackage[english]{babel}
%\usepackage{xcolor}
\graphicspath{ {./images/} }
\newtheorem*{remark}{\textbf{Remark}}
\usepackage{subcaption}
\usepackage{textgreek}
\usepackage[font={it}]{caption}
\usepackage{titlesec}
\usepackage{titling}

\usepackage{pgffor}
\usepackage{hyperref}

\date{November 2020}

\begin{document}

\section{Introduction}
In the IMAGES folder i loaded images from epoch 1218 batch 200 to epoch 1220 batch 0

\begingroup
\raggedright%
\foreach \epoche in {998,...,1000}{%
\foreach \batch in {0,100,...,400}{%
\foreach \x in {1,...,10}{%     
  \includegraphics[width=20mm]{IMAGES/fake_image_MPI_rank_0_Epoch_\epoche _Batch_\batch_N_image_\x }\hspace{0pt}%
}}}
\captionof{table}{Bla Bla bla}
\label{somekey}
\endgroup

\clearpage

\begingroup
\raggedright%
\foreach \epoche in {1219,...,1219}{%
\foreach \batch in {0,100,...,400}{%
\foreach \x in {1,...,10}{%     
  \fbox{\includegraphics[width=20mm]{IMAGES/fake_image_MPI_rank_0_Epoch_\epoche _Batch_\batch_N_image_\x }}\hspace{0pt}%
}}}
\captionof{table}{Bla Bla bla}
\label{somekeyy}
\endgroup

\end{document}

在此处输入图像描述 在此处输入图像描述


推荐阅读