Проблема расширения в сетчатой ​​фигуре тикза

Проблема расширения в сетчатой ​​фигуре тикза

Моя цель — автоматизировать процесс, в котором у меня много картинок из последовательности фильмов, и я хотел бы, чтобы они были набраны в нисходящих строках. Для этого все мои изображения лежат в папке и, конечно, они названы с индексом файла в конце. Я выбрал matrixно, пока он гибкий (на основе 3 параметров: общая ширина; миниатюрная ширина; количество столбцов), все, что сделано в, tikzбыло бы здорово.

% !TeX encoding = UTF-8
% !TeX spellcheck = fr_FR

\documentclass[11pt, frenchb, twoside]{report}

% IMPORTS

\usepackage{polyglossia}
\usepackage{xparse}
\usepackage{xifthen}

\usepackage{tikz}
\usetikzlibrary{backgrounds, patterns, shapes,
                calc, positioning, 
                matrix, scopes,
                decorations.fractals, decorations.text}

\newlength{\foolen}
\newlength{\barlen}

% GRIDFIGURES % % % % % % % % % % % % % % % %
% #1 total width [default: \textwidth]
% #2 total figures
% #3 total columns
% #4 gutter space
% #5 folder
% #6 label
\ProvideDocumentCommand \gridFigures{ O{\textwidth} m m m m m }
{%
    \let\gridcontent\empty
    \let\ea\expandafter%

    \pgfmathsetlength{\foolen}{(#1/#3)-#4}
    \pgfdeclareimage[width=\foolen]{ghost}{../assets/#5/#6-1}
    \settoheight{\barlen}{\pgfuseimage{ghost}}
%
    \foreach \i in {1,2,...,#2}
    {%
        \pgfmathparse{mod(\i,#3)}
        \pgfmathtruncatemacro{\mod}{\pgfmathresult}
        \ifthenelse{\mod>0}
            {\ea\gappto\ea\gridcontent\ea{\ea{\i} \&}}
            {\ea\gappto\ea\gridcontent\ea{something \ea{\i} \\}}}

    \begin{tikzpicture}
        \matrix[matrix of nodes, ampersand replacement=\&]{\gridcontent};
    \end{tikzpicture}}

\begin{document}
\begin{figure}[ht]
    \gridFigures{40}{5}{5mm}{mohr}{cubic-limit}
\end{figure}
\end{document}

Потому что на данный момент я не могу заполнить свою матрицу номером изображения из-за проблемы с расширением. Чтобы перестроить изображение с индексом файла ( \i) внутри \foreach, iнеобходимо расширить сразу после \ea\gappto\ea\gridcontent\ea, иначе это не сработает. Я, вероятно, что-то упускаю, так как это первый раз, когда я действительно начинаю понимать, что такое расширение.

решение1

\documentclass{article}
\usepackage{xparse}
\usepackage{tikz}
\usetikzlibrary{calc, positioning, matrix, scopes}

\tikzset{nosep/.style={inner sep=0pt,outer sep=0pt}}

% GRIDFIGURES % % % % % % % % % % % % % % % %
% #1 total width [default: \textwidth]
% #2 macro for matrix content
% #3 total figures
% #4 total columns
% #5 gutter space
% #6 folder
% #7 label
\ExplSyntaxOn
\ProvideDocumentCommand \gridFigures{ O{\textwidth} m m m m m m }
{%
    \tl_clear_new:N #2
    \dim_new:N \l_width_dim

    \pgfmathparse{#3-1}
    \pgfmathtruncatemacro{\row}{\pgfmathresult}
    \pgfmathsetlength{\l_width_dim}{(#1/#4)-#5}

    \int_step_inline:nnnn {1}{#4}{\row}
    {
        \pgfmathparse{##1+#4-1}
        \pgfmathtruncatemacro{\col}{\pgfmathresult}

        \int_step_inline:nnnn {##1}{1}{\col}
        {
            \tl_put_right:Nn #2 {\includegraphics[width=\l_width_dim]{#6/#7-####1}}
            \int_compare:nT {####1<\col}
                {\tl_put_right:Nn #2 {\&}}
        }
        \tl_put_right:Nn #2 {\\}
    }
}
\ExplSyntaxOff
\begin{document}
\gridFigures{\matrixContent}{40}{5}{2mm}{../assets/mohr}{cubic-limit}
\begin{tikzpicture}[nosep]
    \matrix[matrix of nodes,ampersand replacement=\&,
            column sep=2mm,row sep=2mm]{\matrixContent};
\end{tikzpicture}
\end{document}

введите описание изображения здесь

Связанный контент