summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-02-25 01:22:00 +0000
committerKarl Berry <karl@freefriends.org>2020-02-25 01:22:00 +0000
commit149d9f3b39fc5846bb69c0f6917eec4d974f1e03 (patch)
tree2d00ad2b8867021ef3ac7b45fa3851c5335b9430
parent17ea4c24b987d526d95d6b72406341fab755b78d (diff)
pdfpc (25feb20)
git-svn-id: svn://tug.org/texlive/trunk@53902 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/pdfpc/README.md35
-rw-r--r--Master/texmf-dist/source/latex/pdfpc/pdfpc.dtx179
-rw-r--r--Master/texmf-dist/source/latex/pdfpc/pdfpc.ins38
-rw-r--r--Master/texmf-dist/tex/latex/pdfpc/pdfpc.sty140
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/pdfpc.tlpsrc0
7 files changed, 394 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/pdfpc/README.md b/Master/texmf-dist/doc/latex/pdfpc/README.md
new file mode 100644
index 00000000000..15d8df9ba3b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpc/README.md
@@ -0,0 +1,35 @@
+# pdfpc
+
+This packages allows to define additional meta data within
+the PDF file which can be interpreted by the pdf presenter
+console (pdfpc) program.
+
+## Dependencies
+
+`pdfpc` depends on these packages:
+[`kvoptions`](https://ctan.org/pkg/kvoptions),
+[`xstring`](https://ctan.org/pkg/xstring),
+[`pdfcomment`](https://ctan.org/pkg/pdfcomment),
+[`hyperxmp`](https://ctan.org/pkg/hyperxmp)
+
+## Usage
+
+It's best to read the [`pdfpc`](https://github.com/pdfpc/pdfpc) documentation
+for `pdfpc` integration.
+
+## License
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
diff --git a/Master/texmf-dist/source/latex/pdfpc/pdfpc.dtx b/Master/texmf-dist/source/latex/pdfpc/pdfpc.dtx
new file mode 100644
index 00000000000..4177554186b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/pdfpc/pdfpc.dtx
@@ -0,0 +1,179 @@
+%\iffalse
+%<*package>
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%</package>
+%\fi
+%\iffalse
+% Doc-Source file to use with LaTeX2e
+%
+% This file is part of pdfpc.
+% Copyright (C) 2020 Evgeny Stambulchik
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 3 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License along
+% with this program; if not, write to the Free Software Foundation, Inc.,
+% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+% -------------------------------------------------------------------------------------------
+%
+% Allow for defining some meta data and simple textual notes for use
+% with the pdfpc presentation application <https://pdfpc.github.io>.
+%
+% -------------------------------------------------------------------------------------------
+%
+% Inspired by Carsten Brandt's <https://github.com/cebe/pdfpc-latex-notes>.
+%
+% -------------------------------------------------------------------------------------------
+%
+% Please report bugs and other problems as well as suggestions for improvements
+% to the issue tracker at github <https://github.com/pdfpc/pdfpc/>
+%
+% -------------------------------------------------------------------------------------------
+%\fi
+%
+% Identify the package and force \LaTeXe:
+% \begin{macrocode}
+\ProvidesPackage{pdfpc}[2019/12/03 v0.2 PDFPC]
+\NeedsTeXFormat{LaTeX2e}
+% \end{macrocode}
+%
+% Require additional packages needed by \sty{pdfpc}:
+% \begin{macrocode}
+\RequirePackage{kvoptions}
+\RequirePackage{xstring}
+\RequirePackage{pdfcomment}
+\RequirePackage{hyperxmp}
+% \end{macrocode}
+%
+\SetupKeyvalOptions{
+ family=PDFPC,
+ prefix=PDFPC@
+}
+%
+\DeclareStringOption{duration}
+\DeclareStringOption{starttime}
+\DeclareStringOption{endtime}
+\DeclareStringOption{enduserslide}
+\DeclareStringOption{lastminutes}
+\DeclareBoolOption{overridenote}
+\DeclareStringOption{notesposition}
+\DeclareDefaultOption{\@unknownoptionerror}
+%
+\ProcessKeyvalOptions*
+%
+\ifx\PDFPC@duration\@empty
+\else
+ \IfInteger{\PDFPC@duration}{}
+ {\PackageWarningNoLine{pdfpc}{`duration' should be an integer}}%
+\fi
+%
+\ifx\PDFPC@duration\@empty
+\ifx\PDFPC@enduserslide\@empty
+\else
+ \IfInteger{\PDFPC@enduserslide}{}
+ {\PackageWarningNoLine{pdfpc}{`enduserslide' should be an integer}}%
+\fi
+%
+\ifx\PDFPC@duration\@empty
+\ifx\PDFPC@lastminutes\@empty
+\else
+ \IfInteger{\PDFPC@lastminutes}{}
+ {\PackageWarningNoLine{pdfpc}{`lastminutes' should be an integer}}%
+\fi
+%
+\ifPDFPC@overridenote
+ \renewcommand{\note}[2][]{%
+ \IfStrEq{#1}{item}%
+ % Imitate a bullet
+ {\pdfpcnote{* #2}}%
+ {\pdfpcnote{#2}}%
+ }%
+\fi
+%
+\def\pdfpc@notespositionauto{auto}%
+\ifx\PDFPC@notesposition\@empty%
+ \def\PDFPC@notesposition{auto}%
+\fi%
+%
+% Guesswork for beamer/pgfpages notes
+% \begin{macrocode}
+\ifx\PDFPC@notesposition\pdfpc@notespositionauto%
+ \def\PDFPC@notesposition{none}%
+ \def\pdfpc@onepaperheight{\paperheight}%
+ \def\pdfpc@twopaperheight{2\paperheight}%
+ \def\pdfpc@onepaperwidth{\paperwidth}%
+ \def\pdfpc@twopaperwidth{2\paperwidth}%
+ \def\pdfpc@pagecenter{\pgfpoint{.5\paperwidth}{.5\paperheight}}%
+
+ \ifx\pgfpageoptiontwoheight\pdfpc@onepaperheight%
+ \ifx\pgfpageoptiontwowidth\pdfpc@twopaperwidth%
+ \ifx\pgfpageoptionfirstcenter\pdfpc@pagecenter%
+ \def\PDFPC@notesposition{right}%
+ \else%
+ \def\PDFPC@notesposition{left}%
+ \fi%
+ \fi%
+ \fi%
+ \ifx\pgfpageoptiontwoheight\pdfpc@twopaperheight%
+ \ifx\pgfpageoptiontwowidth\pdfpc@onepaperwidth%
+ \ifx\pgfpageoptionfirstcenter\pdfpc@pagecenter%
+ \def\PDFPC@notesposition{top}%
+ \else%
+ \def\PDFPC@notesposition{bottom}%
+ \fi%
+ \fi%
+ \fi%
+\fi%
+% \end{macrocode}
+%
+% Our schema
+% \begin{macrocode}
+\newcommand*{\pdfpc@schema}{%
+ \hyxmp@add@to@xml{%
+______<rdf:Description xmlns:pdfpc="https://github.com/pdfpc/pdfpc">^^J%
+ }%
+ \hyxmp@add@simple{pdfpc:Duration}{\PDFPC@duration}%
+ \hyxmp@add@simple{pdfpc:StartTime}{\PDFPC@starttime}%
+ \hyxmp@add@simple{pdfpc:EndTime}{\PDFPC@endtime}%
+ \hyxmp@add@simple{pdfpc:EndUserSlide}{\PDFPC@enduserslide}%
+ \hyxmp@add@simple{pdfpc:LastMinutes}{\PDFPC@lastminutes}%
+ \hyxmp@add@simple{pdfpc:NotesPosition}{\PDFPC@notesposition}%
+ \hyxmp@add@to@xml{%
+______</rdf:Description>^^J%
+ }%
+}
+%
+% Piggybacking on the hyperxmp schema...
+% \begin{macrocode}
+\let\oldhyxmp@pdf@schema\hyxmp@pdf@schema
+\renewcommand{\hyxmp@pdf@schema}{{\oldhyxmp@pdf@schema}{\pdfpc@schema}}
+% \end{macrocode}
+
+% Note command
+% \begin{macrocode}
+\newcommand{\pdfpcnote}[1]{\pdfmargincomment{#1}}
+% \end{macrocode}
+%
+\endinput
diff --git a/Master/texmf-dist/source/latex/pdfpc/pdfpc.ins b/Master/texmf-dist/source/latex/pdfpc/pdfpc.ins
new file mode 100644
index 00000000000..905306c93e3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/pdfpc/pdfpc.ins
@@ -0,0 +1,38 @@
+\input docstrip
+
+\preamble
+ pdfpc.dtx
+ Copyright (C) 2020 Evgeny Stambulchik
+
+ This file is part of pdfpc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ This work consists of the files pdfpc.dtx, pdfpc.ins, and the derived file
+ pdfpc.sty
+
+\endpreamble
+
+\askforoverwritefalse
+
+\generate
+{%
+ \file{pdfpc.sty}{%
+ \usepreamble\defaultpreamble
+ \usepostamble\defaultpostamble
+ \from{pdfpc.dtx}{pdfpc.sty,package}%
+ }%
+}
+\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/pdfpc/pdfpc.sty b/Master/texmf-dist/tex/latex/pdfpc/pdfpc.sty
new file mode 100644
index 00000000000..da5332312d5
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pdfpc/pdfpc.sty
@@ -0,0 +1,140 @@
+%%
+%% This is file `pdfpc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pdfpc.dtx (with options: `pdfpc.sty,package')
+%% pdfpc.dtx
+%% Copyright (C) 2020 Evgeny Stambulchik
+%%
+%% This file is part of pdfpc.
+%%
+%% This program is free software; you can redistribute it and/or modify
+%% it under the terms of the GNU General Public License as published by
+%% the Free Software Foundation; either version 3 of the License, or
+%% (at your option) any later version.
+%%
+%% This program is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%% GNU General Public License for more details.
+%%
+%% You should have received a copy of the GNU General Public License along
+%% with this program; if not, write to the Free Software Foundation, Inc.,
+%% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+%%
+%% This work consists of the files pdfpc.dtx, pdfpc.ins, and the derived file
+%% pdfpc.sty
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesPackage{pdfpc}[2019/12/03 v0.2 PDFPC]
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{kvoptions}
+\RequirePackage{xstring}
+\RequirePackage{pdfcomment}
+\RequirePackage{hyperxmp}
+\SetupKeyvalOptions{
+ family=PDFPC,
+ prefix=PDFPC@
+}
+\DeclareStringOption{duration}
+\DeclareStringOption{starttime}
+\DeclareStringOption{endtime}
+\DeclareStringOption{enduserslide}
+\DeclareStringOption{lastminutes}
+\DeclareBoolOption{overridenote}
+\DeclareStringOption{notesposition}
+\DeclareDefaultOption{\@unknownoptionerror}
+\ProcessKeyvalOptions*
+\ifx\PDFPC@duration\@empty
+\else
+ \IfInteger{\PDFPC@duration}{}
+ {\PackageWarningNoLine{pdfpc}{`duration' should be an integer}}%
+\fi
+\ifx\PDFPC@duration\@empty
+\ifx\PDFPC@enduserslide\@empty
+\else
+ \IfInteger{\PDFPC@enduserslide}{}
+ {\PackageWarningNoLine{pdfpc}{`enduserslide' should be an integer}}%
+\fi
+\ifx\PDFPC@duration\@empty
+\ifx\PDFPC@lastminutes\@empty
+\else
+ \IfInteger{\PDFPC@lastminutes}{}
+ {\PackageWarningNoLine{pdfpc}{`lastminutes' should be an integer}}%
+\fi
+\ifPDFPC@overridenote
+ \renewcommand{\note}[2][]{%
+ \IfStrEq{#1}{item}%
+ % Imitate a bullet
+ {\pdfpcnote{* #2}}%
+ {\pdfpcnote{#2}}%
+ }%
+\fi
+\def\pdfpc@notespositionauto{auto}%
+\ifx\PDFPC@notesposition\@empty%
+ \def\PDFPC@notesposition{auto}%
+\fi%
+\ifx\PDFPC@notesposition\pdfpc@notespositionauto%
+ \def\PDFPC@notesposition{none}%
+ \def\pdfpc@onepaperheight{\paperheight}%
+ \def\pdfpc@twopaperheight{2\paperheight}%
+ \def\pdfpc@onepaperwidth{\paperwidth}%
+ \def\pdfpc@twopaperwidth{2\paperwidth}%
+ \def\pdfpc@pagecenter{\pgfpoint{.5\paperwidth}{.5\paperheight}}%
+
+ \ifx\pgfpageoptiontwoheight\pdfpc@onepaperheight%
+ \ifx\pgfpageoptiontwowidth\pdfpc@twopaperwidth%
+ \ifx\pgfpageoptionfirstcenter\pdfpc@pagecenter%
+ \def\PDFPC@notesposition{right}%
+ \else%
+ \def\PDFPC@notesposition{left}%
+ \fi%
+ \fi%
+ \fi%
+ \ifx\pgfpageoptiontwoheight\pdfpc@twopaperheight%
+ \ifx\pgfpageoptiontwowidth\pdfpc@onepaperwidth%
+ \ifx\pgfpageoptionfirstcenter\pdfpc@pagecenter%
+ \def\PDFPC@notesposition{top}%
+ \else%
+ \def\PDFPC@notesposition{bottom}%
+ \fi%
+ \fi%
+ \fi%
+\fi%
+\newcommand*{\pdfpc@schema}{%
+ \hyxmp@add@to@xml{%
+______<rdf:Description xmlns:pdfpc="https://github.com/pdfpc/pdfpc">^^J%
+ }%
+ \hyxmp@add@simple{pdfpc:Duration}{\PDFPC@duration}%
+ \hyxmp@add@simple{pdfpc:StartTime}{\PDFPC@starttime}%
+ \hyxmp@add@simple{pdfpc:EndTime}{\PDFPC@endtime}%
+ \hyxmp@add@simple{pdfpc:EndUserSlide}{\PDFPC@enduserslide}%
+ \hyxmp@add@simple{pdfpc:LastMinutes}{\PDFPC@lastminutes}%
+ \hyxmp@add@simple{pdfpc:NotesPosition}{\PDFPC@notesposition}%
+ \hyxmp@add@to@xml{%
+______</rdf:Description>^^J%
+ }%
+}
+\let\oldhyxmp@pdf@schema\hyxmp@pdf@schema
+\renewcommand{\hyxmp@pdf@schema}{{\oldhyxmp@pdf@schema}{\pdfpc@schema}}
+
+\newcommand{\pdfpcnote}[1]{\pdfmargincomment{#1}}
+\endinput
+%%
+%% End of file `pdfpc.sty'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 3ecb9d2bd84..5d7731d69e8 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -539,7 +539,7 @@ my @TLP_working = qw(
pdf-trans pdfarticle pdfbook2 pdfcolmk pdfcomment pdfcprot pdfcrop
pdfescape pdfjam
pdflatexpicscale pdflscape pdfmarginpar pdfoverlay
- pdfpagediff pdfpages pdfpc-movie pdfprivacy pdfreview
+ pdfpagediff pdfpages pdfpc pdfpc-movie pdfprivacy pdfreview
pdfscreen pdfslide pdfsync
pdftex-quiet pdftexcmds pdftricks pdftricks2 pdfx pdfxup
pecha pedigree-perl penrose perception perfectcut perltex
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index a8f1e875e44..bac454324b0 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -899,6 +899,7 @@ depend pdfcprot
depend pdfmarginpar
depend pdfoverlay
depend pdfpagediff
+depend pdfpc
depend pdfpc-movie
depend pdfprivacy
depend pdfreview
diff --git a/Master/tlpkg/tlpsrc/pdfpc.tlpsrc b/Master/tlpkg/tlpsrc/pdfpc.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/pdfpc.tlpsrc