diff options
Diffstat (limited to 'macros/latex/contrib/tagpdf/tagpdf.dtx')
-rw-r--r-- | macros/latex/contrib/tagpdf/tagpdf.dtx | 50 |
1 files changed, 23 insertions, 27 deletions
diff --git a/macros/latex/contrib/tagpdf/tagpdf.dtx b/macros/latex/contrib/tagpdf/tagpdf.dtx index 51d67e2ae9..be718ec36d 100644 --- a/macros/latex/contrib/tagpdf/tagpdf.dtx +++ b/macros/latex/contrib/tagpdf/tagpdf.dtx @@ -92,7 +92,7 @@ % \begin{macrocode} %<@@=tag> %<*package> -\ProvidesExplPackage {tagpdf} {2022-08-06} {0.96} +\ProvidesExplPackage {tagpdf} {2022-08-24} {0.97} { A package to experiment with pdf tagging } \bool_if:nF @@ -118,7 +118,7 @@ % \end{macrocode} %<*debug> % \begin{macrocode} -\ProvidesExplPackage {tagpdf-debug} {2022-08-06} {0.96} +\ProvidesExplPackage {tagpdf-debug} {2022-08-24} {0.97} { debug code for tagpdf } \@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput} % \end{macrocode} @@ -159,7 +159,7 @@ % \end{macrocode} % \begin{macrocode} %<*base> -\ProvidesExplPackage {tagpdf-base} {2022-08-06} {0.96} +\ProvidesExplPackage {tagpdf-base} {2022-08-24} {0.97} {part of tagpdf - provide base, no-op versions of the user commands } %</base> % \end{macrocode} @@ -182,47 +182,43 @@ % \end{macrocode} % \section{Temporary code} % This is code which will be removed when proper support exists in LaTeX +% It writes only dictionaries! % \subsection{Faster object writing} -% % \begin{macrocode} %<*package> -\cs_if_free:NT \pdf_object_write_dict:nn - { - \cs_set_eq:NN \pdf_object_write_dict:nn \pdf_object_write:nn - } -\cs_generate_variant:Nn \pdf_object_write_dict:nn {nx} - -\str_if_eq:VnT \c_sys_backend_str {pdftex} +\cs_if_free:NT \pdf_object_write:nnn { - \cs_if_free:NT \__pdf_backend_object_write_dict:nn + \cs_new_protected:Npn \pdf_object_new:n #1 + { \pdf_object_new:nn{#1}{dict} } + \cs_new_protected:Npn \pdf_object_write:nnn #1#2#3 + { + \pdf_object_write:nn {#1}{#3} + } + \str_if_eq:VnT \c_sys_backend_str {pdftex} { - \cs_new_protected:Npn \__pdf_backend_object_write_dict:nn #1#2 - { + \cs_set_protected:Npn \pdf_object_write:nnn #1#2#3 + { \tex_immediate:D \tex_pdfobj:D - useobjnum ~ + useobjnum ~ \int_use:c { c__pdf_backend_object_ \tl_to_str:n {#1} _int } - { << ~ \exp_not:n {#2} ~ >> } - } - \cs_set_eq:NN \pdf_object_write_dict:nn \__pdf_backend_object_write_dict:nn + { << ~ \exp_not:n {#3} ~ >> } + } } - } - -\str_if_eq:VnT \c_sys_backend_str {luatex} - { - \cs_if_free:NT \__pdf_backend_object_write_dict:nn + \str_if_eq:VnT \c_sys_backend_str {luatex} { - \cs_new_protected:Npn \__pdf_backend_object_write_dict:nn #1#2 + \cs_set_protected:Npn \pdf_object_write:nnn #1#2#3 { \tex_immediate:D \tex_pdfextension:D obj ~ useobjnum ~ \int_use:c { c__pdf_backend_object_ \tl_to_str:n {#1} _int } - { << ~ \exp_not:n {#2} ~ >> } + { << ~ \exp_not:n {#3} ~ >> } } - \cs_set_eq:NN \pdf_object_write_dict:nn \__pdf_backend_object_write_dict:nn - } + } } +\cs_generate_variant:Nn \pdf_object_write:nnn {nnx} + %</package> % \end{macrocode} |