mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-25 06:18:05 +02:00
212 lines
6 KiB
TeX
212 lines
6 KiB
TeX
\documentclass{article}
|
|
|
|
% Preamble stuff
|
|
\input{./tex-src/preamble.tex}
|
|
\input{./tex-src/theorems.tex}
|
|
\input{./tex-src/references.tex}
|
|
\input{./tex-src/times.tex}
|
|
|
|
% New command stuff
|
|
\let\d\pgfcalendarshorthand
|
|
\newcommand\formatdate[2]{\pgfcalendar{cal}{#1}{#1}{#2}}
|
|
|
|
\newcommand\firstdate{2022-01-01}
|
|
\newcommand\lastdate{\year-\month-\day}
|
|
|
|
\newcommand\grayrule{{\color{gray} \noindent\makebox[\linewidth]{\rule{\paperwidth}{0.4pt}}}}
|
|
|
|
\def\firstoftwo#1#2{#1}
|
|
\def\secondoftwo#1#2{#2}
|
|
\def\iffileempty#1{%
|
|
\ifnum0\pdffilesize{#1}>0
|
|
\expandafter\secondoftwo
|
|
\else
|
|
\expandafter\firstoftwo
|
|
\fi
|
|
}
|
|
\newcommand\emptyentry[3]{%
|
|
\iffileempty{#1}{
|
|
\pgfcalendarifdate{#3}{equals=\year-\month-\day}{
|
|
\phantomsection\addcontentsline{toc}{subsubsection}{#2 (Empty) (Today)}
|
|
}{
|
|
\phantomsection\addcontentsline{toc}{subsubsection}{#2 (Empty)}
|
|
}
|
|
\newline {\LARGE {\color{red}No journal entry for today!
|
|
}}}{
|
|
\pgfcalendarifdate{#3}{equals=\year-\month-\day}{
|
|
\phantomsection\addcontentsline{toc}{subsubsection}{#2 (Today)}
|
|
}{
|
|
\phantomsection\addcontentsline{toc}{subsubsection}{#2}
|
|
}
|
|
\input{#1}
|
|
}
|
|
}
|
|
|
|
\iffalse
|
|
Different commands you can use with the \d command:
|
|
|
|
d: day
|
|
w: week
|
|
m: month
|
|
y: year
|
|
|
|
Different kinds of arguments you can use with the \d command:
|
|
|
|
-: Numerical representation with no leading zeros;
|
|
=: Numerical representation with a leading space for single digit numbers;
|
|
0: Numerical representation with a leading zero for single digit numbers;
|
|
t: Textual representation;
|
|
.: Abbreviated textual representation.
|
|
|
|
Examples:
|
|
\d{d}- -> 1, 2, 3, 4, 5, ...
|
|
\d{d}= -> 1, 2, 3, 4, 5, ...
|
|
\d{d}0 -> 01, 02, 03, 04, 05, ...
|
|
\d{d}t -> no output
|
|
\d{d}. -> no output
|
|
|
|
\d{w}- -> no output
|
|
\d{w}= -> no output
|
|
\d{w}0 -> no output
|
|
\d{w}t -> Monday, Tuesday, Wednesday, ...
|
|
\d{w}. -> Mon, Tue, Wed, ...
|
|
|
|
\d{m}- -> 1, 2, 3, 4, 5, ...
|
|
\d{m}= -> 1, 2, 3, 4, 5, ...
|
|
\d{m}0 -> 01, 02, 03, 04, 05, ...
|
|
\d{m}t -> January, February, March, ...
|
|
\d{m}. -> Jan, Feb, Mar, ...
|
|
|
|
\d{y}- -> 2022, 2023, 2024, 2025, ...
|
|
\d{y}= -> 2022, 2023, 2024, 2025, ...
|
|
\d{y}0 -> 2022, 2023, 2024, 2025, ...
|
|
\d{y}t -> no output
|
|
\d{y}. -> no output
|
|
\fi
|
|
|
|
% Main document
|
|
\begin{document}
|
|
%%%%%%%%%%%%%%%%
|
|
% Title Page %
|
|
%%%%%%%%%%%%%%%%
|
|
|
|
\begin{center}
|
|
\huge{Journal}\\[0.4em]
|
|
\Large{Your Name}\\[0.2em]
|
|
\emph{
|
|
From August 1 2022 to
|
|
\formatdate{\lastdate}{\d{m}t \d{d}- \d{y}-}
|
|
}
|
|
\end{center}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Table of Contents %
|
|
%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\tableofcontents
|
|
\newpage
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Iterate through all dates from the first date to the last date %
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\pgfcalendar{cal}{\firstdate}{\lastdate}{
|
|
% Set some variables so I don't keep re-typing stuff
|
|
\def\formatteddate{\d{y}0/\d{m}0/\d{d}0} % EXM: 2022/06/10
|
|
\def\todayformatted{\d{y}0-\d{m}0-\d{d}0} % EXM: 2022-06-10
|
|
|
|
\def\firstdayofyear{2022-01-01} % EXM: 2022-01-01
|
|
\def\yeargoalsformat{./\d{y}0/goals.tex} % EXM: 2022/goals.tex
|
|
|
|
\def\firstdayofmonth{\d{y}0-\d{m}0-01} % EXM: 2022-08-01
|
|
\def\monthgoalsformat{./\d{y}0/\d{m}0/goals.tex} % EXM: 2022/01/goals.tex
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Check if it's the first day of the year %
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\pgfcalendarifdate{\todayformatted}{equals=\firstdayofyear}{
|
|
\noteday{Year \d{y}0}
|
|
% Add the year to the table of contents
|
|
{\Huge \d{y}0}
|
|
\phantomsection\addcontentsline{toc}{section}{\d{y}0}%
|
|
% Check if there's a file EXM: 2022/goals.tex
|
|
\IfFileExists{\yeargoalsformat}{
|
|
\newline
|
|
\newline
|
|
% Add the goals to the table of contents
|
|
{\LARGE Goals for \d{y}0}
|
|
\phantomsection\addcontentsline{toc}{subsection}{Goals for \textbf{\d{y}0}}
|
|
\newline
|
|
\newline
|
|
\input{\yeargoalsformat}
|
|
\newpage
|
|
}{}
|
|
}{}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Check if it's the first day of the month %
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\ifdate{equals=\firstdayofmonth}{
|
|
\noteday{Month \d{m}t}
|
|
% Check if there's a file EXM: 2022/07/goals.tex
|
|
\IfFileExists{\monthgoalsformat}{
|
|
% Add the month to the table of contents
|
|
% \section*{\d{m}t}
|
|
{\LARGE \d{m}t}
|
|
\phantomsection\addcontentsline{toc}{subsection}{\d{m}t}
|
|
\newline
|
|
\newline
|
|
% Add the goals to the table of contents
|
|
{\Large Goals for \d{m}t}
|
|
\phantomsection\addcontentsline{toc}{subsubsection}{Goals for \textbf{\d{m}t}}
|
|
\newline
|
|
\newline
|
|
\input{\monthgoalsformat}
|
|
\newpage
|
|
}{}
|
|
}{}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Check if the note.tex file exists in the following example directory %
|
|
% EXM: 2022/05/14/note.tex %
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\IfFileExists{./\formatteddate/note.tex}{
|
|
\def\dayout{}
|
|
\def\dayouttotable{}
|
|
|
|
% Checking if it's the first day of the month
|
|
\ifthenelse{\equal{\d{d}0}{\string 01}}{
|
|
\def\dayout{\d{w}t the \d{d}-st of \d{m}t, \d{y}0}
|
|
\def\dayouttotable{\d{w}t the \d{d}0st of \d{m}t, \d{y}0}
|
|
}{
|
|
% Checking if it's the second day of the month
|
|
\ifthenelse{\equal{\d{d}0}{\string 02}}{
|
|
\def\dayout{\d{w}t the \d{d}-nd of \d{m}t, \d{y}0}
|
|
\def\dayouttotable{\d{w}t the \d{d}0nd of \d{m}t, \d{y}0}
|
|
}{
|
|
% Checking if it's the third day of the month
|
|
\ifthenelse{\equal{\d{d}0}{\string 03}}{
|
|
\def\dayout{\d{w}t the \d{d}-rd of \d{m}t, \d{y}0}
|
|
\def\dayouttotable{\d{w}t the \d{d}0rd of \d{m}t, \d{y}0}
|
|
}{
|
|
\def\dayout{\d{w}t the \d{d}-th of \d{m}t, \d{y}0}
|
|
\def\dayouttotable{\d{w}t the \d{d}0th of \d{m}t, \d{y}0}
|
|
}
|
|
}
|
|
}
|
|
|
|
\noteday{\dayout}
|
|
|
|
\vspace*{1em}
|
|
{\Large \dayout}
|
|
\emptyentry{./\formatteddate/note.tex}{\dayouttotable}{\todayformatted}
|
|
\begin{flushright}
|
|
\IfFileExists{./\formatteddate/note.xopp}{\hfill \xournal}{\hfill \\ }
|
|
\end{flushright}
|
|
\newpage
|
|
}{}
|
|
}
|
|
\end{document}
|