[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