Установка и отображение диапазонов дат, извлеченных из имен файлов в заголовке

Установка и отображение диапазонов дат, извлеченных из имен файлов в заголовке

Я уже задавал связанный вопрос по этой теме несколько месяцев назад. Однако у меня есть проект с такой структурой:

Project:
 |- main.tex
 |
 |- pages
     |- 20230101.tex
     |- 20230102.tex
     |- ...

Я включил все файлы ниже, pagesиспользуя main.texэтот forцикл (статическое решение, но имена файлов имеют фиксированную длину и т. д.):

\foreach \year in {2023, 2024} {
    \foreach \month in {01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12} {
        \foreach \day in {01, 02, 03, 04, 05, 06, 07, 08, 09, 10, ..., 31} {
            \edef\fileName{pages/\year\month\day}
            \IfFileExists{\fileName}{
               \getfiledate{\day}{\month}{\year}
               \include{\fileName}
            }
        }
    }  
}

\getfiledate{\day}{\month}{\year}— это команда, используемая для хранения и отображения даты в правом верхнем углу страницы:

\newcommand{\getfiledate}[3]{\renewcommand{\getfiledate}{\dayofweekname{#1}{#2}{#3}\ #1/#2/#3}}

Как можно предположить из названий файлов, создание нового файла не подразумевает конец предыдущего раздела/главы, поэтому использование includeвызывает нежелательный разрыв страницы. Я попробовал заменить его на , inputно компилятор выдает ошибку, если два коротких файла оказываются на одной странице. Теперь моя цель — показать диапазон дат (от первого до последнего файла), когда два или более файлов встроены на одну страницу. Например, если есть три файла, а именно 20230103.tex, 20230102.texи 20230103.tex, все из которых содержат одну строку, результирующая страница должна иметь такой заголовок:

Sunday 01/01/2023 - Tuesday 03/02/2023

и три строки одна под другой. Если соотношение файлов на страницу составляет 1:1 (т.е. файлы длиннее одной страницы), то заголовок должен остаться таким, какой он есть сейчас (только с одной датой).

Как вы думаете, это возможно? Я оставлю вам здесь MWE, если вы хотите попробовать:

\documentclass{article}
\usepackage{pgffor, fancyhdr, datetime}

\pagestyle{fancy}
\fancyhead[R]{\getfiledate}

\newcommand{\getfiledate}[3]{\renewcommand{\getfiledate}{\dayofweekname{#1}{#2}{#3}\ #1/#2/#3}}

\begin{document}

\foreach \year in {2023, 2024} {
    \foreach \month in {01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12} {
        \foreach \day in {01, 02, 03, 04, 05, 06, 07, 08, 09, 10, ..., 31} {
            \edef\fileName{pages/\year\month\day}
            \IfFileExists{\fileName}{
               \getfiledate{\day}{\month}{\year}
               \include{\fileName}
            }
        }
    }  
}

\end{document}

Заранее спасибо всем.

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