Erstellen eines jährlichen Trainingsprotokolls mit calendar.sty und loops

Erstellen eines jährlichen Trainingsprotokolls mit calendar.sty und loops

Ich bin ziemlich neu bei LaTeX und spiele nur herum, um neue Dinge zu lernen. Ich möchte also ein PDF erstellen, das ich als Buch ausdrucken kann, um mein Training zu protokollieren und trotzdem noch einige Dinge mit einem Stift schreiben zu können. Es sollte so aussehen:Trainingsprotokollnur für alle Monate und dann für die Wochen innerhalb dieses Monats separat. Ich habe das Beispiel ohne die Schleifen problemlos erstellt, aber es scheint, als ob calendar.sty eine Art Interaktion mit den Schleifenpaketen hat.

Dies ist der nicht funktionierende Code:

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

Dies sind die Fehler:

  1. Undefinierte Steuersequenz.\pgfmath@catcodes ...`\|=12 \catcode `\&=12 \let " \pgfmath@char@quote
  2. Unvollständiger \iffalse; der gesamte Text nach Zeile 131 wurde ignoriert.
                \fi 
<*> template.tex 

Ich verwende derzeit Overleaf, um es zu erstellen, und die Fehlermeldungen, wenn ich die For-Schleife für die leeren Tage am Anfang eines Monats auskommentiere, lauten:

  1. Zusätzliche } oder vergessene \endgroup.
  2. Fehlende \endgroup eingefügt.
  3. Fehlendes } eingefügt.
  4. Fehlende Zahl, wird als Null behandelt.
  5. Fehlendes \cr eingefügt.
  6. Fehlendes { eingefügt.
  7. \cr falsch platziert.
  8. Fehlendes \cr eingefügt.

Wenn ich die innere Schleife auskommentiere, erhalte ich ein PDF, aber calendar.sty benötigt \day-Befehle, um das Monatslayout mit Tagen zu füllen, und diese Schleife funktioniert nicht. Außerdem werden alle Fehler, die ich erhalte, aus irgendeinem Grund in die schließende Klammer der großen For-Schleife geschoben.

Ich denke, es hat etwas mit den Kontrollstrukturen in calendar.sty zu tun. Leider konnte ich nicht genügend Dokumentation finden, um zu verstehen, warum das passiert... Jede Hilfe ist willkommen :)

verwandte Informationen