[latex3-commits] [git/LaTeX3-latex3-latex3] master: New function \__pdf_backend_pageobject_ref:n (ca3370c05)

Joseph Wright joseph.wright at morningstar2.co.uk
Mon Mar 16 23:22:57 CET 2020


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/ca3370c05126929889916bf7bac62811fe5c0db5

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

commit ca3370c05126929889916bf7bac62811fe5c0db5
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Mon Mar 16 22:22:57 2020 +0000

    New function \__pdf_backend_pageobject_ref:n


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

ca3370c05126929889916bf7bac62811fe5c0db5
 l3backend/CHANGELOG.md                  |  3 +++
 l3backend/l3backend-pdf.dtx             | 33 +++++++++++++++++++++++++++++++++
 l3kernel/testfiles/m3expl001.luatex.tlg |  1 +
 l3kernel/testfiles/m3expl001.ptex.tlg   |  1 +
 l3kernel/testfiles/m3expl001.tlg        |  1 +
 l3kernel/testfiles/m3expl001.uptex.tlg  |  1 +
 l3kernel/testfiles/m3expl001.xetex.tlg  |  1 +
 l3kernel/testfiles/m3expl003.luatex.tlg |  1 +
 l3kernel/testfiles/m3expl003.ptex.tlg   |  1 +
 l3kernel/testfiles/m3expl003.tlg        |  1 +
 l3kernel/testfiles/m3expl003.uptex.tlg  |  1 +
 l3kernel/testfiles/m3expl003.xetex.tlg  |  1 +
 12 files changed, 46 insertions(+)

diff --git a/l3backend/CHANGELOG.md b/l3backend/CHANGELOG.md
index c77c31594..2372d417b 100644
--- a/l3backend/CHANGELOG.md
+++ b/l3backend/CHANGELOG.md
@@ -6,6 +6,9 @@ this project uses date-based 'snapshot' version identifiers.
 
 ## [Unreleased]
 
+### Added
+- `\__pdf_backend_pageobject_ref:n`
+
 ### Changed
 - Extend PDF compression control to `dvips`
 
