[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.