diff --git a/pdfpc/README.md b/pdfpc/README.md index a34b2a7..661c3c1 100644 --- a/pdfpc/README.md +++ b/pdfpc/README.md @@ -10,10 +10,10 @@ console (pdfpc) program. [`kvoptions`](https://ctan.org/pkg/kvoptions), [`xstring`](https://ctan.org/pkg/xstring), [`iftex`](https://ctan.org/pkg/iftex), -[`hyperxmp`](https://ctan.org/pkg/hyperxmp) +[`hyperxmp`](https://ctan.org/pkg/hyperxmp), +[`stringenc`](https://ctan.org/pkg/stringenc) -When using LuaTeX, it additionally depends on these packages: -[`stringenc`](https://ctan.org/pkg/stringenc), +When using LuaTeX, it additionally depends on these package [`pdftexcmds`](https://ctan.org/pkg/pdftexcmds) ## Usage diff --git a/pdfpc/pdfpc-doc.tex b/pdfpc/pdfpc-doc.tex index f4b959c..a2b7e15 100644 --- a/pdfpc/pdfpc-doc.tex +++ b/pdfpc/pdfpc-doc.tex @@ -68,8 +68,9 @@ \section*{Dependencies and other requirements} It depends on the following packages: -\begin{multicols}{4}\sffamily\centering -kvoptions \\ xstring \\ iftex \\ hyperxmp +\begin{multicols}{3}\sffamily\centering +kvoptions \\ xstring \\ iftex \\ hyperxmp \\ stringenc \\ +pdftexcmds\footnote{Only when using Lua\LaTeX} \end{multicols} \section*{License} diff --git a/pdfpc/pdfpc.sty b/pdfpc/pdfpc.sty index decaed3..7ecdf2c 100644 --- a/pdfpc/pdfpc.sty +++ b/pdfpc/pdfpc.sty @@ -38,8 +38,8 @@ \RequirePackage{xstring} \RequirePackage{iftex} \RequirePackage{hyperxmp} +\RequirePackage{stringenc} \ifLuaTeX - \RequirePackage{stringenc} \RequirePackage{pdftexcmds} \fi % @@ -169,16 +169,42 @@ ______^^J% \relax% }% \else% + \def\pdfpc@hexnewlines#1#2#3#4#5\pdfpc@@end{% + \if\relax\detokenize{#5}\relax + #1#2#3#4% + \else + \ifnum"#1#2#3#4="005C + \pdfpc@hexnewlines@afterbs#5\pdfpc@@end + \else + #1#2#3#4\pdfpc@hexnewlines#5\pdfpc@@end + \fi + \fi + } + \def\pdfpc@hexnewlines@afterbs#1#2#3#4#5\pdfpc@@end{% + \if\relax\detokenize{#5}\relax + \ifnum"#1#2#3#4="005C + 000A% + \else + 005C#1#2#3#4% + \fi + \else + \ifnum"#1#2#3#4="005C + 000A\pdfpc@hexnewlines#5\pdfpc@@end + \else + 005C#1#2#3#4\pdfpc@hexnewlines#5\pdfpc@@end + \fi + \fi + } \ifLuaTeX% \protected\def\pdfannot {\pdfextension annot }% \newcommand{\pdfpcnote}[1]{% \edef\tmp@a{\pdf@escapehexnative{#1}} \expandafter\SE@ConvertFrom\expandafter\tmp@a\expandafter{\tmp@a}{utf8} + \edef\tmp@a{FEFF\tmp@a} {% - \edef\\{\string\n}% \pdfannot width 0pt height 0pt depth 0pt {% /Subtype /Text% - /Contents % + /Contents <\expandafter\pdfpc@hexnewlines\tmp@a\pdfpc@@end>% /F 6% }% }%