[latex3-commits] [git/LaTeX3-latex3-pdfresources] backendtest: removing get commands, cleaning up (21a5d8b)

Ulrike Fischer fischer at troubleshooting-tex.de
Mon Jun 10 22:22:44 CEST 2019


Repository : https://github.com/latex3/pdfresources
On branch  : backendtest
Link       : https://github.com/latex3/pdfresources/commit/21a5d8b98e68490bb4533469d989bb6196c298ba

>---------------------------------------------------------------

commit 21a5d8b98e68490bb4533469d989bb6196c298ba
Author: Ulrike Fischer <fischer at troubleshooting-tex.de>
Date:   Mon Jun 10 22:22:44 2019 +0200

    removing get commands, cleaning up


>---------------------------------------------------------------

21a5d8b98e68490bb4533469d989bb6196c298ba
 pdfresources.dtx |   66 +++++++++++++++++++++++++++++++++---------------------
 1 file changed, 41 insertions(+), 25 deletions(-)

diff --git a/pdfresources.dtx b/pdfresources.dtx
index 4fcaac6..69495da 100644
--- a/pdfresources.dtx
+++ b/pdfresources.dtx
@@ -35,7 +35,7 @@
 %<*package>
 \RequirePackage{xparse,l3pdf}
 %\RequirePackage{tmpl3shipout}
-\RequirePackage{atbegshi}
+\RequirePackage{atbegshi,zref-lastpage}
 \ProvidesExplPackage {pdfresources} {2019-03-17} {0.1}
   {experimental pdf-resource management}
 \DeclareOption { debug }
@@ -203,6 +203,15 @@
       {#1}
   }
 
+%dvips
+\bool_if:nT {\sys_if_engine_pdftex_p: && !\sys_if_output_pdf_p: }
+{
+ \cs_new_protected:Npx \@@_backend_pagesattr:n #1
+  {
+    \tex_special:D{ps:~[#1~/PAGES~pdfmark}
+  }
+}
+
 %does this make sense in view that nothing similar for dvips/dvipdfmx exists?
  \cs_new_protected:Npn \@@_backend_pagesattr_get:N #1
   {
@@ -250,7 +259,7 @@
 %    \begin{macrocode}
 %<*package>
 %% backend commands
-\bool_if:nT {\sys_if_engine_pdftex_p: && \sys_if_output_pdf_p: }
+\bool_if:nT {\sys_if_engine_pdftex_p: && \sys_if_output_pdf_p: || \sys_if_engine_luatex_p: }
  {
  %definition works also for luatex
  \cs_new_protected:Npx \@@_backend_pageattr:n #1
@@ -261,38 +270,19 @@
       { \tex_pdfvariable:D pageattr }
       {#1}
   }
-
- \cs_new_protected:Npn \@@_backend_pageattr_get:N #1
- {
-   \tl_set:Nx #1 {\tex_the:D \tex_pdfpageattr:D}
  }
-}
 
-\sys_if_engine_luatex:T
-{
-  \cs_new_protected:Npx \@@_backend_pageattr:n #1
-  {
-    \exp_not:N \tex_global:D
-    \cs_if_exist:NTF \tex_pdfpageattr:D
-      { \tex_pdfpageattr:D }
-      { \tex_pdfvariable:D pageattr }
-      {#1}
-  }
-  \cs_new_protected:Npn \@@_backend_pageattr_get:N #1
-  {
-   \tl_set:Nx #1 {\tex_the:D \tex_pdfvariable:D pageattr}
-  }
-}
+
 %</package>
 %    \end{macrocode}
 % \subsection{backend / pageresources}
-% \begin{NOTE}{UF} Implementation for dvips missing, for xetex untested.
+% \begin{NOTE}{UF} Implementation for dvips missing (perhaps impossible ...), for xetex untested.
 % \enquote{Correct} content needed at every shipout
 % \end{NOTE}
 %    \begin{macrocode}
 %<*package>
 % backend commands the command to fill the register
-\bool_if:nT { \sys_if_engine_pdftex_p: || \sys_if_engine_luatex_p: }
+\bool_if:nT { (\sys_if_engine_pdftex_p: && \sys_if_output_pdf_p:) || \sys_if_engine_luatex_p: }
 {
  \cs_new_protected:Npx \@@_backend_pageresources:n #1
   {
@@ -312,6 +302,7 @@
   }
 }
 
+%dvips missing
 %</package>
 %    \end{macrocode}
 %
@@ -319,7 +310,32 @@
 %
 %
 % \section{Management code}
-%
+% \subsection{page wise managment in shipouthook}
+% For now until expl3/kernel interface exists code is added with atbegshi:
+%    \begin{macrocode}
+%<*package>
+\AtBeginShipout
+ {
+  \AtBeginShipoutAddToBox
+  {
+   \@@_shipout_hook_code:
+  }
+ }
+\int_new:N \g_@@_abspage_int
+\cs_new_protected:Npn \@@_shipout_hook_code:
+ {
+  \int_gincr:N \g_@@_abspage_int
+  \int_compare:nNnT { \g_@@_abspage_int }={\zref at extractdefault{LastPage}{abspage}{0}}
+  {
+   \@@_lastpage_hook_code:
+  }
+ }
+\cs_new_protected:Npn \@@_lastpage_hook_code:
+ {
+
+ }
+%</package>
+%    \end{macrocode}
 % \subsection{ management / pagesattr }
 % \begin{NOTE}{UF}
 % The register is normally used only a few times in a document, so it would be





More information about the latex3-commits mailing list