diff options
author | Norbert Preining <norbert@preining.info> | 2023-08-22 03:01:06 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-08-22 03:01:06 +0000 |
commit | cf3e954514eb50bea0335bdc97d6b76f80f5d03e (patch) | |
tree | 84960c9724915fd64626f3b8c532a671ea7e87f2 /macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx | |
parent | f4e4c48e897bec27fd8d07ba278c03c6f0c64336 (diff) |
CTAN sync 202308220301
Diffstat (limited to 'macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx')
-rw-r--r-- | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx | 52 |
1 files changed, 46 insertions, 6 deletions
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx index 8996d74131..9f1ddc8e78 100644 --- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx +++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx @@ -49,7 +49,7 @@ % }^^A % } % -% \date{Version 0.95x, released 2023-03-09} +% \date{Version 0.95y, released 2023-08-20} % % \maketitle % \begin{documentation} @@ -126,7 +126,7 @@ % if the management is active. % \begin{function}[updated = 2020-07-03] % { -% \pdf_bdc:nn +% \pdf_bdc:nn, \pdf_bdc:ee % } % \begin{syntax} % \cs{pdf_bdc:nn} \Arg{tag} \Arg{dictionary content} @@ -139,8 +139,28 @@ % Without the resource management the content is used directly. It then % depends on the backend how it is handled: with dvips a name is used % while the pdfmode engines and dvipdfmx write the content into the stream. -% % \end{function} +% \begin{function}[added = 2023-08-18] +% { +% \pdf_bdc_shipout:ee +% } +% \begin{syntax} +% \cs{pdf_bdc_shipout:ee} \Arg{tag} \Arg{dictionary content} +% \end{syntax} +% This command adds a BDC marked content operator to the current page stream. +% \meta{tag} is the tag of this operator (without the leading slash), +% \meta{dictionary content} is the content of the second argument. +% +% Differently to \cs{pdf_bdc:ee} the arguments are not expanded when the +% command is \emph{used}, but only at \emph{shipout}. +% This requires new engines which +% allow to use the keyword \texttt{shipout} with the primitive +% \cs{special} and \cs{pdfliteral}. The content of \meta{dictionary content} +% is added in the stream. +% +% The command requires current engines and is not defined if an to old engine is detected! +% \end{function} +% % \begin{function}[added = 2020-07-03] % { % \pdf_bdcobject:nn @@ -211,7 +231,7 @@ % % \begin{macrocode} %<*header> -\ProvidesExplPackage{l3pdftools}{2023-03-09}{0.95x} +\ProvidesExplPackage{l3pdftools}{2023-08-20}{0.95y} {candidate commands for l3pdf---LaTeX PDF management testphase bundle} %</header> % \end{macrocode} @@ -252,11 +272,15 @@ % \end{macrocode} % \begin{macro}{\pdf_string_from_unicode:nnN} % \begin{macrocode} +\msg_new:nnn {pdfmanagement}{ unknown-convert} + { + Unknown~string~conversion~method~'#1'! + } \cs_new:Npn \pdf_string_from_unicode:nnN #1 #2 #3 { \cs_if_exist_use:cF { @@_string_from_unicode_#1:nN } { - \__kernel_msg_error:nnn { pdf } { unknown-convert } {#1} + \msg_error:nnn { pdf } { unknown-convert } {#1} \use_none:nn } { #2 } #3 @@ -405,13 +429,28 @@ % \end{macro} % % \subsubsection{BDC operator commands} -% \begin{macro}{\pdf_bdc:nn} +% \begin{macro}{\pdf_bdc:nn,\pdf_bdc:ee} +% \begin{macro}{\pdf_bdc_shipout:ee} % \begin{macro}{\pdf_bdcobject:nn} % \begin{macro}{\pdf_bdcobject:n} % \begin{macro}{\pdf_bmc:n} % \begin{macro}{\pdf_emc:} % \begin{macrocode} \cs_new_protected:Npn \pdf_bdc:nn #1 #2 { \@@_backend_bdc:nn { #1 }{ #2 } } +\cs_generate_variant:Nn \pdf_bdc:nn {ee} + +\cs_new_protected:Npn \pdf_bdc_shipout:ee #1 #2 + { + \bool_if:NTF\l__pdfmanagement_delayed_shipout_bool + { + \@@_backend_bdc_shipout:ee { #1 }{ #2 } + \cs_gset_eq:NN \pdf_bdc_shipout:ee \@@_backend_bdc_shipout:ee + } + { + \msg_error:nn {pdfmanagement}{delayed-shipout} + \cs_gset_eq:NN \pdf_bdc_shipout:ee \use_none:nn + } + } \cs_new_protected:Npn \pdf_bdcobject:nn #1 #2 { \@@_backend_bdcobject:nn { #1 }{ #2 } } \cs_new_protected:Npn \pdf_bdcobject:n #1 { \@@_backend_bdcobject:n { #1 } } \cs_new_protected:Npn \pdf_bmc:n #1 { \@@_backend_bmc:n { #1 } } @@ -422,6 +461,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % \begin{macrocode} %</package> % \end{macrocode} |