diff --git a/l3backend/l3backend-pdf.dtx b/l3backend/l3backend-pdf.dtx
index 6a60c4889..bf54819ee 100644
--- a/l3backend/l3backend-pdf.dtx
+++ b/l3backend/l3backend-pdf.dtx
@@ -227,6 +227,14 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}[EXP]{\@@_backend_pageobject_ref:n}
+%   Page references are easy in \texttt{dvips}.
+%    \begin{macrocode}
+\cs_new:Npn \@@_backend_pageobject_ref:n #1
+  { { Page #1 } }
+%    \end{macrocode}
+% \end{macro}
+%
 % \subsubsection{Annotations}
 %
 % In \texttt{dvips}, annotations have to be constructed manually. As such,
@@ -1020,6 +1028,20 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}[EXP]{\@@_backend_pageobject_ref:n}
+%   The usual wrapper situation.
+%    \begin{macrocode}
+\cs_new:Npx \@@_backend_pageobject_ref:n #1
+  {
+    \exp_not:N \int_value:w
+      \cs_if_exist:NTF \tex_pdffeedback:D
+        { \exp_not:N \tex_pdffeedback:D pageref }
+        { \exp_not:N \tex_pdfpageref:D }
+          \c_space_tl #1 ~ 0 ~ R
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 % \subsubsection{Structure}
 %
 % \begin{macro}{\@@_backend_compresslevel:n}
@@ -1262,6 +1284,14 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}[EXP]{\@@_backend_pageobject_ref:n}
+%   Page references are easy in \texttt{(x)dvipdfmx}.
+%    \begin{macrocode}
+\cs_new:Npn \@@_backend_pageobject_ref:n #1
+  { @page #1 }
+%    \end{macrocode}
+% \end{macro}
+%
 % \subsubsection{Annotations}
 %
 % \begin{variable}{\g_@@_landscape_bool}
@@ -1520,6 +1550,7 @@
 % \begin{macro}{\@@_backend_object_write:nn, , \@@_backend_object_write:nx}
 % \begin{macro}{\@@_backend_object_now:nn, , \@@_backend_object_now:nx}
 % \begin{macro}{\@@_backend_object_last:}
+% \begin{macro}[EXP]{\@@_backend_pageobject_ref:n}
 %   All no-ops here.
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_backend_object_new:nn #1#2 { }
@@ -1529,12 +1560,14 @@
 \cs_new_protected:Npn \@@_backend_object_now:nn #1#2 { }
 \cs_new_protected:Npn \@@_backend_object_now:nx #1#2 { }
 \cs_new:Npn \@@_backend_object_last: { }
+\cs_new:Npn \@@_backend_pageobject_ref:n #1 { }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % \subsubsection{Structure}
 %
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 3edc7102b..f2d221025 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -126,6 +126,7 @@ Defining \__pdf_exp_not_ii:nn on line ...
 Defining \__pdf_backend_object_now:nn on line ...
 Defining \__pdf_backend_object_now:nx on line ...
 Defining \__pdf_backend_object_last: on line ...
+Defining \__pdf_backend_pageobject_ref:n on line ...
 Defining \__pdf_backend_compresslevel:n on line ...
 Defining \__pdf_backend_compress_objects:n on line ...
 Defining \__pdf_backend_objcompresslevel:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index db3ece377..1250195ee 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -104,6 +104,7 @@ Defining \__pdf_backend_object_write_stream:nnn on line ...
 Defining \__pdf_backend_object_now:nn on line ...
 Defining \__pdf_backend_object_now:nx on line ...
 Defining \__pdf_backend_object_last: on line ...
+Defining \__pdf_backend_pageobject_ref:n on line ...
 Defining \l__pdf_backend_content_box on line ...
 \l__pdf_backend_content_box=\box...
 Defining \l__pdf_backend_model_box on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 3edc7102b..f2d221025 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -126,6 +126,7 @@ Defining \__pdf_exp_not_ii:nn on line ...
 Defining \__pdf_backend_object_now:nn on line ...
 Defining \__pdf_backend_object_now:nx on line ...
 Defining \__pdf_backend_object_last: on line ...
+Defining \__pdf_backend_pageobject_ref:n on line ...
 Defining \__pdf_backend_compresslevel:n on line ...
 Defining \__pdf_backend_compress_objects:n on line ...
 Defining \__pdf_backend_objcompresslevel:n on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index db3ece377..1250195ee 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -104,6 +104,7 @@ Defining \__pdf_backend_object_write_stream:nnn on line ...
 Defining \__pdf_backend_object_now:nn on line ...
 Defining \__pdf_backend_object_now:nx on line ...
 Defining \__pdf_backend_object_last: on line ...
+Defining \__pdf_backend_pageobject_ref:n on line ...
 Defining \l__pdf_backend_content_box on line ...
 \l__pdf_backend_content_box=\box...
 Defining \l__pdf_backend_model_box on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 435c93cd5..f6f310297 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -127,6 +127,7 @@ Defining \__pdf_backend_object_write_stream:nnnn on line ...
 Defining \__pdf_backend_object_now:nn on line ...
 Defining \__pdf_backend_object_now:nx on line ...
 Defining \__pdf_backend_object_last: on line ...
+Defining \__pdf_backend_pageobject_ref:n on line ...
 Defining \g__pdf_landscape_bool on line ...
 Defining \g__pdf_backend_annotation_int on line ...
 \g__pdf_backend_annotation_int=\count...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 3edc7102b..f2d221025 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -126,6 +126,7 @@ Defining \__pdf_exp_not_ii:nn on line ...
 Defining \__pdf_backend_object_now:nn on line ...
 Defining \__pdf_backend_object_now:nx on line ...
 Defining \__pdf_backend_object_last: on line ...
+Defining \__pdf_backend_pageobject_ref:n on line ...
 Defining \__pdf_backend_compresslevel:n on line ...
 Defining \__pdf_backend_compress_objects:n on line ...
 Defining \__pdf_backend_objcompresslevel:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index db3ece377..1250195ee 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -104,6 +104,7 @@ Defining \__pdf_backend_object_write_stream:nnn on line ...
 Defining \__pdf_backend_object_now:nn on line ...
 Defining \__pdf_backend_object_now:nx on line ...
 Defining \__pdf_backend_object_last: on line ...
+Defining \__pdf_backend_pageobject_ref:n on line ...
 Defining \l__pdf_backend_content_box on line ...
 \l__pdf_backend_content_box=\box...
 Defining \l__pdf_backend_model_box on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 3edc7102b..f2d221025 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -126,6 +126,7 @@ Defining \__pdf_exp_not_ii:nn on line ...
 Defining \__pdf_backend_object_now:nn on line ...
 Defining \__pdf_backend_object_now:nx on line ...
 Defining \__pdf_backend_object_last: on line ...
+Defining \__pdf_backend_pageobject_ref:n on line ...
 Defining \__pdf_backend_compresslevel:n on line ...
 Defining \__pdf_backend_compress_objects:n on line ...
 Defining \__pdf_backend_objcompresslevel:n on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index db3ece377..1250195ee 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -104,6 +104,7 @@ Defining \__pdf_backend_object_write_stream:nnn on line ...
 Defining \__pdf_backend_object_now:nn on line ...
 Defining \__pdf_backend_object_now:nx on line ...
 Defining \__pdf_backend_object_last: on line ...
+Defining \__pdf_backend_pageobject_ref:n on line ...
 Defining \l__pdf_backend_content_box on line ...
 \l__pdf_backend_content_box=\box...
 Defining \l__pdf_backend_model_box on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 435c93cd5..f6f310297 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -127,6 +127,7 @@ Defining \__pdf_backend_object_write_stream:nnnn on line ...
 Defining \__pdf_backend_object_now:nn on line ...
 Defining \__pdf_backend_object_now:nx on line ...
 Defining \__pdf_backend_object_last: on line ...
+Defining \__pdf_backend_pageobject_ref:n on line ...
 Defining \g__pdf_landscape_bool on line ...
 Defining \g__pdf_backend_annotation_int on line ...
 \g__pdf_backend_annotation_int=\count...





More information about the latex3-commits mailing list.