Calendar.sty 및 루프를 사용하여 연간 훈련 로그 생성

Calendar.sty 및 루프를 사용하여 연간 훈련 로그 생성

저는 LaTeX를 처음 접했고 새로운 것을 배우면서 놀았습니다. 그래서 나는 훈련을 기록하기 위해 책으로 인쇄할 수 있고 펜으로 몇 가지 내용을 쓸 수 있는 PDF를 만들고 싶습니다. 다음과 같아야 합니다.훈련 기록모든 달에 대해서만 그리고 그 달의 몇 주 동안은 별도로. 루프 없이 예제를 만들었지만 Calendar.sty가 루프 패키지와 일종의 상호 작용을 하는 것 같습니다.

작동하지 않는 코드는 다음과 같습니다.

\documentclass[10pt]{article} 
\usepackage{calendar} 
\usepackage{parallel,enumitem}
\usepackage[landscape, a4paper, margin=1cm]{geometry} 
\usepackage{tikz}
\usepackage{pgffor} 
\usepackage{forloop} 
\usepackage{pgfmath}
%\usepackage{palatino} % Use the Palatino font

\begin{document}

\def\MonthArr{ % array for "index", "monthname", "blankdays" and "days of month"
{{"1","January","0","31"}},
{{"2","February","3","29"}},
%{{"3","March","4","31"}},
%{{"4","April","0","30"}},
%{{"5","May","2","31"}},
%{{"6","June","4","30"}},
%{{"7","July","0","31"}},
%{{"8","August","3","31"}},
%{{"9","September","1","30"}},
%{{"10","October","1","31"}},
%{{"11","November","3","30"}},
%{{"12","December","1","31"}}
}
\foreach \Month in \MonthArr {
  
    \StartingDayNumber=2 

    \begin{center}
       \textsc{\LARGE \pgfmathparse{\Month[2]}\pgfmathresult}\\ % Month
        \textsc{\large 2024} % Year
    \end{center}

    \begin{calendar}{\textwidth} 

    \newcounter{x} 
    \forloop{x}{0}{\value{x}<\pgfmathparse{\Month[2]}\pgfmathresult}{
        \BlankDay
    } 

    \setcounter{calendardate}{1} % Start the date counter at 1
    \newcounter{days}{0}
    \def\DayArr{
    {{"Level 8","easy non-crimp boulders of new set \eventskip chinups \eventskip stretching"}}, % day 1
    {{"Level 8","new set \dayheader{Notes:}{}"}}, % day 2
    {{"~","\vspace{2.5cm}"}},% day 3
    {{"Hangboard","\dayheader{Notes:}{}"}},% day 4
    {{"Strength","weighted Pullups \eventskip Deadlifts \eventskip Benchpulls \eventskip Flys \eventskip Muscleups"}},% day 5
    {{"~","\vspace{2.5cm}"}},% day 6
    {{"Kilterboard","Notes:"}},% day 7
    {{"~","\vspace{2.5cm}"}},% day 8
    {{"~","\vspace{2.5cm}"}},% day 9
    {{"~","\vspace{2.5cm}"}},% day 10
    {{"~","\vspace{2.5cm}"}},% day 11
    {{"~","\vspace{2.5cm}"}},% day 12
    {{"~","\vspace{2.5cm}"}},% day 13
    {{"~","\vspace{2.5cm}"}},% day 14
    {{"~","\vspace{2.5cm}"}},% day 15
    {{"~","\vspace{2.5cm}"}},% day 16
    {{"~","\vspace{2.5cm}"}},% day 17
    {{"~","\vspace{2.5cm}"}},% day 18
    {{"~","\vspace{2.5cm}"}},% day 19
    {{"~","\vspace{2.5cm}"}},% day 20
    {{"~","\vspace{2.5cm}"}},% day 21
    {{"~","\vspace{2.5cm}"}},% day 22
    {{"~","\vspace{2.5cm}"}},% day 23
    {{"~","\vspace{2.5cm}"}},% day 24
    {{"~","\vspace{2.5cm}"}},% day 25
    {{"~","\vspace{2.5cm}"}},% day 26
    {{"~","\vspace{2.5cm}"}},% day 27
    {{"~","\vspace{2.5cm}"}},% day 28
    {{"~","\vspace{2.5cm}"}},% day 29
    {{"~","\vspace{2.5cm}"}},% day 30
    %{{"~","\vspace{2.5cm}"}},% day 31
    %{{"~","\vspace{2.5cm}"}},% day 32
    %{{"~","\vspace{2.5cm}"}},% day 33
    %{{"~","\vspace{2.5cm}"}},% day 34
    %{{"~","\vspace{2.5cm}"}},% day 34
    %{{"~","\vspace{2.5cm}"}},% day 35
    %{{"~","\vspace{2.5cm}"}},% day 36
    %{{"~","\vspace{2.5cm}"}},% day 37
    }
    \foreach [count=\i] \dayarr in \DayArr { %body
            \day{\pgfmathparse{\dayarr[0]}\pgfmathresult}{\pgfmathparse{\dayarr[2]}\pgfmathresult}
            \ifnum \i=\pgfmathparse{\Month[3]}\pgfmathresult
                \breakforeach
            \fi    
            %\breakforeach
    }
    \finishCalendar
    \end{calendar}
    \newpage
} % closing bracket of the BIG foreach-loop
\end{document}

오류는 다음과 같습니다.

  1. 정의되지 않은 제어 순서.\pgfmath@catcodes ...`\|=12 \catcode `\&=12 \let " \pgfmath@char@quote
  2. 불완전함 \iffalse; 131행 이후의 모든 텍스트는 무시되었습니다.
                \fi 
<*> template.tex 

지금은 Overleaf를 사용하여 만들고 있는데 월초에 빈 날에 대해 forloop를 주석 처리할 때 나타나는 오류 메시지는 다음과 같습니다.

  1. 추가 } 또는 잊어버린 것입니다.
  2. 누락된 내용이 삽입되었습니다.
  3. 누락 }이(가) 삽입되었습니다.
  4. 숫자가 누락되어 0으로 처리됩니다.
  5. 누락된 \cr이 삽입되었습니다.
  6. 누락된 { 삽입됨.
  7. 위치가 잘못됨 \cr.
  8. 누락된 \cr이 삽입되었습니다.

내부 루프를 주석 처리하면 PDF가 생성되지만, Calendar.sty에서는 월별 레이아웃을 날짜로 채우려면 \day 명령이 필요하며 해당 루프는 작동하지 않습니다. 또한 내가 얻는 모든 오류는 어떤 이유로 큰 for 루프의 닫는 괄호에 푸시됩니다.

내 생각에는 Calendar.sty 내의 제어 구조와 관련하여 뭔가 해야 할 것 같습니다. 슬프게도 왜 이런 일이 발생하는지 이해하기에 충분한 문서를 찾을 수 없었습니다... 도움을 주시면 감사하겠습니다 :)

관련 정보