幾個月前我已經問過有關該主題的相關問題。但是,我有一個具有以下結構的項目:
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}
預先感謝大家。