헤더의 파일 이름에서 추출된 날짜 범위 설정 및 표시

헤더의 파일 이름에서 추출된 날짜 범위 설정 및 표시

나는 이미 몇 달 전에 이 주제에 관해 관련된 질문을 했습니다. 그러나 다음과 같은 구조의 프로젝트가 있습니다.

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

이 루프를 사용하는 pages데 모든 파일을 포함했습니다 (정적 솔루션이지만 파일 이름의 길이는 고정되어 있습니다 등).main.texfor

\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}

모든 분들께 미리 감사드립니다.

관련 정보