Создание ежегодного журнала тренировок с помощью calendar.sty и loops

Создание ежегодного журнала тренировок с помощью calendar.sty и loops

Я совсем новичок в 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 для его создания, и сообщения об ошибках, когда я закомментирую цикл for для пустых дней в начале месяца, следующие:

  1. Лишний }, или забытый \endgroup.
  2. Отсутствует вставленный \endgroup.
  3. Отсутствует } вставлено.
  4. Отсутствует число, рассматривается как ноль.
  5. Вставлен отсутствующий \cr.
  6. Отсутствует { вставлено.
  7. Не на своем месте \cr.
  8. Вставлен отсутствующий \cr.

Если я закомментирую внутренний цикл, то получу pdf, но calendar.sty нужны команды \day, чтобы заполнить ежемесячный макет днями, и этот цикл не работает. Также все ошибки, которые я получаю, по какой-то причине помещаются в закрывающую скобку большого цикла for.

Я думаю, это связано с управляющими структурами в calendar.sty. К сожалению, я не смог найти достаточно документации, чтобы понять, почему это происходит... Любая помощь приветствуется :)

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