71 lines
1.7 KiB
Plaintext
71 lines
1.7 KiB
Plaintext
|
\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
|
||
|
}
|
||
|
|