diff --git a/.github/workflows/latex.yml b/.github/workflows/latex.yml index a70a0f7..260d3b7 100644 --- a/.github/workflows/latex.yml +++ b/.github/workflows/latex.yml @@ -72,7 +72,7 @@ jobs: asset_name: thesis.pdf asset_content_type: application/pdf - name: Upload Release Asset - id: upload-release-asset + id: upload-release-asset-slides uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/talk/pdfpcnotes.sty b/talk/pdfpcnotes.sty new file mode 100644 index 0000000..7e1c71f --- /dev/null +++ b/talk/pdfpcnotes.sty @@ -0,0 +1,70 @@ +\ProvidesPackage{pdfpcnotes} + +% Handling of kv parameters. +% We have the following options, that all take time in the HH:MM format +\RequirePackage{kvoptions} +\SetupKeyvalOptions{ + family=PDFPC, + prefix=PDFPC@ +} +\DeclareStringOption{duration} +\DeclareStringOption{starttime} +\DeclareStringOption{endtime} +\DeclareStringOption{lastminutes} +\DeclareStringOption{fontsize} + +\ProcessKeyvalOptions* + +% Small macro to make inserting options easier. +\newcommand\PDFPC@option[2]{ + \ifx#2\@empty\else + \immediate\write\pdfpcnotesfile{[#1]}% + \immediate\write\pdfpcnotesfile{#2}% + \fi +} + +% create a new file handle +\newwrite\pdfpcnotesfile + +% open file on \begin{document} +\AtBeginDocument{% + \immediate\openout\pdfpcnotesfile\jobname.pdfpc\relax + \PDFPC@option{duration}{\PDFPC@duration} + \PDFPC@option{start_time}{\PDFPC@starttime} + \PDFPC@option{end_time}{\PDFPC@endtime} + \PDFPC@option{last_minutes}{\PDFPC@lastminutes} + \PDFPC@option{font_size}{\PDFPC@fontsize} + \immediate\write\pdfpcnotesfile{[notes]} +} +% define a # http://tex.stackexchange.com/a/37757/10327 +\begingroup + \catcode`\#=12 + \gdef\hashchar{#}% +\endgroup + + +\def\lastframenumber{0} + +% define command \pnote{} that works like note but +% additionally writes notes to file in pdfpc readable format +\newcommand{\pnote}[1]{% + % keep normal notes working + \note{#1}% + + % if frame changed - write a new header + \ifdim\theframenumber pt>\lastframenumber pt + \let\lastframenumber\theframenumber + \begingroup + \let\#\hashchar + \immediate\write\pdfpcnotesfile{\#\#\# \theframenumber}% + \endgroup + \fi + + % write note to file + \immediate\write\pdfpcnotesfile{\unexpanded{#1}}% +} +% close file on \end{document} +\AtEndDocument{% + \immediate\closeout\pdfpcnotesfile +} +