summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3backend
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-05-08 03:02:15 +0000
committerNorbert Preining <norbert@preining.info>2020-05-08 03:02:15 +0000
commit8b5866024fec68c13a91973cc6cfc2cb5697baba (patch)
tree6abad841dced763b6ee50ae5bb83fc50d8816ca1 /macros/latex/contrib/l3backend
parent56bd1f5b8377f54b4af39a114362a7762d27f13c (diff)
CTAN sync 202005080302
Diffstat (limited to 'macros/latex/contrib/l3backend')
-rw-r--r--macros/latex/contrib/l3backend/CHANGELOG.md11
-rw-r--r--macros/latex/contrib/l3backend/README.md2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-basics.dtx12
-rw-r--r--macros/latex/contrib/l3backend/l3backend-box.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-code.pdfbin741266 -> 743243 bytes
-rw-r--r--macros/latex/contrib/l3backend/l3backend-color.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-draw.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-graphics.dtx4
-rw-r--r--macros/latex/contrib/l3backend/l3backend-header.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-pdf.dtx65
10 files changed, 83 insertions, 19 deletions
diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/contrib/l3backend/CHANGELOG.md
index 920e730ce8..ffd7ae74c0 100644
--- a/macros/latex/contrib/l3backend/CHANGELOG.md
+++ b/macros/latex/contrib/l3backend/CHANGELOG.md
@@ -6,6 +6,14 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-05-05]
+
+### Added
+- `\__pdf_backend_pageobject_ref:n`
+
+### Changed
+- Extend PDF compression control to `dvips`
+
## [2020-03-12]
### Fixed
@@ -61,7 +69,8 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2020-03-12...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-05-05...HEAD
+[2020-05-05]: https://github.com/latex3/latex3/compare/2020-03-12...2020-05-05
[2020-03-12]: https://github.com/latex3/latex3/compare/2020-02-23...2020-03-12
[2020-02-23]: https://github.com/latex3/latex3/compare/2020-02-21...2020-02-23
[2020-02-21]: https://github.com/latex3/latex3/compare/2020-02-03...2020-02-21
diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/contrib/l3backend/README.md
index 370b2a991e..8871160d12 100644
--- a/macros/latex/contrib/l3backend/README.md
+++ b/macros/latex/contrib/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2020-03-12
+Release 2020-05-05
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
diff --git a/macros/latex/contrib/l3backend/l3backend-basics.dtx b/macros/latex/contrib/l3backend/l3backend-basics.dtx
index 1ab76b974d..71085fb1ba 100644
--- a/macros/latex/contrib/l3backend/l3backend-basics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-03-12}
+% \date{Released 2020-05-05}
%
% \maketitle
%
@@ -71,23 +71,23 @@
%<*package>
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2020-03-12}{}
+ {l3backend-dvipdfmx.def}{2020-05-05}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2020-03-12}{}
+ {l3backend-dvips.def}{2020-05-05}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2020-03-12}{}
+ {l3backend-dvisvgm.def}{2020-05-05}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*pdfmode>
- {l3backend-pdfmode.def}{2020-03-12}{}
+ {l3backend-pdfmode.def}{2020-05-05}{}
{L3 backend support: PDF mode}
%</pdfmode>
%<*xdvipdfmx>
- {l3backend-xdvipdfmx.def}{2020-03-12}{}
+ {l3backend-xdvipdfmx.def}{2020-05-05}{}
{L3 backend support: xdvipdfmx}
%</xdvipdfmx>
%</package>
diff --git a/macros/latex/contrib/l3backend/l3backend-box.dtx b/macros/latex/contrib/l3backend/l3backend-box.dtx
index 8a855c54c8..5544192ea6 100644
--- a/macros/latex/contrib/l3backend/l3backend-box.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-03-12}
+% \date{Released 2020-05-05}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/contrib/l3backend/l3backend-code.pdf
index e15a5040e0..890efdb4d2 100644
--- a/macros/latex/contrib/l3backend/l3backend-code.pdf
+++ b/macros/latex/contrib/l3backend/l3backend-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/contrib/l3backend/l3backend-color.dtx
index 6381a09b93..faadeb83ad 100644
--- a/macros/latex/contrib/l3backend/l3backend-color.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-03-12}
+% \date{Released 2020-05-05}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/contrib/l3backend/l3backend-draw.dtx
index 88114fec28..f1d83363db 100644
--- a/macros/latex/contrib/l3backend/l3backend-draw.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-03-12}
+% \date{Released 2020-05-05}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
index e6ca664660..f986a2d1a7 100644
--- a/macros/latex/contrib/l3backend/l3backend-graphics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-03-12}
+% \date{Released 2020-05-05}
%
% \maketitle
%
@@ -166,7 +166,7 @@
\graphics_bb_restore:xF { #1 \l_@@_graphics_attr_tl }
{ \@@_backend_getbb_auxii:n {#1} }
}
-% \begin{macrocode}
+% \end{macrocode}
% Measuring the graphic is done by boxing up: for PDF graphics we could
% use |\tex_pdfximagebbox:D|, but if doesn't work for other types.
% As the box always starts at $(0,0)$ there is no need to worry about
diff --git a/macros/latex/contrib/l3backend/l3backend-header.dtx b/macros/latex/contrib/l3backend/l3backend-header.dtx
index 490d552233..b3c7f0527e 100644
--- a/macros/latex/contrib/l3backend/l3backend-header.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-header.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-03-12}
+% \date{Released 2020-05-05}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
index 14496bbc89..95d1cc6530 100644
--- a/macros/latex/contrib/l3backend/l3backend-pdf.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-03-12}
+% \date{Released 2020-05-05}
%
% \maketitle
%
@@ -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,
@@ -263,7 +271,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_annotation:nnnn #1#2#3#4
{
- \exp_args:Nf \@@_backend_annotation_aux:nnnn
+ \exp_args:Nf \@@_backend_annotation_aux:nnnn
{ \dim_eval:n {#1} } {#2} {#3} {#4}
}
\cs_new_protected:Npn \@@_backend_annotation_aux:nnnn #1#2#3#4
@@ -666,10 +674,32 @@
%
% \begin{macro}{\@@_backend_compresslevel:n}
% \begin{macro}{\@@_backend_compress_objects:n}
-% These are all no-ops.
+% Doable for the usual \texttt{ps2pdf} method.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_compresslevel:n #1 { }
-\cs_new_protected:Npn \@@_backend_compress_objects:n #1 { }
+\cs_new_protected:Npn \@@_backend_compresslevel:n #1
+ {
+ \int_compare:nNnT {#1} = 0
+ {
+ \__kernel_backend_literal_postscript:n
+ {
+ /setdistillerparams ~ where
+ { pop << /CompressPages ~ false >> setdistillerparams }
+ if
+ }
+ }
+ }
+\cs_new_protected:Npn \@@_backend_compress_objects:n #1
+ {
+ \bool_if:nF {#1}
+ {
+ \__kernel_backend_literal_postscript:n
+ {
+ /setdistillerparams ~ where
+ { pop << /CompressStreams ~ false >> setdistillerparams }
+ if
+ }
+ }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -998,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 \c_space_tl \c_space_tl \c_space_tl 0 ~ R
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \subsubsection{Structure}
%
% \begin{macro}{\@@_backend_compresslevel:n}
@@ -1240,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}
@@ -1498,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 { }
@@ -1507,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}
%