用文件夹中的图片制作 3x4 图形

用文件夹中的图片制作 3x4 图形

假设你有 777 张照片。你想把它们放在 3x4 A4 纸上展示。这样做\begin{figure}...\end{figure}需要花费很多时间和空间。

还有其他方法可以这样在文件夹中展示这些图形吗?比如用这个文件夹中的所有图形制作这样的演示文稿。

答案1

我假设您的图片是与 pdflatex 兼容的格式。

制作一个名为 liste.dat 的列表,其中的文件名称按正确顺序排列。例如:ls *jpg | sort > liste.dat

然后使用 pdflatex 编译名为 fichier.tex 的文件:

\documentclass[a4apaper]{article}
\usepackage[top=0cm, bottom=0cm, left=0cm, right=0cm]{geometry}
\usepackage{pgfplotstable,tikz,filecontents}

\pgfplotsset{compat=1.9}

\renewcommand{\floatpagefraction}{1}
\begin{document}

\pgfplotstableread{liste.dat}{\Liste}
\pgfplotstablegetrowsof{liste.dat}
\pgfmathsetmacro{\rows}{\pgfplotsretval-1}

\foreach \i in {1,2,...,\rows} {%
    \pgfplotstablegetelem{\i}{[index] 0}\of{\Liste} 
    \let\Name\pgfplotsretval
    % If there is a second column with caption for each file
    %\pgfplotstablegetelem{\i}{[index] 1}\of{\Liste} 
    %\let\Caption\pgfplotsretval 

    \begin{figure}[!p]
    \centering
    \includegraphics{\Name}
    % if there is a caption column
    %\caption{\Caption}
    \end{figure}    
    \clearpage
}
\end{document}

然后使用 pdflatex 编译另一个名为 picture.tex 的文件:

\documentclass[a4paper]{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[page=-,nup=3x4]{fichier.pdf}
\end{document}

并且您的文件每页应该有 12(3*4)张图片。

如果 file.dat 包含第二列,其中包含每个文件的标题或为空,则可以同时拥有它们。

答案2

我建议你使用

\usepackage{subfig}
...


\begin{figure}
    \centering
    \subfloat[][\emph{Figure 1x1}.\label{fig:001}]
        {\includegraphics[width=.2\textwidth]{file001}} \quad
    \subfloat[][\emph{Figure 1x2}.\label{fig:002}]
        {\includegraphics[width=.2\textwidth]{file002}} \quad
    \subfloat[][\emph{Figure 1x3}.]
        {\includegraphics[width=.2\textwidth]{file003}} \quad
    \subfloat[][\emph{Figure 1x4}.]
        {\includegraphics[width=.2\textwidth]{file004}} \\
    \subfloat[][\emph{Figure 2x1}.]
        {\includegraphics[width=.2\textwidth]{file005}} \quad
    \subfloat[][\emph{Figure 2x2}.]
        {\includegraphics[width=.2\textwidth]{file006}} \quad
    \subfloat[][\emph{Figure 2x3}.]
        {\includegraphics[width=.2\textwidth]{file007}} \quad
    \subfloat[][\emph{Figure 2x4}.]
        {\includegraphics[width=.2\textwidth]{file008}} \\
    \subfloat[][\emph{Figure 3x1}.]
        {\includegraphics[width=.2\textwidth]{file009}} \quad
    \subfloat[][\emph{Figure 3x2}.]
        {\includegraphics[width=.2\textwidth]{file010}} \quad
    \subfloat[][\emph{Figure 3x3}.]
        {\includegraphics[width=.2\textwidth]{file011}} \quad
    \subfloat[][\emph{Figure 3x4}.]
        {\includegraphics[width=.2\textwidth]{file012}} \\
    \caption{This is the caption.}
    \label{fig:subfig}
\end{figure}

相关内容