In (several) LaTeX documents I need to write about dates that I already have in Thunderbird so I can export them easily as ICS (iCalender) file. Copying them is very error prone, in particular if any date changes it is easy to forget updating one of the documents. So I am looking for a macro, that gets a date out of the ICS file by referring to the summary.
For example, in the document I would like to write:
\documentclass[11pt,a4paper]{article}
\begin{document}
The preliminary talk is on \getdate{preliminary talk}
Homework 0 has its deadline on \getdate{H0 registration}
For further corrections Homework 0 you have until \getdate{H0: correction/H1}
\end{document}
I would like to render it as:
\documentclass[11pt,a4paper]{article}
\begin{document}
The preliminary talk is on 9.\,3.\,2022
Homework 0 has its deadline on 16.\,3.\,2022
For further corrections Homework 0 you have until 23.\,3.\,2022
\end{document}
if the CM2022S edit.ics contains:
BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Vienna
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20220215T095816Z
LAST-MODIFIED:20220215T095832Z
DTSTAMP:20220215T095832Z
UID:b33238a0-2a5b-4f02-99ce-1b2bdf71db56
SUMMARY:preliminary talk
DTSTART;TZID=Europe/Vienna:20220309T090000
DTEND;TZID=Europe/Vienna:20220309T100000
TRANSP:OPAQUE
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;VALUE=DURATION:-PT15M
DESCRIPTION:Mozilla Standardbeschreibung
END:VALARM
END:VEVENT
BEGIN:VEVENT
CREATED:20220215T095835Z
LAST-MODIFIED:20220215T095928Z
DTSTAMP:20220215T095928Z
UID:35c68aee-d920-4904-a57e-39748911f548
SUMMARY:H0 registration
DTSTART;TZID=Europe/Vienna:20220316T235900
DTEND;TZID=Europe/Vienna:20220316T235900
TRANSP:OPAQUE
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;VALUE=DURATION:-PT15M
DESCRIPTION:Mozilla Standardbeschreibung
END:VALARM
END:VEVENT
BEGIN:VEVENT
CREATED:20220215T095835Z
LAST-MODIFIED:20220215T100118Z
DTSTAMP:20220215T100118Z
UID:f8b373d5-ffd2-49b0-8ad3-7d2bdd7b5eca
SUMMARY:H0: correction/H1
DTSTART;TZID=Europe/Vienna:20220323T235900
DTEND;TZID=Europe/Vienna:20220323T235900
TRANSP:OPAQUE
X-MOZ-GENERATION:2
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;VALUE=DURATION:-PT15M
DESCRIPTION:Mozilla Standardbeschreibung
END:VALARM
END:VEVENT
END:VCALENDAR
It should work with pdflatex -no-shell-escape pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian)
